
Google Search Console MCP Server by Amin Foroutan
Lets your assistant read your Google Search Console data: queries, clicks, indexing status and sitemaps.
This server by Amin Foroutan connects Claude, Cursor and other assistants to Google Search Console. You can ask which queries bring traffic, compare periods, check if pages are indexed, and manage sitemaps. It is a community project and runs on your computer.
You sign in with Google using your own OAuth credentials file, or with a service account. Tools that add or delete sites and delete sitemaps are off until you set GSC_ALLOW_DESTRUCTIVE to true. The Google permission is the full Search Console scope, though, so the server can write if enabled.
Good for
- SEOs who want to question their Search Console data in plain English
- Site owners who check indexing and sitemaps often
- Agencies reporting on several properties
Works in
12 should work
Tap an app to see how to set it up and any known problems.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Client does not support this transport.
Client does not support this transport.
Install mcp-gsc
Claude Code
- 1
Copy this prompt.
Add the mcp-gsc server to Claude Code. Run this command: claude mcp add gsc -e GSC_OAUTH_CLIENT_SECRETS_FILE=<GSC_OAUTH_CLIENT_SECRETS_FILE> -- uvx mcp-search-console Ask me for GSC_OAUTH_CLIENT_SECRETS_FILE and only put the values in that config, nowhere else. Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires uv (Python).
Built from the package data we hold. Not yet tested by us.
Tools
Lists the tools and shows if you are signed in
Returns the available tools, your sign-in status and how to get started. The server tells the assistant to call it first.
Try: “What can the Search Console tools do, and am I signed in?”
Network ·
get_capabilitiesLists your Search Console sites
Shows every verified domain or URL-prefix property your Google account can reach.
Try: “List my Search Console properties.”
Network ·
list_propertiesShows verification and ownership of a site
Returns details about one property, including verification and ownership.
Try: “Who owns example.com in Search Console?”
Network ·
get_site_detailsShows clicks and impressions for a site
Returns search performance for a property over a number of days, split by query, page, country or device.
Try: “Which queries brought the most clicks to example.com in the last 28 days?”
Network ·
get_search_analyticsRuns a filtered, sorted analytics query
Pulls search data with filters, sorting and paging, for deeper questions than the basic report.
Try: “Show pages with over 1,000 impressions and under 1% CTR, worst first.”
Network ·
get_advanced_search_analyticsGives a quick performance summary
Returns an overview of a property's search performance.
Try: “Give me a performance overview for example.com.”
Network ·
get_performance_overviewCompares two date ranges
Compares search data between two periods, with changes shown against the baseline period.
Try: “Compare the last 28 days with the 28 days before.”
Network ·
compare_search_periodsShows the queries behind one page
Returns search data for a single page broken down by the queries that led to it.
Try: “What queries bring people to example.com/pricing?”
Network ·
get_search_by_page_queryChecks one URL's indexing and rich results
Asks Google for the index status, last crawl and rich-result issues of a URL.
Try: “Is example.com/blog/post indexed?”
Network ·
inspect_url_enhancedInspects many URLs at once
Checks several URLs within API limits, running the checks at the same time.
Try: “Inspect these 10 URLs and tell me which are not indexed.”
Network ·
batch_url_inspectionFinds indexing problems across URLs
Checks a list of URLs for specific indexing issues.
Try: “Which of these URLs have indexing issues?”
Network ·
check_indexing_issuesLists a site's sitemaps
Returns the sitemaps registered for a property.
Try: “List the sitemaps for example.com.”
Network ·
get_sitemapsLists sitemaps with more detail
Returns the sitemaps for a property with extra detail such as status and errors.
Try: “Show sitemap errors for example.com.”
Network ·
list_sitemaps_enhancedShows one sitemap in detail
Returns the details of a given sitemap.
Try: “Show details for https://example.com/sitemap.xml.”
Network ·
get_sitemap_detailsSubmits or resubmits a sitemap
Sends a sitemap to Google, or resubmits an existing one, for a property.
Try: “Submit https://example.com/sitemap.xml to Search Console.”
Write ·
submit_sitemapLists, shows, submits or deletes sitemaps
One tool that does all sitemap actions. Deleting needs the destructive switch turned on.
Try: “Show my sitemaps and resubmit the main one.”
Delete ·
manage_sitemapsRemoves a sitemap from Search Console
Unsubmits a sitemap. It is off unless GSC_ALLOW_DESTRUCTIVE is true.
Try: “Delete the old sitemap from Search Console.”
Delete ·
delete_sitemapAdds a site to your Search Console
Adds a property to your account. It is off unless GSC_ALLOW_DESTRUCTIVE is true.
Try: “Add https://blog.example.com to Search Console.”
Write ·
add_siteRemoves a site from your Search Console
Removes a property from your account. It is off unless GSC_ALLOW_DESTRUCTIVE is true.
Try: “Remove the staging site from Search Console.”
Delete ·
delete_siteSigns you out and in again
Deletes the saved Google sign-in token on your computer and opens the browser to sign in again, for switching Google accounts.
Try: “Sign in with a different Google account.”
Delete ·
reauthenticateShows who made the server
Returns information about the creator of the project, Amin Foroutan.
Try: “Who made this MCP server?”
Read ·
get_creator_info
Read from the source code
Permissions
medium risk · 5 things to watch
Medium risk
The assistant can submit sitemaps and reset your saved Google sign-in, and with one setting it can also remove sites and sitemaps from your Search Console. Leave GSC_ALLOW_DESTRUCTIVE off unless you need those tools.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
It uses the full Search Console permission
The code asks Google for the webmasters scope, which allows changes, not just reading. Use a Google account or service account that has only the properties you want reachable. pypi.org
One setting turns on site and sitemap deletion
With GSC_ALLOW_DESTRUCTIVE=true the add_site, delete_site and delete_sitemap tools work. Leave it off by default. github.com
It can submit sitemaps
submit_sitemap sends a sitemap to Google even with the destructive switch off. Check the URL before it goes. github.com
reauthenticate deletes your saved sign-in
It removes the local Google token file and opens a browser sign-in. It does not touch your Search Console data. pypi.org
Network mode is opt-in
By default it runs over a local pipe. If you set MCP_TRANSPORT to sse it listens on 127.0.0.1 unless you change MCP_HOST. pypi.org
Security advisories
No published security advisories as of Nov 1, 2026.
Technical details
| Turning on read-only | No read-only mode is documented. Add, delete and sitemap-delete tools are off by default and turn on with GSC_ALLOW_DESTRUCTIVE=true, but submit_sitemap stays available and the Google scope allows writes. |
|---|---|
| Talks to | Google Search Console API (googleapis.com) |
| Sign-in and keys | Your Google OAuth client file path in GSC_OAUTH_CLIENT_SECRETS_FILE, or a service account key path in GSC_CREDENTIALS_PATH. The sign-in token is saved in a config folder on your computer. |
| Scopes |
|
Questions
Is the Google Search Console MCP server by AminForou official?
No. It is a community project by Amin Foroutan and is not made by Google.
Do I need a Google API key?
You need Google credentials. Either create an OAuth client file and sign in in your browser, or use a service account key. The server asks for the file path in a setting.
Can it delete my sites?
Only if you set GSC_ALLOW_DESTRUCTIVE to true. Until then the add site, delete site and delete sitemap tools refuse to run.
Can I make it read-only?
Not completely. Leaving the destructive switch off blocks site and sitemap deletion, but sitemap submission still works.
Is there a hosted version?
The README promotes a separate hosted product with one-click sign-in and GA4 tools from the same author, limited to 100 seats. This page covers the free open-source server.
Does it cost anything?
No. The server is MIT licensed and Google does not charge for the Search Console API. Your normal API quotas apply.
Why do I need the full path to uvx?
Apps like Claude Desktop and Cursor do not read your shell setup, so they may not find uvx. The README says to give the full path, such as the one that the which uvx command prints.
How do I add it to Claude Desktop?
Use the Claude Desktop tab in the install box and set the path to your OAuth client file. Restart the app.
Information
updated Nov 2, 2026
- Publisher
- Community
- Package
mcp-search-console- Registry
- PyPI
- Transport
- stdio
- Auth
- OAuth
- Version
- 0.4.1
- License
- MIT
- Last commit
- Sep 15, 2026
- Open issues
- 10
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 2Hide
- github.com · github.com
- pypi.org · pypi.org