PlugWiki
mcp-gsc logo

Google Search Console MCP Server by Amin Foroutan

CommunityLocal
GetPyPImcp-search-consoleaminforou/mcp-gsc

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.

Install mcp-gsc

Claude Code

  1. 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. 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_capabilities

  • Lists 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_properties

  • Shows 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_details

  • Shows 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_analytics

  • Runs 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_analytics

  • Gives 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_overview

  • Compares 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_periods

  • Shows 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_query

  • Checks 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_enhanced

  • Inspects 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_inspection

  • Finds indexing problems across URLs

    Checks a list of URLs for specific indexing issues.

    Try: “Which of these URLs have indexing issues?”

    Network · check_indexing_issues

  • Lists a site's sitemaps

    Returns the sitemaps registered for a property.

    Try: “List the sitemaps for example.com.”

    Network · get_sitemaps

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-onlyNo 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 toGoogle Search Console API (googleapis.com)
Sign-in and keysYour 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
  • https://www.googleapis.com/auth/webmasters

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

GitHubPyPIIssues

Sources

Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.

Show all 2
  1. github.com · github.com
  2. pypi.org · pypi.org

Facts from the official MCP registry, GitHub, npm, PyPI and the Docker catalog. Updated Nov 2, 2026.