← Back to directory
G

Google Search Console MCP Server

Community
Analyze Google Search Console SEO data through natural-language chats with your AI assistant
GitHub source repository ↗
★ 1.5k Stars Category · Other Very popular
63FMRS · C

This is a community-maintained, MIT-licensed, unofficial MCP server that connects Google Search Console to MCP-capable AI clients. Its strengths are broad coverage of the SEO workflow — properties, search analytics, URL inspection, and sitemap management — plus uvx-based installation without cloning, two authentication options, and optional sse transport for remote deployment. The trade-off is that users must create their own Google Cloud credentials and manage credentials and account permissions themselves, and the cloned install requires Python 3.11+. It suits SEO users willing to set things up themselves, and is not aimed at those who only want a web interface or don't want to manage credentials.

Reliability
10/20
Security and permissions
10/20
Maintenance
13/20
Documentation
16/20
Setup experience
14/20
Read the FMRS scoring method →

This is a Model Context Protocol (MCP) server that connects Google Search Console (GSC) to AI assistants so you can analyze SEO data through natural-language conversation. It covers property management, search analytics and reporting, URL inspection and indexing status, and sitemap management, and can have the assistant visualize data with charts. The server runs locally and supports two authentication paths: OAuth browser sign-in (recommended, uses your own Google account) or a service account (for automation or team use). Client configs require absolute paths to your credentials file; on first use OAuth opens a browser window, after which the token is cached. It can run without installation via uvx, or from a cloned repository (requires Python 3.11+). It also supports remote/network deployment with MCP_TRANSPORT=sse and running in Docker. Tools provided include property listing, site details, search analytics, performance overview, period comparison, per-page queries, advanced filtered analytics, URL inspection, batch URL inspection, indexing issue checks, sitemap viewing and management, reauthentication, and get_capabilities.

Tools

get_capabilities
Lists all tools and shows current auth status — call this first if unsure
list_properties
Shows all your GSC properties
get_site_details
Details about a specific site
get_search_analytics
Top queries and pages with clicks, impressions, CTR, and position
get_performance_overview
Summary of site performance
compare_search_periods
Compare performance between two time periods
get_search_by_page_query
Search terms driving traffic to a specific page
get_advanced_search_analytics
Analytics with filters by country, device, query, and page
inspect_url_enhanced
Detailed crawl and index status for a URL
batch_url_inspection
Inspect up to 10 URLs at once
check_indexing_issues
Check multiple URLs for indexing problems
get_sitemaps
Lists all sitemaps for a site
list_sitemaps_enhanced
Detailed sitemap info including errors and warnings
manage_sitemaps
Submit or delete sitemaps
reauthenticate
Re-run the OAuth browser login (switch accounts)

Setup

  1. Set up Google API credentials: create a project in Google Cloud Console, enable the Search Console API, then either create an OAuth client ID (Desktop app, download the JSON to a permanent location) or create a service account and download its JSON key (the service account email must be added to your GSC property as a Full access user). 2. Install uv and run all three commands in order: curl -LsSf https://astral.sh/uv/install.sh | sh; source $HOME/.local/bin/env; echo 'source $HOME/.local/bin/env' >> ~/.zshrc; then verify with uv --version. 3. Add an mcpServers entry to your AI client config, using the full path to uvx as command (find it with which uvx on macOS/Linux), args ["mcp-search-console"], and env with either GSC_OAUTH_CLIENT_SECRETS_FILE or GSC_CREDENTIALS_PATH plus GSC_SKIP_OAUTH. Claude Desktop config is ~/Library/Application Support/Claude/claude_desktop_config.json, Cursor is ~/.cursor/mcp.json, and Codex CLI is ~/.codex/config.toml. 4. Fully quit the app (Cmd+Q) and reopen it after saving. 5. Test by asking your assistant to "List my GSC properties"; if it fails, ask it to "call get_capabilities" to see auth status. The clone-based install requires Python 3.11+ and uses uv venv .venv and uv pip install -r requirements.txt.
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"
      }
    }
  }
}

Fit and risk

Best for

  • SEO practitioners who regularly analyze GSC search performance data
  • Users of MCP-compatible clients such as Claude Desktop, Cursor, Codex CLI, Gemini CLI, or Antigravity
  • Individuals and small teams who prefer natural-language conversation over manually exporting reports
  • Users willing to configure their own Google Cloud credentials and run the server locally

Not for

  • Users who only want claude.ai in the browser and won't install the desktop app (the MCP server runs locally)
  • Users who don't want to create a Google Cloud project and API credentials
  • Users who need a hosted one-click sign-in with GA4 tools (the source points to a separate hosted version limited to 100 seats)
  • Users running a cloned install on Python 3.10 or older

Required permissions

  • Google Search Console API access (read search analytics and site data)
  • OAuth path requires Google account authorization, with the token cached locally
  • Service account path requires adding the service account email as a Full access user on your GSC property
  • Credential JSON file paths are provided by the user via the client config env
  • Destructive operations (add_site, delete_site, delete_sitemap) are disabled by default and require explicitly setting GSC_ALLOW_DESTRUCTIVE=true

Risks and side effects

  • Credential JSON files contain sensitive keys and must be protected and kept out of version control
  • If GSC_ALLOW_DESTRUCTIVE is enabled, the AI assistant can perform destructive actions such as adding/removing sites and deleting sitemaps
  • Remote deployment with sse transport bound to 0.0.0.0 exposes the service on the network, so you must assess access-control risk yourself
  • OAuth tokens are cached in the local platform user config directory, which may have access boundaries on multi-user machines
  • Service account keys are long-lived, so a leak has a broad impact

Troubleshooting

  1. spawn uvx ENOENT or command not found: uvx — use the full absolute path to uvx in your config (which uvx on macOS/Linux; Get-Command uvx | Select-Object -ExpandProperty Source on Windows)
  2. uv --version says command not found right after installing — run source $HOME/.local/bin/env and append it to ~/.zshrc
  3. Authentication failed or credentials file not found — make sure you use an absolute path, not a relative path or ~/ form
  4. MCP only works in the Claude Desktop app, not the website — this is expected; download the desktop app from claude.ai/download
  5. Config changes don't take effect — fully quit the app (Cmd+Q) and reopen; closing the window isn't enough
  6. Cloned install fails to start with no log — confirm Python 3.11 or newer, otherwise recreate the virtual environment
  7. Unsure which tools are available or what the auth state is — have the assistant call get_capabilities
  8. Fresh uvx installs crash on mcp 2.0 (ModuleNotFoundError: No module named 'mcp.server.fastmcp') — fixed in 0.3.3 by pinning mcp[cli]<2.0.0
  9. The OAuth browser window doesn't open on macOS under uvx — fixed in 0.3.2

Use cases

Ask in natural language which search queries bring traffic, along with clicks, impressions, CTR, and position
Compare performance between two time periods and find the queries that improved the most
Check whether specific pages have indexing problems and when Google last crawled them
Inspect multiple URLs in batch to spot recurring patterns
View, submit, or delete sitemaps and check for errors and warnings
Run advanced search analytics filtered by country, device, query, or page
Have the assistant build performance charts and suggest title improvements

Supported clients

Claude DesktopFull support
CursorFull support
Codex CLIFull support
Gemini CLIPartial support
AntigravityPartial support