MCP · API

Hosted SEO MCP server for Claude, Cursor, and agents

SEO Evolution Analyzer exposes a streamable HTTP MCP endpoint at https://www.seo-ea.com/api/mcp. The same analyze, citation, schema, and keyword tools as the REST API, with a bearer key and no local binary.

Written by · Updated October 6, 2026

Try the same analyze scan the MCP analyze tool runs

Free scan. No signup.

Try: · ·

What is the SEO Evolution Analyzer MCP server?

MCP is the Model Context Protocol: a standard way for clients like Claude Code and Cursor to call tools. This hosted server implements that protocol over HTTP so an agent can analyze a URL, audit schema, or run a citation test without cloning the seoEA repo.

The endpoint is stateless. Each tool call sends Authorization: Bearer sea_... (or X-Api-Key). Quota is checked per account. Rule-based analyze costs no AI quota; LLM tools share the daily and monthly pool documented on pricing. Specification: modelcontextprotocol.io.

Google Search Console queries for “mcp seo” currently land on thin or off-topic pages. This URL exists so that query maps to the actual hosted server, not a gist. Full request shapes stay on /docs/api.

Which MCP tools are available?

Fifteen tools are exposed. analyze is rule-based and unlimited. LLM tools such as citation_test share the same daily and monthly quota pool as the REST API keys on your account.

ToolQuotaWhat it does
analyzenoneAEO / AIO / GEO / crawlability, same as POST /api/v1/analyze
citation_testcitation_testn=4 to 6 buyer-intent prompts, 0-100% citation rate, 48h cache
multi_engine_citationcitation_testPrompt x engine matrix and share of voice
citation_simnoneRule-based pre-publish citation simulator
schema_audit / entity_buildervariesJSON-LD coverage and entity / sameAs strategy
keyword_research / link_buildingvariesClusters, citation tests per keyword, GEO-aware link plans
generate_fix_pack / snippet_fixvariesReady-to-paste JSON-LD, llms.txt, meta rewrites
usagenoneRemaining daily and monthly quota per feature

Also exposed: brand_safety, competitor_gap, visibility_dashboard, keyword_citation. Scores use the same weights as the web app: AEO/AIO/GEO/crawlability 25% each; overall averages AEO, AIO, and GEO; critical bot blocks cap readiness at 40.

How do you connect Claude Code?

Add a streamable HTTP MCP server named seo-analyzer in project .mcp.json, set the URL to https://www.seo-ea.com/api/mcp, and send your sea_ key as a bearer token. Restart Claude Code to load tools.

{
  "mcpServers": {
    "seo-analyzer": {
      "type": "http",
      "url": "https://www.seo-ea.com/api/mcp",
      "headers": { "Authorization": "Bearer sea_..." }
    }
  }
}

Claude Desktop uses claude_desktop_config.json with the same URL and headers (no type field in the Desktop example). Cursor and other clients that speak streamable HTTP MCP follow the same pattern. Create the key at /api-keys after sign-in. Keys are shown once; only the hash is stored.

How is MCP different from the REST API?

REST is for scripts and cron. MCP is for interactive agents that discover tools at runtime. Both hit the same backends, auth, and quota. If you already POST to /api/v1/analyze, MCP analyze is the same payload with a tool envelope.

Use REST when a GitHub Action should fail a deploy on readiness below 70. Use MCP when a writer in Claude asks “are we cited for this topic?” without leaving the editor. Do not run both in a tight loop — citation tests cache 48 hours per domain on purpose so quota is not burned by identical prompts.

MCP does not change scoring. It is a transport. AEO still needs atomic answers; GEO still needs sameAs; AIO still needs authors and dates.

What should you call first from an agent?

Call analyze on the public URL. Read aeo.score, aio.score, geo.score, crawlability.criticalBlocked, and readinessScore. If critical bots are blocked, stop and fix robots.txt before citation_test.

  1. analyze — free, rule-based, same island as the form above.
  2. schema_audit or generate_fix_pack if FAQPage, Article, or Organization is missing.
  3. citation_test only after crawlability is clean; treat 0% as recall lag, not a scoring bug.
  4. usage so the agent does not silently exhaust the monthly pool.

Framework explainers: GEO vs AEO vs AIO, learn, compare. Site index for models: llms.txt.

Why does “mcp seo” belong on this URL?

Searchers who type “mcp seo” want a server they can paste into Claude or Cursor, not another essay on meta tags. This page is that server: hosted URL, bearer auth, tool list, and a live analyze form that runs the same scan the MCP analyze tool runs.

Docs at /docs/api keep curl examples and error codes. This landing keeps the MCP-shaped intent: connect, call analyze, then citation_test. Pro quota applies to API and MCP; the web form above stays on the free rule-based path. If you only need a score in the browser, you do not need a key. If an agent should fail a PR when AEO drops, you do.

Cross-link the checkers so agents and humans share vocabulary: GEO score checker, AEO checker, AI Overview optimization. The blog and learn pages explain weights; MCP never redefines them.

Does the MCP server change AEO, AIO, or GEO scoring?

No. MCP is transport only. Pass still earns full weight, warn half, fail zero. Readiness stays a 25% blend of AEO, AIO, GEO, and crawlability, capped at 40 when critical AI bots are blocked.

Agents that invent extra metrics will disagree with the web UI. Stick to the JSON fields analyze returns: aeo.signals, aio.signals, geo.signals, crawlability.botAccess, readinessScore, overall. Citation rate is a separate live test. The form on this page is the same POST /api/analyze the tool wraps. After you have a baseline, open seo-ea.com for the AI fix plan or call generate_fix_pack from the agent. Pricing and key creation: pricing and API keys.

How should agencies meter MCP versus the web analyzer?

Use the free web scan for prospects and baselines. Use MCP when a client workflow already lives in Claude or Cursor. API and MCP are Pro; the browser form on this page stays on the ungated rule-based analyze path.

Do not point an unattended agent at citation_test in a loop. The 48-hour cache exists so identical domains do not burn quota. Call usage before a batch. Watchlist, digest, and dashboards still need Google sign-in on the web app; MCP does not replace those. For a public GEO, AEO, or AIO explanation, send humans to the checkers, not to raw JSON. Start here: GEO, AEO, AIO, comparison guide, pricing.

What errors should an MCP client expect?

401 means a missing or unknown API key. 429 means IP or plan quota. 400 means a bad URL or empty body. 502 means the fetch of the target page failed. Analyze still never bills AI quota on success or failure.

Retry 429 after Retry-After. Do not rotate keys to dodge quota — keys share one account pool. Invalid private or loopback URLs are rejected by the SSRF guard, same as the web analyzer. Streamable HTTP is stateless: if the client drops, send the tool call again. Full error shapes and curl examples stay on /docs/api. This page is the MCP-shaped entry for the “mcp seo” query: hosted URL, tool list, Claude config, and a live analyze form. Specification: Model Context Protocol.

Can you use MCP without Claude?

Yes. Any client that speaks streamable HTTP MCP can call the hosted URL with a bearer key. Cursor, custom agents, and scripts that wrap the protocol all work. REST remains available if you do not want MCP at all.

Teams that already POST to /api/v1/analyze should not rewrite that job in MCP unless an interactive agent needs tool discovery. MCP shines when a writer asks an assistant to check a draft URL. REST shines in CI. Both require Pro for keys. The analyze form on this landing is the free browser path — no key, same scores. After a pass, send the agent to generate_fix_pack only if quota remains. Read learn for signal weights, GEO vs AEO vs AIO for which column to fix, and the blog for longer playbooks. GitHub for the app: sightline4bd-bit/seoEA.

If Search Console still ranks an unrelated page for “mcp seo”, this URL plus sitemap and llms.txt are the fix — not another blog post. Keep the hosted endpoint, Claude snippet, and analyze form above the fold so Google and agents see the same facts. Quota, auth, and tool names must match /docs/api. Do not invent extra MCP methods in marketing copy.

Frequently asked questions

What is an SEO MCP server?

It is a Model Context Protocol endpoint that exposes SEO Evolution Analyzer tools to MCP clients. The hosted URL is https://www.seo-ea.com/api/mcp. Authenticate with a bearer API key.

Do I need to install anything locally?

No. Point Claude Code, Claude Desktop, Cursor, or any streamable HTTP MCP client at the hosted URL. There is no npm package required for the hosted server.

Which tools does the MCP server expose?

analyze, citation_test, multi_engine_citation, citation_sim, brand_safety, competitor_gap, entity_builder, schema_audit, visibility_dashboard, keyword_research, keyword_citation, link_building, generate_fix_pack, snippet_fix, and usage.

Does analyze consume AI quota?

No. analyze is the same rule-based AEO / AIO / GEO / crawlability scan as POST /api/v1/analyze. Live citation tests and other LLM tools draw from the plan quota pool.

Is MCP available on the free plan?

API and MCP access are Pro features. The free web scan on this site does not require a key. Create a key on the API keys page after you upgrade if you need agent access.

Does MCP share quota with the REST API?

Yes. Every MCP tool call is authenticated and quota-checked per account. Streamable HTTP, stateless mode — the same pool as REST keys.