SEO Perception

Search Console, crawl and SEO to-dos, read-only inside Cursor and Claude.

Hosted MCP Server

npx add-mcp 'https://seoperception.com/mcp'

Installs into Claude Code, Codex, Cursor and more

Documentation

// Umami tag: `/da` or `/da/…` only — `/dashboard` must stay English. (function () { var p = location.pathname; var tag = p === '/da' || p.indexOf('/da/') === 0 ? 'da' : 'en'; var s = document.querySelector( 'script[data-website-id="725dd9cf-2721-4981-bfe7-f3996b7d21d1"]' ); if (s) s.setAttribute('data-tag', tag); })(); // Prevent theme flash by setting theme before page renders (function () { const savedTheme = localStorage.getItem('theme'); const systemTheme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'; const theme = savedTheme || systemTheme; document.documentElement.classList.toggle('dark', theme === 'dark'); })(); {"@context":"https://schema.org","@type":"FAQPage","mainEntity":\[{"@type":"Question","name":"What is an SEO MCP server?","acceptedAnswer":{"@type":"Answer","text":"An SEO MCP server lets Cursor or Claude read your stored Search Console data, crawl, and open Possibilities, then draft the next edit on a URL."}},{"@type":"Question","name":"Is MCP a separate dataset?","acceptedAnswer":{"@type":"Answer","text":"No. MCP reads the same weekly Search Console facts, crawl, and Possibilities list you already use in SEO Perception. There is no second copy of your site."}},{"@type":"Question","name":"Does SEO Perception MCP call Google Search Console live?","acceptedAnswer":{"@type":"Answer","text":"No. MCP tools read stored weekly Search Console facts and crawl evidence already collected in SEO Perception. Collection happens in the product sync, not inside the MCP tool call."}},{"@type":"Question","name":"Which MCP clients are supported?","acceptedAnswer":{"@type":"Answer","text":"Any MCP client that can call a remote HTTP endpoint with a Bearer token works, including Cursor, Claude Desktop, Claude Code, and VS Code with an MCP extension."}},{"@type":"Question","name":"Do I need a paid plan?","acceptedAnswer":{"@type":"Answer","text":"Yes. MCP personal access tokens and the POST /mcp endpoint require Starter, Pro, Business, or Enterprise. Create tokens under Account → MCP after upgrading."}}]} {"@context":"https://schema.org","@graph":\[{"@type":"Organization","@id":"https://seoperception.com/#organization","name":"SEO Perception","url":"https://seoperception.com/","logo":"https://seoperception.com/web-app-manifest-512x512.png?v=20260806","description":"SEO Perception connects Google Search Console and site crawls into a prioritized Possibilities queue so teams know what to fix next.","contactPoint":{"@type":"ContactPoint","contactType":"customer support","url":"https://seoperception.com/contact"},"sameAs":\["https://x.com/SEOPerception","https://www.linkedin.com/company/seoperception-com/","https://www.wikidata.org/wiki/Q141285025"\]},{"@type":"WebSite","@id":"https://seoperception.com/#website","url":"https://seoperception.com/","name":"SEO Perception","publisher":{"@id":"https://seoperception.com/#organization"}},{"@type":"WebPage","@id":"https://seoperception.com/mcp-integration#webpage","url":"https://seoperception.com/mcp-integration","name":"Your SEO to-dos in Cursor and Claude | SEO Perception","isPartOf":{"@id":"https://seoperception.com/#website"}},{"@type":"TechArticle","@id":"https://seoperception.com/mcp-integration#article","headline":"SEO Perception MCP","description":"Search Console, crawl, and your open SEO to-dos — inside Cursor and Claude.","mainEntityOfPage":{"@id":"https://seoperception.com/mcp-integration#webpage"},"publisher":{"@id":"https://seoperception.com/#organization"},"datePublished":"2026-08-04","dateModified":"2026-08-12"}\]}Your SEO to-dos in Cursor and Claude | SEO Perception /* Prevent theme flash by hiding content until theme is applied */ html:not(.dark) { color-scheme: light; } html.dark { color-scheme: dark; } /* Ensure smooth transitions */ * { transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease; }

SEOPerception.com

English

🌙

SEO Perception

Your open SEO to-dos

Search Console, crawl, and your open SEO to-dos — inside Cursor and Claude.

SEO Perception already keeps the search data, the workspace, and a prioritized to-do list for every URL. MCP is how Cursor and Claude read that and draft the next edit.

  • Weekly Search Console and the crawl, already stored
  • The same pages and evidence you use in the product
  • Possibilities: the to-do list, with the reason on each URL

See plans with MCP See example asks

You · MCP client

“Find the biggest losing keywords on /pricing and suggest concrete content changes to recover them.”

Tools called

get_page_diagnostics + search_queries

Stored evidence ticket

Stored evidence for /pricing

“pricing calculator”

Clicks down 42%. Position 8.4 to 14.1. Missing from H1 and body.

Open possibility

query-not-in-content (high)

Suggested next move

Add a “Pricing calculator” section and tighten the meta around those queries.

Ask once. Get evidence-backed edits.

Illustrative chats. The shape of what your MCP client can do once a token is connected. Real answers use your stored Search Console and crawl data.

Recover lossesPrioritize the weekPick a winner

You · MCP client

“Use SEO Perception to find the biggest losing keywords on /pricing and suggest concrete content changes to recover them.”

Copy prompt

Tools called

get_page_diagnostics + search_queries

Stored evidence ticket

Stored evidence for /pricing

“pricing calculator”

Clicks down 42%. Position 8.4 to 14.1. Not in H1 or body.

“enterprise seo pricing”

Impressions up. CTR 0.9% vs page avg 3.1%.

Open possibility

query-not-in-content (high)

Suggested next move

Add a short Pricing calculator section, mention enterprise packaging in an H2, and tighten the meta description around those queries.

No live Google call. Data from stored weekly GSC and crawl.

What the editor is reading

MCP is not a thinner SEO tool. It is the product you already use, opened from Cursor or Claude.

01

The data

Weekly Search Console facts, the crawl, and page history. Queries stay tied to the URL. MCP reads what is already stored. It does not call Google.

02

The workspace

The same pages, queries, and evidence you review in SEO Perception, including on the live page with the site overlay.

03

The to-do list

Possibilities is the prioritized list: what to do, on which URL, and why. MCP returns that list so the editor can draft the change.

Connect in minutes

Create a personal access token, point your MCP client at the endpoint, and start asking. Full guide: SEO Perception MCP docs.

Account MCP page for creating personal access tokens used by Cursor and Claude

Connect with OAuth or a token

Cursor and Claude can use OAuth (browser consent) when the client supports Connect. You can also create a personal access token under Account → MCP. Each secret is shown once. Store it as SEOPERCEPTION_MCP_TOKEN.

Sign in on a paid plan, then open Account → MCP.

Cursor

Add to ~/.cursor/mcp.json or project .cursor/mcp.json:

{
  "mcpServers": {
    "seo-perception": {
      "url": "https://seoperception.com/mcp",
      "headers": {
        "Authorization": "Bearer ${env:SEOPERCEPTION_MCP_TOKEN}"
      }
    }
  }
}

Copy

Other MCP clients

  • URL: https://seoperception.com/mcp
  • Authorization: Bearer <your MCP token>

Claude Desktop, Claude Code, VS Code, and others use the same remote endpoint. If a client only supports local MCP, use that client’s remote or proxy option with the URL and token above.

Data boundary

  • MCP never re-queries Google Search Console or URL Inspection.
  • Answers use data SEO Perception has already collected for your sites.
  • Your MCP client may send returned evidence to its model provider. Treat results as sensitive site analytics.
  • Paid plans only (Starter, Pro, Business, Enterprise).

Tool status

Only Available tools appear in tools/list.

SEO Perception MCP tool catalog with available search and possibilities tools

Available

Tool

Status

What it does

seoperception_list_sites

List sites

Available

List owned websites with stored GSC and crawl freshness.

seoperception_get_site_overview

Site overview

Available

Summarize stored search performance, leading pages, queries, and rank momentum.

seoperception_search_queries

Search queries

Available

Search and filter stored query evidence by content match, position band, impressions, landing page, CTR, and intent. Content filters use stored match rows only.

seoperception_list_opportunities

SEO opportunities

Available

List bounded, evidence-backed crawl and Search Console possibilities.

seoperception_find_cannibalization

Keyword cannibalization

Available

Find stored query conflicts and the deterministic preferred page.

seoperception_find_content_gaps

Content and snippet gaps

Available

Find stored low-CTR, missing-query, title/snippet, question, and refresh opportunities.

seoperception_suggest_internal_links

Internal-link suggestions

Available

Return stored destination and anchor opportunities without crawling or probing URLs.

seoperception_get_page_diagnostics

Page diagnostics

Available

Combine one page’s crawl metadata, stored GSC trends, top queries, and possibilities.

seoperception_find_content_decay

Content decay

Available

Detect sustained stored click and position declines from open refresh-candidate rows. An empty result means none are stored yet.

Planned

Tool

Status

What it does

seoperception_compare_periods

Period comparison

Planned

Compare explicit stored weekly periods with deterministic deltas.

seoperception_get_geo_breakdown

Country and device breakdown

Planned

Read stored country/device facts for Business and Enterprise sites.

seoperception_generate_report

Hosted report

Planned

Create a bounded, shareable analysis artifact.

Permanently excluded

Tool

Status

What it does

live_gsc_query_or_inspection

Live Google calls

Excluded

Direct GSC queries, URL Inspection, collection, and Google OAuth are permanently excluded.

mutations_and_refreshes

Mutations and refreshes

Excluded

Recrawls, indexing writes, issue updates, PSI refreshes, and LLM generation are excluded.

More prompts

Prefer observed evidence from tool results over invented recommendations.

  • List sites

    “List my SEO Perception sites and tell me which data is freshest.”

  • Site overview

    “Summarize the strongest gains and losses for my site using stored data.”

  • Search queries

    “Find non-branded queries in positions 5–20 with at least 50 impressions that are missing from their landing page.”

  • SEO opportunities

    “Show the highest-priority open SEO opportunities and explain the evidence.”

  • Keyword cannibalization

    “Find keyword cannibalization and recommend which page should be preferred.”

  • Content and snippet gaps

    “Find the biggest content and snippet gaps, then suggest rewrites that match the losing keywords.”

  • Internal-link suggestions

    “Suggest internal links and natural anchor text for pages with ranking potential.”

  • Page diagnostics

    “Diagnose /page1/ from crawl state, top queries, and opportunities, then tell me what to rewrite first.”

  • Content decay

    “Which pages show meaningful content decay?”

Rate limits

  • POST /mcp: 60/min per IP before auth, 120/min per token after.
  • Tool calls: 30/min per user, token, and site combination.
  • Token creation: 5 attempts per user per hour.

Security

Personal tokens, not passwords

Never put your login password or session cookie in an MCP client config. Manage tokens under Account → MCP.

Troubleshooting

  • 401: create a new token in Account → MCP and update the env var.
  • 403 paid_plan_required: upgrade, then create a token.
  • 429: wait for the retry time in the response.
  • 406: send Accept: application/json, text/event-stream.
  • Empty lists usually mean no stored data yet for that site.

Common questions

What is an SEO MCP server?

An SEO MCP server lets Cursor or Claude read your stored Search Console data, crawl, and open Possibilities, then draft the next edit on a URL.

Is MCP a separate dataset?

No. MCP reads the same weekly Search Console facts, crawl, and Possibilities list you already use in SEO Perception. There is no second copy of your site.

Does SEO Perception MCP call Google Search Console live?

No. MCP tools read stored weekly Search Console facts and crawl evidence already collected in SEO Perception. Collection happens in the product sync, not inside the MCP tool call.

Which MCP clients are supported?

Any MCP client that can call a remote HTTP endpoint with a Bearer token works, including Cursor, Claude Desktop, Claude Code, and VS Code with an MCP extension.

Do I need a paid plan?

Yes. MCP personal access tokens and the POST /mcp endpoint require Starter, Pro, Business, or Enterprise. Create tokens under Account → MCP after upgrading.

Guides for MCP SEO workflows

This page covers setup, tokens, and the tool catalog. The posts below explain workflows, comparisons, and how to run SEO from Cursor with stored evidence.

Ready to write from real search data?

Yes. MCP is included on every paid plan. Create a personal token under Account → MCP, add the config from the Connect in minutes section, and paste one of the example prompts above.

View pricing Read the docs

Stay in the loop

The Insight newsletter

Weekly SEO teardowns, algorithm update alerts, and performance tactics, when we publish them.

Your name Email address Join the network

We respect your privacy: we do not sell your email or spam you.

SEO Perception

We take all the dry, technical SEO data nobody wants to read, connect the dots with AI and decades of SEO expertise, and show you the fixes that matter most plus the opportunities with the biggest upside.

Product

Company


Google, PageSpeed, and PageSpeed Insights are trademarks of Google LLC. SEO Perception is not endorsed by or affiliated with Google. We use Google’s public PageSpeed Insights service because we find it useful for site owners.

© 2024 - 2026 SEO Perception. All rights reserved.

Built with love by Larsik Corp.

{ __sveltekit_15maqpl = { base: new URL(".", location).pathname.slice(0, -1), env: {"PUBLIC_API_BASE_URL":"https://seoperception.com","PUBLIC\_CLARITY\_PROJECT\_ID":"w3zg98vuwz"} }; const element = document.currentScript.parentElement; Promise.all([ import("./_app/immutable/entry/start.DN2qb_LZ.js"), import("./_app/immutable/entry/app.BktpADTo.js") ]).then(([kit, app]) => { kit.start(app, element, { node_ids: [0, 44], data: [{type:"data",data:{allowFreeSignup:true,allowPremiumSignup:true,freemius:{pricing:{paidTiers:{noob:{monthlyPrice:9.99,annualPrice:99.99,currency:"USD",annualSavingsPercent:16.6},business:{monthlyPrice:99,annualPrice:999,currency:"USD",annualSavingsPercent:15.9},pro:{monthlyPrice:29,annualPrice:299,currency:"USD",annualSavingsPercent:14.1},enterprise:{monthlyPrice:399,annualPrice:3999,currency:"USD",annualSavingsPercent:16.5}}},checkout:{productId:"18773",publicKey:"pk_3376cc7b2763abc9bd66d809d177a"},checkoutPlanIds:{noob:"31540",pro:"31040",business:"31042",enterprise:"43524"}},checkoutPaidTierAllowlist:["noob","pro","business","enterprise"],newsletterSignupUrl:null},uses:{}},{type:"data",data:{account:{signedIn:false,paid:false,tier:"free"},toolCatalog:[{name:"seoperception_list_sites",title:"List sites",description:"List owned websites with stored GSC and crawl freshness.",status:"available",examplePrompt:"List my SEO Perception sites and tell me which data is freshest."},{name:"seoperception_get_site_overview",title:"Site overview",description:"Summarize stored search performance, leading pages, queries, and rank momentum.",status:"available",examplePrompt:"Summarize the strongest gains and losses for my site using stored data."},{name:"seoperception_search_queries",title:"Search queries",description:"Search and filter stored query evidence by content match, position band, impressions, landing page, CTR, and intent. Content filters use stored match rows only.",status:"available",examplePrompt:"Find non-branded queries in positions 5–20 with at least 50 impressions that are missing from their landing page."},{name:"seoperception_list_opportunities",title:"SEO opportunities",description:"List bounded, evidence-backed crawl and Search Console possibilities.",status:"available",examplePrompt:"Show the highest-priority open SEO opportunities and explain the evidence."},{name:"seoperception_find_cannibalization",title:"Keyword cannibalization",description:"Find stored query conflicts and the deterministic preferred page.",status:"available",examplePrompt:"Find keyword cannibalization and recommend which page should be preferred."},{name:"seoperception_find_content_gaps",title:"Content and snippet gaps",description:"Find stored low-CTR, missing-query, title/snippet, question, and refresh opportunities.",status:"available",examplePrompt:"Find the biggest content and snippet gaps, then suggest rewrites that match the losing keywords."},{name:"seoperception_suggest_internal_links",title:"Internal-link suggestions",description:"Return stored destination and anchor opportunities without crawling or probing URLs.",status:"available",examplePrompt:"Suggest internal links and natural anchor text for pages with ranking potential."},{name:"seoperception_get_page_diagnostics",title:"Page diagnostics",description:"Combine one page’s crawl metadata, stored GSC trends, top queries, and possibilities.",status:"available",examplePrompt:"Diagnose /page1/ from crawl state, top queries, and opportunities, then tell me what to rewrite first."},{name:"seoperception_compare_periods",title:"Period comparison",description:"Compare explicit stored weekly periods with deterministic deltas.",status:"planned",examplePrompt:"Compare the latest four complete weeks with the previous four."},{name:"seoperception_find_content_decay",title:"Content decay",description:"Detect sustained stored click and position declines from open refresh-candidate rows. An empty result means none are stored yet.",status:"available",examplePrompt:"Which pages show meaningful content decay?"},{name:"seoperception_get_geo_breakdown",title:"Country and device breakdown",description:"Read stored country/device facts for Business and Enterprise sites.",status:"planned",examplePrompt:"Where do mobile CTR and ranking performance differ most?"},{name:"seoperception_generate_report",title:"Hosted report",description:"Create a bounded, shareable analysis artifact.",status:"planned",examplePrompt:"Create a client-ready monthly SEO report."},{name:"live_gsc_query_or_inspection",title:"Live Google calls",description:"Direct GSC queries, URL Inspection, collection, and Google OAuth are permanently excluded.",status:"excluded",examplePrompt:"Not available: MCP never contacts Google."},{name:"mutations_and_refreshes",title:"Mutations and refreshes",description:"Recrawls, indexing writes, issue updates, PSI refreshes, and LLM generation are excluded.",status:"excluded",examplePrompt:"Not available: MCP is read-only."}],mcpEndpoint:"https://seoperception.com/mcp",serverCardUrl:"https://seoperception.com/.well-known/mcp/server-card.json",docsUrl:"https://seoperception.com/docs/mcp-for-cursor",tokensUrl:"https://seoperception.com/account/mcp"},uses:{}}\], form: null, error: null }); }); }