Content Generation

MCP tools for generating SEO-optimized articles with built-in research, humanization, and internal linking.

Workflow Modes

Every article generation supports 4 workflow combinations via two simple flags:

auto_research humanize What Happens
true (default) false (default) Research + Generate — Web research runs first, then article is written using real data
true true Research + Generate + Humanize — Full pipeline: research, write, then anti-AI rewrite
false false Generate Solo — Skip research, generate from AI knowledge only
false true Generate + Humanize — No research, but humanize the output

Research is ON by default. You don't need to call research_topic separately. Just call generate_article or generate_batch and research runs automatically before writing.


Available Tools

Tool Description
generate_article Generate a single article from a keyword
generate_batch Generate multiple articles from a keyword list
list_models List all available AI models
list_articles Browse and search your article library
get_article Retrieve full content of a stored article

generate_article

Generate a single SEO-optimized article from a keyword. Research runs automatically before writing (can be disabled). The article is saved to your project's article library.

Parameters

Parameter Type Required Default Description
keyword string ✅ — Target keyword or topic
provider enum ❌ openai openai, claude, deepseek, grok, gemini, perplexity, kimi
model string ❌ Account default Specific model ID (e.g., gpt-5.2, claude-opus-4.5)
word_count number ❌ 2500 Target word count (500-10000)
temperature number ❌ 0.7 Generation temperature (0.0-1.0)
tone string ❌ — Writing tone (e.g., "professional", "casual")
auto_research boolean ❌ true Auto-run web research before writing. Uses Perplexity Sonar Pro or best available provider. Set false to skip.
humanize boolean ❌ false Run 20-rule anti-AI detection pass after generation
research_context string ❌ — Pre-fetched research data. If provided with auto_research: true, this is used instead of running new research.
include_knowledge_base boolean ❌ true Include project knowledge base context
internal_linking boolean ❌ true Apply internal linking from project settings
max_internal_links number ❌ 5 Max internal links to include (1-10)
sitemap_url string ❌ — Override: fetch this sitemap for link candidates
link_candidates string[] ❌ — Override: provide URLs for internal linking directly
project_id string ❌ Active project Target project

Example Prompts

Default workflow (research + generate):

Generate an article about "best CRM software for small businesses"

Research runs automatically, then writes using real data.

Full pipeline (research + generate + humanize):

Generate a 3000-word article about "docker compose tutorial" 
using claude-opus-4.5 with humanize enabled

Skip research (generate solo):

Generate an article about "email marketing tips" 
with auto_research disabled

With internal linking:

Generate an article about "email marketing tips" with internal linking 
from sitemap https://myblog.com/post-sitemap.xml

Internal Linking Priority Chain

When internal_linking is enabled, link candidates are resolved in this order:

  1. link_candidates (inline array takes top priority)
  2. sitemap_url (fetched on-the-fly)
  3. Project settings (pre-configured sitemap)

Response

{
  "status": "success",
  "article_id": "a1b2c3d4-...",
  "persisted": true,
  "article": {
    "title": "Best CRM Software for Small Businesses in 2026",
    "keyword": "best CRM software for small businesses",
    "slug": "best-crm-software-for-small-businesses-in-2026",
    "content": "# Best CRM Software for Small Businesses in 2026\n\n...",
    "meta_description": "Compare the top CRM platforms...",
    "word_count": 2847,
    "model": "gpt-5.2",
    "provider": "openai",
    "humanized": false,
    "research_provider": "perplexity",
    "citations": [
      "https://www.gartner.com/reviews/market/crm-2026",
      "https://www.pcmag.com/picks/best-crm-software"
    ]
  }
}

generate_batch

Generate multiple articles from a list of keywords. Each keyword gets its own research phase before writing. Processes sequentially with progress reporting.

Parameters

Parameter Type Required Default Description
keywords string[] ✅ — Array of keywords to generate articles for
provider enum ❌ openai AI provider
model string ❌ Account default Specific model ID
word_count number ❌ 2500 Target word count
temperature number ❌ 0.7 Generation temperature
tone string ❌ — Writing tone
auto_research boolean ❌ true Auto-run research per keyword before writing.
humanize boolean ❌ false Run anti-AI detection pass on each article
include_knowledge_base boolean ❌ true Include KB context
internal_linking boolean ❌ true Apply internal linking
max_internal_links number ❌ 5 Max internal links (1-10)
cross_linking boolean ❌ true Auto-link articles in this batch to each other
cross_linking_base_url string ❌ Auto-detect Base URL for cross-link assembly
max_cross_links number ❌ 3 Max cross-links per article (1-10)
delay_between_articles number ❌ 5 Seconds between articles (rate limit protection)
project_id string ❌ Active project Target project

How Batch Works

For each keyword in the list, the batch tool runs the same pipeline as generate_article:

Keyword 1: "best project management tools"
  ├── 🔬 Research (Perplexity Sonar Pro)
  ├── 📝 Generate (with research + KB + links)
  ├── ✨ Humanize (if enabled)
  └── 💾 Save to article library

  ⏳ 5s cooldown

Keyword 2: "agile vs waterfall methodology"
  ├── 🔬 Research
  ├── 📝 Generate
  ├── ✨ Humanize (if enabled)
  └── 💾 Save

  ... and so on

Example Prompts

Full research batch:

Generate articles for these keywords using gemini-3-pro-preview:
- best project management tools
- agile vs waterfall methodology
- remote team collaboration tips
- sprint planning best practices

Fast batch (skip research):

Generate articles for these 10 keywords with auto_research disabled 
and humanize enabled, using claude-sonnet-4.5

Response

{
  "status": "completed",
  "total": 4,
  "completed": 4,
  "failed": 0,
  "elapsed_minutes": 8.5,
  "provider": "gemini",
  "model": "gemini-3-pro-preview",
  "results": [
    {
      "keyword": "best project management tools",
      "status": "success",
      "title": "Best Project Management Tools in 2026",
      "slug": "best-project-management-tools-in-2026",
      "word_count": 2634,
      "content_preview": "# Best Project Management Tools in 2026...",
      "citations": ["https://...", "https://..."]
    }
  ]
}

Error Handling

  • Individual keyword failures don't stop the batch
  • If 3+ articles fail consecutively, the batch halts to save API tokens
  • Failed articles are reported with error details

Article Library

Every generated article is automatically saved. No content loss.

list_articles

Parameter Type Required Default Description
project_id string ❌ Active project Which project
search string ❌ — Search by keyword, title, or content
status string ❌ all Filter: completed, error, all
source string ❌ all Filter: mcp, web, all
limit number ❌ 20 Results per page (max 200)
offset number ❌ 0 Pagination offset

get_article

Parameter Type Required Description
article_id string ✅ The article UUID from list_articles

list_models

List all available AI models, optionally filtered by provider.

Parameter Type Required Default Description
provider enum ❌ All Filter by provider

Processing Pipeline

Every article passes through these stages (in order):

  1. 🔬 Research (if auto_research: true) — Live web search with citations
  2. 📚 Knowledge Base Injection — Project KB items prepended to system prompt
  3. 🔗 Internal Linking — Sitemap URLs injected as link candidates
  4. 🔗 Cross-Linking (batch only) — Sibling article URLs shuffled and injected
  5. 📝 Generation — AI writes the article using all context
  6. ✨ Humanization (if humanize: true) — 20-rule anti-AI detection rewrite
  7. 📋 Meta Extraction — META_DESCRIPTION: lines extracted into fields
  8. 💾 Persistence — Article saved to project library

Next Steps