Google Search Console MCP
This server provides a natural language interface to Google Search Console, enabling AI assistants to manage properties, analyze search performance, inspect URLs, and manage sitemaps. Its capabilities include:
Property Management: List, view, add, and delete Search Console properties, including permission levels and URL-prefix/domain formats.
Search Performance Analytics: Query clicks, impressions, CTR, and average position, with dimensions (date, query, page, country, device, search appearance, hour), filtering, search types, pagination, and fresh-data mode. Quickly retrieve top queries by clicks with optional filters.
Sitemap Management: List, get status for, submit, and delete sitemaps, including error/warning counts.
URL Inspection: Inspect index status, coverage, canonical URLs, crawl info, robots.txt state, and rich results for specific URLs.
Raw API Access: Make direct calls to any Search Console API endpoint for operations not covered by the typed tools.
Resilience: Automatic OAuth token refresh, retries with backoff on transient errors, request timeouts, and SSRF protection for secure token handling.
Provides tools for interacting with Google Search Console's API, enabling search performance analytics (clicks, impressions, CTR, position), sitemap management, URL index inspection, and property management.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Google Search Console MCPIs https://example.com/pricing indexed? If not, why?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Google Search Console MCP
English | Русский
A1 Google Search Console MCP connects an AI app to Google Search Console. Investigate search performance, check whether a URL is indexed, inspect sitemaps and deliberately submit or remove a sitemap when needed.
It works with the properties your Google account can access. The important detail is that it uses the exact Search Console property value — a domain property and a URL-prefix property are different objects.
12 tools. Seven tools read properties, search data, sitemaps and index status; two add a property or submit a sitemap; three can remove data or call an arbitrary API method.
Exact property IDs.
https://example.com/,https://www.example.com/andsc-domain:example.comare distinct.list_sitesshows the value to use.Search data with context. Query clicks, impressions, CTR and position by date, page, query, country, device or search appearance.
Indexing, not publishing. URL inspection explains Google’s current status; it does not force a page into the index.
Start with a read-only question:
Show the top 20 search queries for my property over the last 28 days, with clicks and CTR.
Connect the server · Explore use cases · Open technical documentation
See it work in a minute
You: Is
https://example.com/pricingindexed? If not, why?Assistant: Inspects the URL and shows the index verdict, coverage, crawl information and canonical URLs. Nothing changes.
You: Check my submitted sitemaps and prepare a resubmission for the one with errors.
Assistant: Shows the sitemap, its warnings and errors, then asks for confirmation before submitting it again.
You: Confirm.
Assistant: Resubmits the selected sitemap. It does not change page content or guarantee indexing.
Related MCP server: mcp-gsc
Contents
Quick start
You need Node.js 20+, a Google account with access to a Search Console property and OAuth credentials from Google Cloud.
Add the server to your AI app.
Start with the read-only question above.
In the app: open Settings → Plugins → MCP servers, choose Add server, then add npx -y mcp-google-search-console@latest with GOOGLE_SEARCH_CONSOLE_CLIENT_ID, GOOGLE_SEARCH_CONSOLE_CLIENT_SECRET and GOOGLE_SEARCH_CONSOLE_REFRESH_TOKEN.
codex mcp add google-search-console \
--env GOOGLE_SEARCH_CONSOLE_CLIENT_ID=your_client_id \
--env GOOGLE_SEARCH_CONSOLE_CLIENT_SECRET=your_client_secret \
--env GOOGLE_SEARCH_CONSOLE_REFRESH_TOKEN=your_refresh_token \
-- npx -y mcp-google-search-console@latest
codex mcp listclaude mcp add \
--env GOOGLE_SEARCH_CONSOLE_CLIENT_ID=your_client_id \
--env GOOGLE_SEARCH_CONSOLE_CLIENT_SECRET=your_client_secret \
--env GOOGLE_SEARCH_CONSOLE_REFRESH_TOKEN=your_refresh_token \
--transport stdio --scope user google-search-console \
-- npx -y mcp-google-search-console@latest
claude mcp listOpen Settings → Developer → Edit Config and add:
{"mcpServers":{"google-search-console":{"command":"npx","args":["-y","mcp-google-search-console@latest"],"env":{"GOOGLE_SEARCH_CONSOLE_CLIENT_ID":"your_client_id","GOOGLE_SEARCH_CONSOLE_CLIENT_SECRET":"your_client_secret","GOOGLE_SEARCH_CONSOLE_REFRESH_TOKEN":"your_refresh_token"}}}}If Edit Config is unavailable, edit ~/Library/Application Support/Claude/claude_desktop_config.json on macOS or %APPDATA%\Claude\claude_desktop_config.json on Windows.
Claude Desktop MCP documentation
Add to ~/.cursor/mcp.json on macOS/Linux or %USERPROFILE%\.cursor\mcp.json on Windows:
{"mcpServers":{"google-search-console":{"type":"stdio","command":"npx","args":["-y","mcp-google-search-console@latest"],"env":{"GOOGLE_SEARCH_CONSOLE_CLIENT_ID":"your_client_id","GOOGLE_SEARCH_CONSOLE_CLIENT_SECRET":"your_client_secret","GOOGLE_SEARCH_CONSOLE_REFRESH_TOKEN":"your_refresh_token"}}}}Run MCP: Open User Configuration and add:
{"servers":{"google-search-console":{"type":"stdio","command":"npx","args":["-y","mcp-google-search-console@latest"],"env":{"GOOGLE_SEARCH_CONSOLE_CLIENT_ID":"${input:gsc_client_id}","GOOGLE_SEARCH_CONSOLE_CLIENT_SECRET":"${input:gsc_client_secret}","GOOGLE_SEARCH_CONSOLE_REFRESH_TOKEN":"${input:gsc_refresh_token}"}}},"inputs":[{"type":"promptString","id":"gsc_client_id","description":"Google OAuth client ID"},{"type":"promptString","id":"gsc_client_secret","description":"Google OAuth client secret","password":true},{"type":"promptString","id":"gsc_refresh_token","description":"Google OAuth refresh token","password":true}]}Check it with MCP: List Servers. VS Code MCP documentation
What you can ask it to do
Find search opportunities
Which queries and pages brought the most clicks this month?
Which pages lost clicks compared with the previous period?
Show queries containing
mcpwhere average position is below 10.
Check index status and sitemaps
Is this URL indexed? Show coverage, crawl and canonical information.
Which submitted sitemaps have errors or warnings?
Resubmit this sitemap after showing its current status.
Manage properties carefully
List the Search Console properties I can access.
Add this exact property value; I will verify ownership separately.
Remove this property from my account after confirmation.
How Search Console properties work
A URL-prefix property must include its protocol and trailing slash, for example https://example.com/. A domain property is written as sc-domain:example.com. A near-match causes 403 or 404, so use the exact value returned by list_sites.
add_site only registers a property. Verification remains in the Search Console UI or Site Verification API. Search data uses Pacific Time; end_date is inclusive and final analytics data typically lags by two to three days. data_state: "all" can include fresher, still-changing rows.
What can change
Operation | What happens | Confirmation boundary |
List properties, analytics, sitemaps and URL status | Reads Search Console data | No change |
Add a property | Adds a property entry; does not verify it | Changes account access |
Submit or resubmit a sitemap | Requests processing of a sitemap | Changes Search Console state |
Delete a property | Unlinks the property from the account; Google data is not deleted | Destructive |
Delete a sitemap | Removes a submitted sitemap | Destructive |
Raw API request | May call a write or delete endpoint | Potentially destructive |
The AI client controls confirmation prompts. The server marks reads, writes and destructive calls so the client can distinguish an inspection from a real change.
Getting access
Search Console data requires Google OAuth 2.0; an API key is not enough.
Create or select a Google Cloud project and enable Google Search Console API.
Configure the OAuth consent screen and create a Desktop app OAuth client.
Use the OAuth 2.0 Playground with Use your own OAuth credentials to authorize the Google account that can access the properties and obtain a refresh token.
Use
https://www.googleapis.com/auth/webmastersto include sitemaps and property changes. Usehttps://www.googleapis.com/auth/webmasters.readonlyonly if you intentionally need read-only access.
Testing-mode refresh tokens can expire after seven days. Publish the OAuth app, or use an Internal Workspace app, for long-lived access. Treat the client secret and refresh token as passwords.
Configuration
Variable | Required | Description |
| Yes* | OAuth client ID. |
| Yes* | OAuth client secret. |
| Yes* | OAuth refresh token. |
| Yes* | Short-lived alternative to the OAuth trio. |
| No | API base URL override. |
| No | Per-request timeout; default |
| No | Temporary-error retries; default |
* Provide either the OAuth trio or an access token.
Data, limits and background work
Privacy. The local server calls Google and sends anonymous telemetry with an installation ID, versions and tool names — never OAuth tokens, property data, tool arguments or prompts. Set
ASKADS_TELEMETRY=0to opt out.API limits. URL inspection allows 2,000 inspections per property per day and 600 per minute. Analytics returns at most 25,000 rows per request; long-tail anonymized queries are never returned. Use pagination and do not inspect whole sites URL by URL.
No background monitoring. The server works only while called. If your AI app supports scheduled tasks, it can periodically check a sitemap or an important URL.
Technical documentation
MCP capability catalog — task-oriented pages for every tool.
Support
Found a bug or need a scenario? Create an issue or write in Telegram.
Maintenance
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAn MCP Server that provides access to Google's Search Console API, allowing users to interact with website search performance data and manage search presence through natural language.
- AlicenseNot gradedqualityAmaintenanceMCP server for Google Search Console, enabling querying search analytics, URL inspection, sitemap management, and more via natural language.2671MIT
- AlicenseNot gradedqualityDmaintenanceThis MCP server provides LLMs with programmatic access to Google Search Console data and functionality, including search analytics, sitemap management, site management, and URL inspection.MIT
- AlicenseNot gradedqualityDmaintenanceMCP server that exposes the Google Search Console API, allowing LLMs to query SEO data, inspect URLs, manage sitemaps, and analyze search performance via natural language.160MIT
Related MCP Connectors
MCP server for Google search results via SERP API
Serper MCP — wraps the Serper Google Search API (serper.dev)
SEO MCP server: crawl your site, find AI-visibility gaps, and ship the fix from your coding agent.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/A1-x-Tech/mcp-google-search-console'
If you have feedback or need assistance with the MCP directory API, please join our Discord server