MCP.so
Sign In

Google Search Console MCP Server (mcp-gsc)

@AminForou

Basic information

Category

Search

License

MIT

Transports

stdio

Author

AminForou

About Google Search Console MCP Server

Google Search Console Insights with Claude AI for SEOs

Google Search Console MCP Server config

Add this server to your MCP-compatible client using the configuration below.

{
  "mcpServers": {
    "mcp-gsc": {
      "command": "uv",
      "args": [
        "venv",
        ".venv"
      ]
    }
  }
}

Google Search Console MCP Server tools

15

Lists all tools and shows auth status — call this first if unsure

Shows all your GSC properties

Details about a specific site

Top queries and pages with clicks, impressions, CTR, position

Summary of site performance

Compare performance between two time periods

Search terms driving traffic to a specific page

Analytics with filters by country, device, query, page

Detailed crawl/index status for a URL

Inspect up to 10 URLs at once

Check multiple URLs for indexing problems

Lists all sitemaps for a site

Detailed sitemap info including errors and warnings

Submit or delete sitemaps

Re-run the OAuth browser login (switch accounts)

Overview

What is Google Search Console MCP Server (mcp-gsc)?

mcp-gsc is an open-source Google Search Console MCP server that connects your GSC properties to AI assistants such as Claude Desktop, Cursor and Codex CLI, so you can query clicks, impressions, indexing status and sitemaps in plain language.

It is a community GSC MCP server by AminForou, MIT-licensed, written in Python and published on PyPI as mcp-search-console. Google does not publish an official Search Console MCP server. It runs locally over stdio and calls the Search Console API with your OAuth login or a service account.

How to use Google Search Console MCP Server (mcp-gsc)?

Setup: create credentials, install uv, configure your client.

1. Create credentials (pick one).

  • OAuth (recommended): in Google Cloud Console, create or select a project, enable the Search Console API, create an OAuth client ID of type Desktop app, and download the JSON file (for example ~/Documents/client_secrets.json). On first use a browser window opens for Google sign-in, and the token is cached after that.
  • Service account (automation or teams): enable the same API, create a service account, download a JSON key, and add the service account email to your property under Search Console → Settings → Users and permissions.

2. Install uv. The recommended method runs the server with uvx, which downloads it and manages Python for you:

curl -LsSf https://astral.sh/uv/install.sh | sh
source $HOME/.local/bin/env
echo 'source $HOME/.local/bin/env' >> ~/.zshrc

GUI apps don't read your shell config, so use the full path from which uvx in configs.

3. Configure your client. Fully quit and reopen the app after editing the config, then ask: "List my GSC properties".

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "gscServer": {
      "command": "/FULL/PATH/TO/uvx",
      "args": ["mcp-search-console"],
      "env": {
        "GSC_OAUTH_CLIENT_SECRETS_FILE": "/full/path/to/client_secrets.json"
      }
    }
  }
}

For a service account, replace the env block with "GSC_CREDENTIALS_PATH": "/full/path/to/service_account.json" and "GSC_SKIP_OAUTH": "true".

Claude Code

The README doesn't give a Claude Code command for the local server. The same stdio command can be registered with Claude Code's standard claude mcp add syntax:

claude mcp add gscServer -e GSC_OAUTH_CLIENT_SECRETS_FILE=/full/path/to/client_secrets.json -- uvx mcp-search-console

Cursor

Use the same JSON as Claude Desktop in ~/.cursor/mcp.json. The server is also available as a one-click install: search for mcp-search-console in the Cursor Marketplace. That version includes four bundled skills: seo-weekly-report, cannibalization-check, indexing-audit and content-opportunities.

Codex

Add to ~/.codex/config.toml:

[mcp_servers.gscServer]
command = "/FULL/PATH/TO/uvx"
args = ["mcp-search-console"]
enabled = true
env = { GSC_OAUTH_CLIENT_SECRETS_FILE = "/full/path/to/client_secrets.json" }

To modify the code, clone the repo instead and run gsc_server.py from a virtual environment (Python 3.11+).

Key features of Google Search Console MCP Server (mcp-gsc)

  • Lists every GSC property you can access, with verification and ownership details.
  • Pulls search analytics (queries, pages, clicks, impressions, CTR, position) with filters by country, device, query and page.
  • Compares two date ranges to show which queries and pages gained or lost traffic.
  • Inspects single URLs or batches of up to 10 for crawl and index status, including rich-result issues.
  • Lists, submits and checks sitemaps for errors and warnings.
  • Supports OAuth (your own Google account) or a service account. reauthenticate switches accounts.
  • Destructive tools (add_site, delete_site, delete_sitemap) are off by default and need GSC_ALLOW_DESTRUCTIVE=true.
  • Optional SSE transport and a Dockerfile for remote or container deployments.

Google Search Console MCP Server (mcp-gsc) tools

The README lists 15 core tools. Calling get_capabilities returns the full set of 20 tools together with your current auth status.

  • Properties: list_properties and get_site_details show your sites and their details.
  • Search analytics: get_search_analytics, get_performance_overview, get_search_by_page_query, get_advanced_search_analytics and compare_search_periods cover top queries, page-level terms, filtered reports and period-over-period comparisons. Rows per request can go up to 500 (row_limit).
  • URL inspection: inspect_url_enhanced, batch_url_inspection and check_indexing_issues report crawl dates, index verdicts and indexing problems.
  • Sitemaps: get_sitemaps, list_sitemaps_enhanced and manage_sitemaps show sitemap status and submit or delete sitemaps.
  • Utility: get_capabilities and reauthenticate.

Use cases of Google Search Console MCP Server (mcp-gsc)

  • Find title and meta opportunities: "Show me the top 20 search queries for mywebsite.com in the last 30 days, highlight any with CTR below 2%, and suggest title improvements."
  • Diagnose traffic drops: "Compare my site's performance between January and February. What queries improved the most?"
  • Audit indexing: "Check these pages for indexing issues: mywebsite.com/product, mywebsite.com/services, mywebsite.com/about"
  • Spot striking-distance keywords: "Analyze queries with high impressions but positions below 10, filtered to mobile traffic in the US only."
  • Report on a page: "Do a comprehensive inspection of mywebsite.com/landing-page and give me actionable recommendations."

Google Search Console MCP Server (mcp-gsc) vs alternatives

There is no official Google Search Console MCP server, so every option is community-built. mcp-gsc is the most-starred one on GitHub (about 1,900 stars) and is actively maintained.

  • Google Search Console MCP Server by ahonn is a Node.js server (mcp-server-gsc on npm). It uses service-account auth and focuses on large analytics pulls (up to 25,000 rows), regex filters and "quick wins" detection.
  • Search Console MCP by saurabhsharma2u combines Google Search Console with Bing Webmaster Tools, GA4 and AdSense in one server.

Pick mcp-gsc for OAuth with your own account, URL inspection, sitemap tools and a simple uvx install.

Troubleshooting Google Search Console MCP Server (mcp-gsc)

  • spawn uvx ENOENT or command not found: uvx: the client can't find uvx. Replace "command": "uvx" with the full path from which uvx, for example /Users/YOUR_NAME/.local/bin/uvx.
  • uv --version says command not found right after installing: run source $HOME/.local/bin/env and add it to ~/.zshrc.
  • Authentication failed or credentials file not found: use an absolute path to the JSON file, not a bare filename. Then ask the assistant to "call get_capabilities" to see the exact auth error.
  • No tools appear with the clone method: the server needs Python 3.11+ and fails silently on older versions when launched by Claude Desktop. Upgrade Python or switch to uvx.
  • Works in Claude Desktop but not on claude.ai: this server runs locally, so it only works in desktop or CLI clients, not in the claude.ai web interface.

Frequently asked questions

1

Is there an official Google Search Console MCP server?

No. Google has not released one. mcp-gsc is a community project by AminForou, and like other GSC MCP servers it uses Google's public Search Console API.

2

Is mcp-gsc free?

Yes. It is open source under the MIT license, and the Search Console API needs no payment. The author also sells a separate hosted version, Advanced GSC MCP, which has one-click sign-in and GA4 tools.

3

What credentials does the Google Search Console MCP server need?

Either an OAuth client secrets JSON (Desktop app type), set via `GSC_OAUTH_CLIENT_SECRETS_FILE`, or a service account key, set via `GSC_CREDENTIALS_PATH` with `GSC_SKIP_OAUTH=true`. The Search Console API must be enabled in your Google Cloud project.

4

Does it work with Claude Code, Cursor and Codex?

The README documents Claude Desktop, Cursor and Codex CLI configs and says it works with any MCP-compatible client, including Gemini CLI and Antigravity. Claude Code can run the same `uvx mcp-search-console` stdio command.

5

Is it local or remote?

By default it runs locally over stdio. For remote use you can start it with `MCP_TRANSPORT=sse` or run it in Docker.

6

Can the AI delete my sites or sitemaps?

Not by default. `add_site`, `delete_site` and `delete_sitemap` stay disabled unless you set `GSC_ALLOW_DESTRUCTIVE` to `"true"`.

7

Why do my numbers differ from the GSC dashboard?

`GSC_DATA_STATE` defaults to `"all"`, which matches the dashboard. If you set it to `"final"`, the server returns only confirmed data, which lags by 2–3 days.

8

How do I switch Google accounts?

Call the `reauthenticate` tool. It reruns the OAuth browser login.

Comments

More Search MCP servers