Search Console MCP · Updated September 5, 2026
Google Search Console MCP Server: query GSC from Claude or ChatGPT
Paste one link into Claude or ChatGPT, sign in with Google, and your AI can query your Search Console data — queries, pages, countries, devices, index status, sitemaps. No Cloud project, nothing to install, about a minute of setup. Everything below the link is the full reference for you and your AI agent.
https://connector.get-ryze.ai/mcp- 01Copy your MCP link:
https://connector.get-ryze.ai/mcp - 02In Claude go to Settings → Connectors → Add custom connector. Name it Ryze AI, paste the link, click Add. In ChatGPT it is Settings → Apps → Create app.
- 03Click Connect, sign in with Google, pick your workspace. Open a new chat and ask: “Which queries lost the most clicks in the last 28 days?”
01 — Overview
What this Google Search Console MCP server does
The short version
- One URL,
https://connector.get-ryze.ai/mcp, works in Claude, ChatGPT, Claude Code, Cursor and any MCP client. - Sign in with Google. No Google Cloud project, no service account, no Search Console API enablement, no Python.
- 7 Search Console tools: 5 read (sites, raw Search Analytics, URL Inspection, sitemaps, indexation summary) and 2 write (submit and delete sitemaps), approval-gated.
- Same endpoint carries Google Ads, Meta Ads, TikTok, GA4 and Shopify — 150+ tools in total.
- Free to connect. SEO Autopilot is $129/mo flat if you want Ryze AI to fix what the data shows.
- Server name
- Ryze AI (Search Console MCP)
- Endpoint
- https://connector.get-ryze.ai/mcp
- Transport
- Remote MCP over Streamable HTTP
- Auth
- OAuth 2.0 (Google sign-in, one Ryze workspace per connection)
- Hosting
- Hosted by Ryze AI — nothing to install or run
- Search Console tools
- 7 (5 read · 2 write, approval-gated)
- Also on this endpoint
- Google Ads, Meta Ads, TikTok, GA4, Shopify — 150+ tools
- Cloud project
- Not required
- Price
- Free to connect · SEO Autopilot $129/mo flat
- Updated
- September 5, 2026
MCP (Model Context Protocol) is the open standard AI assistants use to call external tools. A Search Console MCP server turns a GSC property into a set of those tools, so an assistant can pull a query report, inspect a URL’s index status or check sitemap errors from a chat instead of the Search Console UI. Most Search Console MCP servers on GitHub are local Node or Python processes you point at a Cloud project and a service-account key; this one is hosted, so the whole setup is a URL and a Google sign-in. The comparison further down covers when self-hosting is the better route.
/01
Managed OAuth 2.0
Browser sign-in with Google, tokens refreshed server-side. No Cloud project, no service-account JSON, no Search Console API to enable.
/02
Raw Search Analytics queries
runRawSearchAnalytics takes any searchAnalytics.query body — query, page, country, device, searchAppearance and date dimensions, filters, search type, up to 25,000 rows per call.
/03
URL Inspection
inspectUrl returns Google's index verdict for one URL: coverage state, last crawl, canonical chosen by Google, indexing state, mobile usability and rich-result status.
/04
Sitemap management
List every sitemap Google knows with errors, warnings and per-type counts, then submit, resubmit or remove one — the two write tools are approval-gated.
/05
Indexation summary
getIndexationSummary rolls up sitemap count, submitted URLs, errors, warnings and pending sitemaps for a property in one call.
/06
Property discovery
listSites returns every domain and URL-prefix property the login can reach with its permission level, so the assistant picks the right siteUrl.
/07
SEO in the same chat as ads
Cross a query's GSC clicks with its Google Ads spend or GA4 key events without leaving the conversation — the other toolsets sit on the same endpoint.
/08
Six platforms, one URL
The same endpoint carries Google Ads, Meta Ads, TikTok, GA4 and Shopify toolsets — one login instead of six servers.
02 — Tool reference
The 7 Search Console tools
Every tool takes a siteUrl — either a domain property such as sc-domain:example.com or a URL-prefix property such as https://www.example.com/. The two sitemap write tools are approval-gated; the five read tools run as soon as OAuth completes.
| Tool | Access | What it does | Key parameters |
|---|---|---|---|
listSites | read | Every Search Console property the signed-in login can reach, with permission level. Call this first to find the siteUrl. | none |
runRawSearchAnalytics | read | Any Search Analytics query: dimensions, date range, filters, search type, dataState, rowLimit and startRow paging. | siteUrl · request { startDate, endDate, dimensions, dimensionFilterGroups, type, dataState, rowLimit (≤ 25,000), startRow } |
inspectUrl | read | URL Inspection API result for one URL in the property: verdict, coverage state, last crawl, Google-selected canonical, mobile usability, rich results. | siteUrl · inspectionUrl · languageCode |
getIndexationSummary | read | Sitemap-level indexation roll-up: sitemaps, submitted URLs, errors, warnings, pending. | siteUrl |
listSitemaps | read | Sitemaps Google knows for the property with lastSubmitted, lastDownloaded, isPending, errors, warnings and submitted/indexed counts per content type. | siteUrl |
submitSitemap | write | Submit or resubmit a sitemap URL to the property. | siteUrl · sitemapUrl |
deleteSitemap | write | Remove a sitemap from Search Console (the file on your site is untouched). For stale or duplicate entries found via listSitemaps. | siteUrl · sitemapUrl |
The same endpoint exposes the Google Ads, Meta Ads, TikTok, GA4 and Shopify toolsets. The cross-platform list lives in the advertising API & MCP tools reference; Google Ads and Meta have their own pages at Google Ads MCP and Meta Ads MCP.
03 — Prerequisites
What you need before you start
You need
- A Google login with Restricted, Full or Owner access to the Search Console property. Restricted is enough for reads; sitemap changes need Full or Owner.
- A free Ryze AI account — created during the OAuth step if you don’t have one.
- An MCP client: Claude Pro, Team or Max (custom connectors are not on the free plan), ChatGPT Plus, Pro or Business with Developer mode, or Claude Code, Cursor, Windsurf, VS Code on any plan.
You don’t need
- A Google Cloud project, an enabled Search Console API or a service-account key — the hosted server brings its own API access.
- A verification token or DNS record: the property must already be verified in Search Console, nothing else.
- Python, Node, a virtual environment, a
.envfile or a process to keep running.
04 — Setup
Install in every MCP client
All routes end in the same OAuth screen: sign in with Ryze AI, choose your workspace, click Allow. If Search Console is not yet connected to the workspace, add it once under Workspace Settings → Integrations; the tools appear in the next chat. One connection maps to one workspace, so agencies with several client workspaces reconnect per workspace. Screenshots for the Claude route are in how to connect Claude to the Ryze AI MCP.
Claude (web and desktop)
- 01On claude.ai, click your avatar (bottom-left) → Settings.
- 02Open the Connectors tab and click Customize, then the + next to Connectors.
- 03Name: Ryze AI. Remote MCP server URL:
https://connector.get-ryze.ai/mcp. Click Add. - 04Click Connect on the new connector, sign in, pick your workspace and click Allow Claude to connect.
- 05A green confirmation lists the available tools. Start a new chat and ask your first question.
Requires Claude Pro, Team or Max. The Claude desktop app uses the same Settings → Connectors flow; if you prefer the config file, use the mcp-remote entry under “Claude Desktop config file” below.
ChatGPT
- 01Settings → Apps. Under Advanced settings, turn on Developer mode.
- 02Click Create app. Name: Ryze AI. MCP server URL:
https://connector.get-ryze.ai/mcp— choose Server URL, not Tunnel. - 03Authentication: OAuth. Tick the acknowledgment and click Create.
- 04On the authorization page choose Sign in with Ryze AI, pick your workspace and click Allow.
- 05Start a new chat: “Show my top 20 pages by clicks in the last 28 days with impressions, CTR and average position.”
Requires a ChatGPT plan that supports apps and connectors (Plus, Pro or Business).
Claude Code
claude mcp add --transport http ryze https://connector.get-ryze.ai/mcpThen run /mcp inside Claude Code to complete the OAuth sign-in. Add --scope user to make it available in every project.
Cursor, Windsurf and any mcp.json client
{
"mcpServers": {
"ryze": {
"url": "https://connector.get-ryze.ai/mcp"
}
}
}Save, then approve the OAuth prompt the client opens. Windsurf uses the key serverUrl instead of url.
VS Code (GitHub Copilot agent mode)
{
"servers": {
"ryze": {
"type": "http",
"url": "https://connector.get-ryze.ai/mcp"
}
}
}Claude Desktop config file (optional)
{
"mcpServers": {
"ryze": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://connector.get-ryze.ai/mcp"]
}
}
}macOS: ~/Library/Application Support/Claude/claude_desktop_config.json · Windows: %APPDATA%\Claude\claude_desktop_config.json. Restart Claude Desktop; the first call opens the browser for OAuth. Most people won’t need this — Settings → Connectors does the same without Node.
05 — Usage
What to ask once connected
Reporting
- >“Top 20 queries by clicks in the last 28 days with impressions, CTR and position.”
- >“Which pages gained and lost the most clicks vs the previous 28 days?”
- >“Build my Monday SEO report: clicks, impressions, top movers, and what to fix.”
Opportunities
- >“Find queries in positions 5–15 with over 500 impressions and CTR under 2%.”
- >“Which pages rank for 'google ads mcp' and could be consolidated?”
- >“List queries where mobile position is 3+ worse than desktop.”
Indexing
- >“Inspect https://www.example.com/blog/new-post — is it indexed, and what canonical did Google pick?”
- >“Which sitemaps have errors or warnings, and when were they last downloaded?”
- >“How many URLs are submitted vs indexed across all sitemaps?”
Changes (approval-gated)
- >“Resubmit sitemap.xml — show me the current sitemap list first.”
- >“Remove the old sitemap-old.xml entry from Search Console.”
- >“Submit the new /sitemap-blog.xml and confirm Google accepted it.”
Ready-made workflows: pulling Search Console data for SEO with Claude MCP, combining Claude with Search Console for SEO wins, connecting an AI agent to Search Console and automating rank tracking with Claude and MCP.
06 — Request examples
Search Analytics queries you can paste into the chat
You rarely need to write these — the assistant builds them. When you want exact control, describe the request and the server runs it through runRawSearchAnalytics. Three that come up daily:
Top queries, last 28 days
{
"startDate": "2026-08-06",
"endDate": "2026-09-02",
"dimensions": ["query"],
"type": "web",
"rowLimit": 100
}Rows sort by clicks descending. Data lags about 2–3 days, so end the range on 3daysAgo-style dates; dataState 'all' includes fresh, unfinalized days.
Pages for one query, mobile only
{
"startDate": "2026-08-06",
"endDate": "2026-09-02",
"dimensions": ["page"],
"dimensionFilterGroups": [{
"filters": [
{ "dimension": "query", "operator": "contains", "expression": "mcp server" },
{ "dimension": "device", "operator": "equals", "expression": "MOBILE" }
]
}],
"rowLimit": 50
}Filters live in dimensionFilterGroups. Operators: equals, notEquals, contains, notContains, includingRegex, excludingRegex.
Daily clicks for a trend line, paged
{
"startDate": "2026-06-05",
"endDate": "2026-09-02",
"dimensions": ["date", "page"],
"rowLimit": 25000,
"startRow": 0
}Maximum 25,000 rows per call. For more, repeat with startRow advanced by rowLimit until fewer than rowLimit rows come back.
07 — Compare
Hosted vs self-hosted Search Console servers
| What you operate | Ryze AI hosted server | Open source (GitHub) | Direct API integration |
|---|---|---|---|
| Runtime | None — remote HTTP | Local Node or Python process you run | Your own code and scheduler |
| Credentials you manage | Google sign-in only | Cloud project + service-account JSON added to each property | Cloud project + OAuth client or service account |
| APIs you enable | None | Search Console API in your project | Search Console API in your project |
| URL Inspection | Built in | Varies by project | Build it yourself |
| Platforms | Search Console + Google Ads, Meta, TikTok, GA4, Shopify | Search Console only | Whatever you build |
| Write approval controls | Per-tool, on by default | Varies by project | Whatever your scopes allow |
Self-hosting is the right call when the data must never leave your machine or you are building your own agent on the raw Search Console API. For that route: connecting an AI agent to Search Console. For the analytics side of the same picture, see the Google Analytics MCP page.
08 — Security & permissions
Safe by default
OAuth 2.0 only
You sign in on Google's page. Your password never touches Ryze, and tokens are refreshed server-side.
One workspace per connection
Each connection is authorized against a single Ryze workspace, chosen on the consent screen. Switching workspaces means reconnecting and starting a new chat.
Approval-gated writes
Read tools are automatic. In Claude, open Settings → Connectors → Ryze AI and keep submitSitemap and deleteSitemap on 'Needs approval' — the recommended default.
Nothing touches your site
deleteSitemap removes the entry from Search Console only; the sitemap file on your server is untouched, and no tool can edit pages, robots.txt or DNS.
Revoke any time
Remove access from your Google account's third-party permissions or from Workspace Settings → Integrations in Ryze.
Policies
Read the MCP privacy policy, MCP terms, security policy and MCP permissions best practices.
09 — Quotas & limits
What to know before a heavy session
| Rows per query | Up to 25,000 rows per runRawSearchAnalytics call. Page with startRow for more. The API returns top rows by clicks and does not guarantee every long-tail row. |
| Data history | Search Console keeps 16 months of performance data. Older ranges return nothing. |
| Freshness | Performance data lags about 2–3 days. dataState 'all' includes the fresh, unfinalized days; 'final' excludes them. |
| URL Inspection quota | Google allows about 2,000 inspections per property per day and 600 per minute. Bulk index checks should sample, not sweep. |
| Anonymized queries | Rare queries are hidden for privacy, so query-dimension totals sit below page-dimension totals for the same range. |
| Property types | Domain properties (sc-domain:) aggregate every protocol and subdomain; URL-prefix properties cover one prefix. Use the one that matches how the site is verified. |
| Search types | type accepts web, image, video, news, discover and googleNews. Discover and News support fewer dimensions than web. |
| Client plans | Claude custom connectors: Pro, Team or Max. ChatGPT connectors: Plus, Pro or Business with Developer mode. |
10 — Troubleshooting
Common errors and the fix
| Symptom | Cause | Fix |
|---|---|---|
| Tools don't show up in the chat | The chat was opened before the connector existed. | Start a new chat — Claude and ChatGPT bind connectors when a conversation starts. |
| No 'custom connector' option in Claude | Free Claude plan. | Custom connectors need Claude Pro, Team or Max. ChatGPT needs Plus, Pro or Business with Developer mode on. |
| "siteUrl is required" or 403 on a property | No property chosen, or the login lacks access to it. | Ask for accessible properties first (listSites), then pass the exact siteUrl string it returned. |
| Empty rows for the last few days | Data is not finalized yet. | End the range 3 days back, or set dataState to 'all' to include fresh data. |
| Query totals don't match page totals | Anonymized queries are dropped from the query dimension. | Compare like with like; use the page dimension for totals. |
| inspectUrl says the URL is not in the property | URL belongs to another host or protocol. | Inspect from the domain property, or pass a URL that starts with the URL-prefix property exactly. |
| Fewer rows than expected on a large pull | The API returns top rows only. | Add the date dimension or split the range into weeks to surface more long-tail rows. |
| A sitemap change 'did nothing' | It is waiting for your approval. | Approve the tool call in the chat, or review the tool's setting under Settings → Connectors → Ryze AI. |
| Data from the wrong client property | The connection is authorized to another workspace. | Each connection is one Ryze workspace. Reconnect, pick the right workspace, and start a new chat. |
Still stuck? Email support@get-ryze.ai. Agencies juggling many accounts: MCP config for multiple ad accounts.
11 — FAQ
Google Search Console MCP server questions
What is the Google Search Console MCP server?
It is an MCP (Model Context Protocol) server that exposes a Search Console property as tools an AI assistant can call. Ryze AI's Search Console MCP server is hosted and remote: you add one URL to Claude, ChatGPT, Cursor or Claude Code, sign in with Google via OAuth, and the assistant can run Search Analytics queries, inspect URLs, read sitemap status and, with approval, submit or remove sitemaps.
What is the Search Console MCP server URL?
The server URL is https://connector.get-ryze.ai/mcp. It is a remote MCP server over Streamable HTTP with OAuth 2.0. The same endpoint serves the Google Ads, Meta Ads, TikTok, GA4, Search Console and Shopify toolsets, so one connector covers SEO, analytics and ads. Each connection is authorized against one Ryze workspace.
Do I need a Google Cloud project or service account?
No. The hosted server runs on Ryze AI's own Google API access. You sign in with a Google account that has access to the property and you are done. Open-source Search Console servers require a Cloud project with the Search Console API enabled, a service-account key, and that service account added as a user on every property.
Which Search Console tools does the server expose?
Seven tools: listSites, runRawSearchAnalytics, inspectUrl, getIndexationSummary and listSitemaps read data; submitSitemap and deleteSitemap write and are approval-gated. Together they cover the Search Analytics, URL Inspection, Sitemaps and Sites services of the Search Console API.
Can the MCP server change my site or my Search Console settings?
Only sitemap entries, and only with approval. submitSitemap and deleteSitemap add or remove a sitemap URL in Search Console; the file on your server, your pages, robots.txt and property settings are never touched. In Claude you keep both write tools on 'Needs approval' under Settings → Connectors → Ryze AI.
How do I run a Search Analytics query through MCP?
Ask in plain English or describe the request body. runRawSearchAnalytics accepts startDate, endDate, dimensions (query, page, country, device, searchAppearance, date), dimensionFilterGroups, type, dataState, rowLimit up to 25,000 and startRow for paging — the same body as the searchAnalytics.query endpoint.
Can I check whether a URL is indexed?
Yes. inspectUrl calls the URL Inspection API for one URL and returns the verdict, coverage state, last crawl time, the canonical Google selected, indexing state, mobile usability and rich-result status. Google allows about 2,000 inspections per property per day, so sample rather than sweep large sites.
Does it work with domain properties and URL-prefix properties?
Both. listSites returns every property the login can reach with its exact siteUrl — sc-domain:example.com for domain properties, https://www.example.com/ for URL-prefix properties — and you pass that string to the other tools.
Why do my numbers differ from the Search Console UI?
Usually the date range: performance data lags about 2–3 days, and dataState 'all' includes fresh, unfinalized days. Query-level totals also sit below page-level totals because Google hides anonymized queries. Match the range, the search type and the property type and the numbers line up.
What does the Search Console MCP server cost?
Connecting is free — a Ryze AI account costs nothing to create and the connector has no per-call fee. SEO Autopilot is $129/month flat with a 7-day free trial if you want Ryze AI to fix what the data shows. On the client side you need a Claude plan that allows custom connectors (Pro, Team or Max) or a ChatGPT plan with connectors (Plus, Pro or Business).
Is the Search Console MCP server secure?
Access is OAuth 2.0 only, so your Google password never touches Ryze. Each connection is scoped to one Ryze workspace, the two write tools are approval-gated by default, and you can revoke access at any time from your Google account permissions or from Workspace Settings → Integrations in Ryze. The MCP privacy policy, MCP terms and security policy are linked on this page.
Why doesn't Claude see the Search Console tools after I connected?
Start a new chat. Claude and ChatGPT bind connectors when a conversation starts, so an existing chat keeps its original tool set. If Search Console itself is not connected to the workspace yet, add it under Workspace Settings → Integrations in Ryze. If the connector option is missing entirely, you are on a free Claude plan — custom connectors require Pro, Team or Max.
Can I use it with several sites or client properties?
Yes. listSites lists every property the login can reach, and you pass siteUrl on each call to pick one. One connection maps to one Ryze workspace, so agencies keeping clients in separate workspaces reconnect per workspace and start a new chat.
12 — Compatibility
Works in every MCP client
13 — Related
Keep reading
One OAuth login · 7 Search Console tools · Live in ~60 seconds
Add Google Search Console to your AI today.
Free to connect. Upgrade to SEO Autopilot ($129/mo flat, 7-day free trial) when you want Ryze AI to fix what the data shows, 24/7.
2,000+ clients · 700+ agencies · $500M+ managed · No dev token · No server to run

