A hosted MCP server that gives your agent the index status of every URL on your site, and the dated record of how it got that way. There is no Google Cloud project to create and no service account key to download. You connect Search Console once with Google sign-in.
It reads index state rather than search performance. If you are here for queries, clicks and impressions, this is the wrong server and the panel below says which ones do that.
claude mcp add --transport http seomely https://seomely.com/api/mcp \ --header "Authorization: Bearer sk_live_..."
Or the same thing as config, for Cursor and anything else that takes a file:
{
"mcpServers": {
"seomely": {
"type": "http",
"url": "https://seomely.com/api/mcp",
"headers": { "Authorization": "Bearer sk_live_..." }
}
}
}Get a keyEvery self-hosted Search Console MCP server asks you to do the same four things before it will start.
It works. It is also the reason most people who try one stop before the end, and the reason a key ends up in a repository somewhere.
Sign in with Google, pick the property, copy an API key. The Google credential stays here and is read-only: one scope, and it cannot change anything in your Search Console account.
The key you paste into your agent config is ours, not Google's. If it leaks, revoke it in the dashboard and nothing about your Google account is affected. That is not true of a service account JSON.
A server that queries the Search Console API live returns the current answer, because that is the only answer the API has. Nothing there remembers last week.
Ask a live server "when did this page fall out of the index" and it cannot answer. Ask "what changed after the deploy on Tuesday" and it cannot answer that either. It can only tell you the state now, which is the one thing you can already see by opening Search Console yourself.
History is the part that cannot be added later. You cannot go back and observe last month.
We inspect every URL on the property every morning and keep the result. So get_index_history returns the states a page has moved through with the date each one was observed, and get_regressions returns pages that were indexed and are not any more.
Which means an agent can answer a question about the past without you having been watching at the time.
| Tool | What it returns |
|---|---|
| check_index_status | Whether Google has this URL indexed right now, and what it says about it. |
| get_index_history | Every state this URL has been in, with the date each change was observed. |
| get_regressions | Pages that were indexed and are not any more. |
| get_unindexed_urls | Everything on the property Google has not indexed, ranked by whether it is worth your attention. |
| diagnose_url | Why one page is not indexed: noindex, robots.txt, canonical, redirect or status. |
| investigate_indexing | The regressions, the factor they share, and what to do first. Start here. |
| get_project_stats | Coverage across a property: how many indexed, how many not, how that moved. |
| list_projects | The properties this key can see. |
| sync_sitemap | Re-read the sitemap and pick up new URLs. |
| submit_urls | Send URLs to IndexNow, which reaches Bing, Yandex, Seznam, Naver and Yep. |
| setup_indexnow | Generate and verify the IndexNow key file. |
| get_indexnow_status | What has been submitted and what came back. |
| set_autopilot | Let the daily run submit newly discovered URLs on its own. |
No queries, no clicks, no impressions, no average position. Most of the Search Console MCP servers you will find wrap the Search Analytics API and give you exactly that. If that is what you want, use one of those. They are good at it.
This one reads URL Inspection and answers a different question: is the page in the index, and if not, why not.
The endpoint authenticates with an API key in the Authorization header. Claude Code and Cursor handle that, which is what the snippets above are.
Clients that will only attach a server through an OAuth flow, which currently includes custom connectors in the Claude web and desktop apps, cannot connect to it yet. We would rather say so here than have you find out after signing up.