Google Search Console (mcp-gsc)

listing.by

Analyze Google Search Console performance, URL inspection, indexing and sitemaps through natural language.

state.local.long (state.local.title)listing.badge.runs_with

listing.install

listing.local.explain

uvx mcp-search-console

listing.local.needs listing.local.note

  • GSC_OAUTH_CLIENT_SECRETS_FILE Path to your Google OAuth client secrets JSON (or use a service account with GSC_CREDENTIALS_PATH and GSC_SKIP_OAUTH=true).

listing.share.h

listing.share.p_local

mcp.tc/i/search-console

listing.about

Connects Google Search Console to an AI assistant so you can query search performance data, inspect URLs, check indexing status and manage sitemaps. The README also lists comparisons between periods, advanced search analytics with sorting, and batch URL inspection. It is a community project, not made by Google.

It runs locally over stdio with uvx (uvx mcp-search-console) and needs Python 3.11 or newer. Authenticate with Google OAuth by pointing GSC_OAUTH_CLIENT_SECRETS_FILE at a client secrets file, or use a service account with GSC_CREDENTIALS_PATH and GSC_SKIP_OAUTH=true. Add and delete tools stay disabled unless GSC_ALLOW_DESTRUCTIVE is set to true.

listing.can

  • List the Search Console properties you can access
  • Query search performance and advanced search analytics
  • Compare search performance between two periods
  • Inspect URLs and batch-check indexing status
  • Surface rich-result issues from URL inspection
  • Work with sitemaps for a property
  • Check auth status with get_capabilities

listing.tools

listing.notools.oauth

listing.prompts

  • List all my GSC properties

  • Compare search performance for example.com over the last 28 days with the previous period

  • Inspect indexing for my top 10 pages on example.com

  • Find queries at positions 11 to 20 with high impressions

listing.setup.h

listing.setup.local

Claude Code

  1. Run this in a terminal, in your project folder:
claude mcp add --transport stdio search-console --env "GSC_OAUTH_CLIENT_SECRETS_FILE=<YOUR_GSC_OAUTH_CLIENT_SECRETS_FILE>" -- uvx mcp-search-console
  1. Start Claude Code and type /mcp. search-console should show as connected.

Add --scope user to make it available in every project. Replace the placeholders with your own values.

Claude Desktop

  1. Open Settings → Developer → Edit Config. It opens claude_desktop_config.json. Add:
claude_desktop_config.json
{
  "mcpServers": {
    "search-console": {
      "command": "uvx",
      "args": [
        "mcp-search-console"
      ],
      "env": {
        "GSC_OAUTH_CLIENT_SECRETS_FILE": "<YOUR_GSC_OAUTH_CLIENT_SECRETS_FILE>"
      }
    }
  }
}
  1. Save the file and restart Claude Desktop. Replace the placeholders with your own values.

Needs uv (Python) on your computer. The file lives in ~/Library/Application Support/Claude/ on macOS and %APPDATA%\Claude\ on Windows.

Cursor

Or add it by hand to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (this project):

mcp.json
{
  "mcpServers": {
    "search-console": {
      "command": "uvx",
      "args": [
        "mcp-search-console"
      ],
      "env": {
        "GSC_OAUTH_CLIENT_SECRETS_FILE": "<YOUR_GSC_OAUTH_CLIENT_SECRETS_FILE>"
      }
    }
  }
}

Needs uv (Python) on your computer. Replace the placeholders with your own values.

VS Code

Add it to .vscode/mcp.json. VS Code asks for the secret the first time and stores it securely:

.vscode/mcp.json
{
  "servers": {
    "search-console": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "mcp-search-console"
      ],
      "env": {
        "GSC_OAUTH_CLIENT_SECRETS_FILE": "${input:gsc-oauth-client-secrets-file}"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "gsc-oauth-client-secrets-file",
      "description": "GSC_OAUTH_CLIENT_SECRETS_FILE",
      "password": true
    }
  ]
}

Needs uv (Python) on your computer.

Devin Desktop

  1. Add it to ~/.config/devin/mcp_config.json (macOS and Linux) or %APPDATA%\devin\mcp_config.json (Windows):
mcp_config.json
{
  "mcpServers": {
    "search-console": {
      "command": "uvx",
      "args": [
        "mcp-search-console"
      ],
      "env": {
        "GSC_OAUTH_CLIENT_SECRETS_FILE": "<YOUR_GSC_OAUTH_CLIENT_SECRETS_FILE>"
      }
    }
  }
}
  1. Refresh the MCP server list in Cascade. Replace the placeholders with your own values.

Devin Desktop is the new name for Windsurf.

Codex

codex mcp add search-console --env "GSC_OAUTH_CLIENT_SECRETS_FILE=<YOUR_GSC_OAUTH_CLIENT_SECRETS_FILE>" -- uvx mcp-search-console

Or edit ~/.codex/config.toml directly:

config.toml
[mcp_servers.search-console]
command = "uvx"
args = ["mcp-search-console"]
env = { GSC_OAUTH_CLIENT_SECRETS_FILE = "<YOUR_GSC_OAUTH_CLIENT_SECRETS_FILE>" }

Needs uv (Python) on your computer. Replace the placeholders with your own values.

Gemini CLI

gemini mcp add -e "GSC_OAUTH_CLIENT_SECRETS_FILE=<YOUR_GSC_OAUTH_CLIENT_SECRETS_FILE>" search-console uvx mcp-search-console

This adds it to the current project. Add -s user to use it everywhere.

Any client

Most clients that start local servers accept this shape:

{
  "mcpServers": {
    "search-console": {
      "command": "uvx",
      "args": [
        "mcp-search-console"
      ],
      "env": {
        "GSC_OAUTH_CLIENT_SECRETS_FILE": "<YOUR_GSC_OAUTH_CLIENT_SECRETS_FILE>"
      }
    }
  }
}

Zed puts servers under context_servers in its settings, with the same command, args and env fields.

Needs uv (Python) on your computer. Replace the placeholders with your own values.

listing.faq

Can I paste mcp.tc/i/search-console into my MCP client?

No. Google Search Console (mcp-gsc) runs on your own computer, started by your client, so it has no web address to connect to. The quick link is the page to share; the install command is uvx mcp-search-console.

Does Google Search Console (mcp-gsc) need an API key?

Yes. It reads GSC_OAUTH_CLIENT_SECRETS_FILE from its environment, and GSC_OAUTH_CLIENT_SECRETS_FILE is a secret. Put the value in your client's config on your own machine, never in a shared file.

Is Google Search Console (mcp-gsc) a remote or a local server?

Local. Your client starts it as a process on your computer with uvx mcp-search-console, which needs uv (Python).

What can Google Search Console (mcp-gsc) do?

You can list the Search Console properties you can access, query search performance and advanced search analytics and compare search performance between two periods.

Which clients can use it?

Any client that starts local servers: Claude Code, Claude Desktop, Cursor, VS Code, Devin Desktop, Codex, Gemini CLI, Zed and others. claude.ai and ChatGPT only connect to remote servers.

Who wrote this page?

mcp.tc's robot read Google Search Console (mcp-gsc)'s public metadata (its package and repository pages), and an AI model drafted the text from it. A person reviews anything the checks can't confirm. The text can still be wrong, so if you spot a mistake, use Report this listing on this page.

listing.em.h

listing.em.lead_local listing.em.how

listing.em.badge

em.prev_lightem.prev_dark
Markdown
[![Google Search Console (mcp-gsc) on mcp.tc](https://mcp.tc/i/search-console/badge.svg)](https://mcp.tc/i/search-console)
HTML
<a href="https://mcp.tc/i/search-console"><img src="https://mcp.tc/i/search-console/badge.svg" alt="Google Search Console (mcp-gsc) on mcp.tc" height="20"></a>

listing.em.badge_note

listing.em.widget

HTML
<script src="https://mcp.tc/w/search-console.js" async></script>

listing.em.widget_note

iframe

HTML
<iframe src="https://mcp.tc/embed/search-console" title="Google Search Console (mcp-gsc) on mcp.tc" width="420" height="200" loading="lazy" allow="clipboard-write" style="border:0;border-radius:8px;max-width:100%"></iframe>

listing.em.iframe_note

JSON

listing.em.json_local

https://mcp.tc/i/search-console.json

listing.em.fields

listing.disclaimer_checked