Docs

Get started

Four steps: a site with a measurement, a connected client, the first 401 (which is expected), and one real prompt.

1. A site with a measurement

Create an account, add the site, and run a measurement from the dashboard. Until one has run, every tool answers with dataStatus: not_measured, which is the server working, not a broken connection.

2. Connect a client

There is no key to paste. The client registers itself, you approve it on a consent screen, and you can revoke it under Connected apps at https://app.seoaio.ai/dashboard/settings/api.

Claude Code

Run this in your terminal:

claude mcp add seoaio --transport http https://app.seoaio.ai/api/mcp

Claude Desktop, Cursor, VS Code

Add this to your MCP settings file:

{
  "mcpServers": {
    "seoaio": {
      "type": "http",
      "url": "https://app.seoaio.ai/api/mcp"
    }
  }
}

Anything else

Any MCP client that speaks Streamable HTTP:

https://app.seoaio.ai/api/mcp

3. The first 401 is expected

The client's first request to https://app.seoaio.ai/api/mcp carries no token and answers 401. That response points the client at https://app.seoaio.ai/.well-known/oauth-protected-resource, which is how it finds the authorization server and opens the browser. Sign in, approve, and the next call carries a token. If nothing opens, see troubleshooting.

4. The first prompt

Paste this in the chat that has the server connected:

Call list_assets and pick my site. Call get_measurement_status, then get_visibility_score, get_answer_share and list_findings. Tell me what is measured, what is held or not measured, and what to change next. Keep every number's sample size and interval next to it. Do not invent anything.

For an agent, the whole procedure is one file: https://seoaio.ai/SKILL.md. It carries the call order, the rules for quoting a number, and the pointers to the other skills.