[ MCP SERVER ]

Use CommandSEO inside Cursor, Claude & VS Code

CommandSEO runs a real MCP server: connect a campaign once, and your tasks, findings, and content drafts are tool calls away inside your editor — no tab-switching to check what to fix next.

Live — POST /api/mcp
● live
Free, read-only tools; one write
● live
Campaign-scoped token, revocable anytime
● live
Connect in under a minute
mcp.json
{
  "mcpServers": {
    "commandseo": {
      "url": "https://api.commandseo.app/api/mcp",
      "headers": { "Authorization": "Bearer <YOUR_TOKEN>" }
    }
  }
}

1. Open /mcp/authorize while signed in, pick a campaign, and create a token. 2. Paste it into your MCP client's config as a Bearer token against the endpoint below.

  • Claude Desktop
  • Claude Code
  • Cursor
  • VS Code

The token is scoped to that ONE campaign — it can't see or touch any other campaign in your workspace, and you can revoke it anytime without affecting your login session.

get_tasks + get_findings

Not a to-do list. A to-do list with a reason attached.

Most integrations hand an agent a checklist: "Add an H1." CommandSEO hands it the checklist AND the diagnosis behind every line — so your agent (or you) understands why a change matters before making it, not just what to type.

get_tasks → the committed work

Add a single H1

recommendedValue
"Roofing Services in Manila | Phoenix"
priority: high · status: open
get_findings → the reasoning behind it

Missing H1

No <h1> found; the page opens straight into body copy — a weak relevance signal for both Google and an AI engine skimming the page.

aspect: onpage · severity: high

Same path, same task — findings and tasks are linked by page, not two disconnected lists.

That's the difference between an agent that blindly executes a checklist and one that can explain — to you, or to a client — why the change was worth making.

Five tools, real data No scraping, no guessing which fields matter — the same data that powers the CommandSEO canvas, as MCP tool calls.
01

get_findings

The diagnosis behind each task — which checklist aspect, what's wrong, how severe. Filter by page path.

02

get_tasks

The itemized to-do list — scope, page path, the exact recommended change, priority, status. Filter by status.

03

get_artifacts

The Writer's publish-ready content drafts, one per page, as Markdown or JSON.

04

mark_task_done

Complete a task from your editor, the same as ticking it in CommandSEO. Free — no AI call. Tenant-checked: a token can only ever touch its own campaign.

05

run_command

Trigger a real CommandSEO command — an analysis, writing a page — the same orchestrator the app uses. This spends credits from the campaign's workspace, exactly like running that command in the app.

What a tool call returns get_findings on a real campaign — trimmed, not fabricated.
tools/call → get_findings
{
  "findings": [
    {
      "path": "/services/roofing",
      "aspect": "onpage",
      "summary": "Missing H1",
      "detail": "No <h1> found; the page opens straight into body copy.",
      "severity": "critical",
      "dedupeKey": "onpage:missing_h1"
    },
    {
      "path": "/services/roofing",
      "aspect": "technical",
      "summary": "No canonical tag",
      "detail": "Duplicate content risk with /services/roof-repair.",
      "severity": "important",
      "dedupeKey": "technical:missing_canonical"
    }
  ]
}
Why this was straightforward to ship

CommandSEO already kept every campaign's tasks and findings clean, well-scoped, and API-addressable — stable ids, a unified work model, content linked to the task it came from. The MCP server is a thin protocol wrapper (JSON-RPC 2.0, MCP's Streamable HTTP transport) over data that already existed. Auth reuses the same campaign-scoped, revocable, hash-only token pattern behind our WordPress plugin, not a new security model invented from scratch. See everything CommandSEO checks →

What's next
  1. 01

    More write tools

    Beyond marking a task done — accept a content draft, kick off a re-verify, straight from your editor.

  2. 02

    Settings → Connectors

    Manage every connected token from inside the app (list, label, revoke) — today it's minted from the bare /mcp/authorize page; the in-app panel is landing next.

  3. 03

    Cross-campaign tools

    A workspace-scoped token for agencies working across many campaigns at once, instead of one token per campaign.

Connect your first campaign →
Common questions

Yes. POST /api/mcp implements the MCP protocol (initialize, tools/list, tools/call) over Bearer-token auth. Connect it from Cursor, Claude Desktop, VS Code, or any MCP-compatible client today.

[ GET STARTED ]

Get Search-Ready
for the AI Era.

AI still needs to find you before it can cite you. Start with the foundation.

Start free →

No credit card to start.