Docs

MCP server

Give Claude, Cursor or any other MCP client read access to your SEOAgent data - and, when you confirm the cost, the ability to run its paid actions.

Create a key

Settings → Account → API keys. A key is shown once and stored only as a hash, so copy it when you create it. Each key belongs to one user and can see every site on that user's account.

Cursor and other HTTP clients

The endpoint is a stateless Streamable HTTP server. Point your client at it and send the key as a bearer token:

{
  "mcpServers": {
    "seoagent": {
      "url": "https://seoagent.bot/api/mcp",
      "headers": { "Authorization": "Bearer sk_seoagent_YOUR_KEY" }
    }
  }
}

Claude Desktop

Claude Desktop speaks stdio, so bridge it with mcp-remote:

{
  "mcpServers": {
    "seoagent": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://seoagent.bot/api/mcp", "--header", "Authorization: Bearer sk_seoagent_YOUR_KEY"]
    }
  }
}

What the tools do

Reading is free and unrestricted: sites, opportunities, articles and their bodies, rankings, AI visibility, backlinks, the website audit, traffic and reports. Creating an idea, planning an article and saving a body are free too.

Four tools spend money or change a live site: generate_article, publish_article, check_rankings and run_visibility_check. Each one refuses to act unless it is called with confirm_cost: true, and answers with an estimate in cents instead. That is deliberate - an assistant should have to state its intention twice before spending your budget.

Limits

60 requests a minute per key. Every paid tool is still bound by the same per-site monthly budgets as the app itself, so a runaway agent hits the same ceiling a runaway human would.