# Google Search Console

Read-only MCP server with 20 inspection tools for Google Search Console. It tracks organic performance and spots keyword cannibalization across URLs.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI
- Author: get-mcp-ads
- License: Apache-2.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/get-mcp-ads/google-search-console-mcp-server
- Updated: 2026-10-23
- HTML: https://affpapa.org/en/nevibecode/mcp/get-mcp-ads-google-search-console

## What it does

This server connects Search Console reporting directly to stdio-compliant MCP clients. It ships with 20 read-only tools and omits write operations entirely. Instead of simply pulling raw table rows, it computes differences between date windows and spots competing URLs targeting identical queries.

To prevent draining daily quotas during research, URL Inspection calls are capped at 10 URLs per run. Authentication relies on OAuth environment variables: `GSC_CLIENT_ID`, `GSC_CLIENT_SECRET`, and either `GSC_REFRESH_TOKEN` or `GSC_ACCESS_TOKEN`, along with `GSC_SITE_URL`.

Execution requires Node.js `^22.23.4`, `^24.22.1`, or `>=26.12.1`. Booting the server on earlier Node versions produces a stderr warning because older runtimes miss essential security patches.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `GSC_CLIENT_ID`, `GSC_CLIENT_SECRET`, `GSC_REFRESH_TOKEN`, `GSC_ACCESS_TOKEN`, `GSC_SITE_URL`, `GSC_SITE_URLS` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env GSC_CLIENT_ID=<GSC_CLIENT_ID> --env GSC_CLIENT_SECRET=<GSC_CLIENT_SECRET> --env GSC_REFRESH_TOKEN=<GSC_REFRESH_TOKEN> --env GSC_ACCESS_TOKEN=<GSC_ACCESS_TOKEN> --env GSC_SITE_URL=<GSC_SITE_URL> --transport stdio get-mcp-ads-google-search-console -- npx -y @getmcpads/google-search-console-mcp-server
```
Replace <…> with your own values. 1 more environment variable is in the server README

### Codex

**Platform CLI**
```bash
codex mcp add get-mcp-ads-google-search-console --env GSC_CLIENT_ID=<GSC_CLIENT_ID> --env GSC_CLIENT_SECRET=<GSC_CLIENT_SECRET> --env GSC_REFRESH_TOKEN=<GSC_REFRESH_TOKEN> --env GSC_ACCESS_TOKEN=<GSC_ACCESS_TOKEN> --env GSC_SITE_URL=<GSC_SITE_URL> -- npx -y @getmcpads/google-search-console-mcp-server
```
Replace <…> with your own values. 1 more environment variable is in the server README

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "get-mcp-ads-google-search-console": {
            "command": "npx",
            "args": [
                "-y",
                "@getmcpads/google-search-console-mcp-server"
            ],
            "env": {
                "GSC_CLIENT_ID": "<GSC_CLIENT_ID>",
                "GSC_CLIENT_SECRET": "<GSC_CLIENT_SECRET>",
                "GSC_REFRESH_TOKEN": "<GSC_REFRESH_TOKEN>",
                "GSC_ACCESS_TOKEN": "<GSC_ACCESS_TOKEN>",
                "GSC_SITE_URL": "<GSC_SITE_URL>"
            }
        }
    }
}
```
Replace <…> with your own values. 1 more environment variable is in the server README

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "get-mcp-ads-google-search-console": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@getmcpads/google-search-console-mcp-server"
            ],
            "env": {
                "GSC_CLIENT_ID": "<GSC_CLIENT_ID>",
                "GSC_CLIENT_SECRET": "<GSC_CLIENT_SECRET>",
                "GSC_REFRESH_TOKEN": "<GSC_REFRESH_TOKEN>",
                "GSC_ACCESS_TOKEN": "<GSC_ACCESS_TOKEN>",
                "GSC_SITE_URL": "<GSC_SITE_URL>"
            }
        }
    }
}
```
Replace <…> with your own values. 1 more environment variable is in the server README

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e GSC_CLIENT_ID=<GSC_CLIENT_ID> -e GSC_CLIENT_SECRET=<GSC_CLIENT_SECRET> -e GSC_REFRESH_TOKEN=<GSC_REFRESH_TOKEN> -e GSC_ACCESS_TOKEN=<GSC_ACCESS_TOKEN> -e GSC_SITE_URL=<GSC_SITE_URL> get-mcp-ads-google-search-console npx -y @getmcpads/google-search-console-mcp-server
```
Replace <…> with your own values. 1 more environment variable is in the server README

## When to use it
- detect keyword cannibalization across competing landing pages
- inspect URL indexation status without exhausting daily API quotas
- compare clicks and impressions across two consecutive date windows
- review registered properties and submitted sitemap files

## Example prompts
- Check if any URLs on our domain cannibalize rankings for the same query
- Compare search impressions and clicks over the last 14 days against the prior period
- Execute `gsc_detect_cannibalization` on the active site property

## Similar
- [search-console-mcp](https://affpapa.org/en/nevibecode/plugins/search-console-mcp.md) — plugin · ★ 2043
- [google-search-console](https://affpapa.org/en/nevibecode/skills/google-search-console.md) — skill · 1900 installs
- [pp-google-search-console](https://affpapa.org/en/nevibecode/skills/pp-google-search-console.md) — skill · 511 installs
- [QuerySail: Google Search Console](https://affpapa.org/en/nevibecode/mcp/querysail-google-search-console.md) — MCP server
- [Google Webtools MCP](https://affpapa.org/en/nevibecode/mcp/google-webtools-mcp.md) — MCP server · ★ 6

## Other versions with the same name
- [Google Search Console · acamolese](https://affpapa.org/en/nevibecode/mcp/google-search-console.md) — ★ 9
- [Google Search Console · onlymoein](https://affpapa.org/en/nevibecode/mcp/onlymoein-google-search-console.md) — ★ 9
- [Google Search Console · akzar1el](https://affpapa.org/en/nevibecode/mcp/akzar1el-google-search-console.md) — ★ 6

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
