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.
{
"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.
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.
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.
"Roofing Services in Manila | Phoenix"No <h1> found; the page opens straight into body copy — a weak relevance signal for both Google and an AI engine skimming the page.
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.
get_findingsThe diagnosis behind each task — which checklist aspect, what's wrong, how severe. Filter by page path.
get_tasksThe itemized to-do list — scope, page path, the exact recommended change, priority, status. Filter by status.
get_artifactsThe Writer's publish-ready content drafts, one per page, as Markdown or JSON.
mark_task_doneComplete 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.
run_commandTrigger 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.
{
"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"
}
]
}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 →
Beyond marking a task done — accept a content draft, kick off a re-verify, straight from your editor.
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.
A workspace-scoped token for agencies working across many campaigns at once, instead of one token per campaign.
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.
AI still needs to find you before it can cite you. Start with the foundation.
Start free →No credit card to start.