# Google Search Console (DigestSEO) MCP server

> Query Search Console analytics, inspect URLs, manage sitemaps and find SEO opportunities from your assistant using your own Google OAuth.

- Listing: https://mcp.tc/i/google-search-console-digestseo
- Connect: this is a local (stdio) server; install it on your machine (see Install). The listing link is a page, not an MCP endpoint.
- Type: local (stdio)
- Auth: API key
- Category: [Marketing & SEO](https://mcp.tc/c/marketing-seo)
- Vendor: DigestSEO (AKzar1el)
- Homepage: <https://digestseo.com/gsc-mcp/>
- Repository: <https://github.com/AKzar1el/mcp-gsc>
- Package: npm `@digestseo/mcp-gsc`

## About

Connects to the Google Search Console API so an assistant can list properties, query clicks, impressions, CTR and position, inspect indexed URLs, manage sitemaps, and surface quick wins, keyword cannibalization and content decay. It also covers Google's restricted Indexing API for eligible JobPosting and livestream URLs, and can produce a weekly digest.

Runs locally with npx @digestseo/mcp-gsc, which starts a loopback Streamable HTTP server on 127.0.0.1:8080/mcp, or can be self-hosted on Cloudflare Workers. You supply your own Google OAuth client ID and secret plus a token encryption key, then sign in with Google. A readonly access mode disables the six mutation tools.

## What it can do

- List Search Console properties and check permission levels
- Query clicks, impressions, CTR and position by query, page, country or device
- Compare search performance across two date ranges
- Inspect indexing status of one or up to 10 URLs
- List, submit, get and delete sitemaps
- Find quick-win queries, cannibalization and content decay
- Generate a weekly search performance digest
- Add or remove properties unless readonly mode is set

## Tools (23)

- `server.capabilities`: List the server's tools and report local Google credential state.
- `sites.list`: List Search Console properties the connected account can access.
- `sites.get`: Get one property and the account's permission level.
- `analytics.query`: Impressions, clicks, CTR and position over a date range with breakdowns.
- `insights.page_queries`: List queries that produced impressions for one page URL.
- `insights.query_pages`: List pages that received impressions for one query.
- `urls.inspect`: URL Inspection report for the indexed version of a page.
- `urls.inspect_many`: Inspect indexed versions of up to 10 URLs.
- `sitemaps.list`: List submitted sitemaps with status and warning and error counts.
- `sites.add`: Add a Search Console property.
- `sites.delete`: Remove a Search Console property.
- `sitemaps.submit`: Submit a sitemap for a property.
- `sitemaps.delete`: Remove a submitted sitemap.
- `sitemaps.get`: Get status and details of a submitted sitemap.
- `insights.quick_wins`: Find high-impression query/page rows in the opportunity position range.
- `insights.cannibalization`: Find queries where multiple pages compete.
- `insights.content_decay`: Identify pages with the largest recent traffic declines.
- `indexing.request`: Request an Indexing API update for eligible JobPosting or livestream URLs.
- `indexing.remove`: Send a URL\_DELETED notification for a previously eligible page.
- `indexing.status`: Read latest Indexing API notifications received for a URL.
- `indexing.list_pages`: List pages with Search Console impressions.
- `analytics.compare`: Compare search performance across two date ranges.
- `reports.weekly_digest`: Generate a weekly search performance digest with one recommended action.

## Example prompts

- "Which queries brought the most clicks to my site last month?"
- "Inspect these 5 URLs and tell me which are not indexed."
- "Find pages competing for the same search queries."
- "Compare my search performance this month against last month."

## Install

### Claude Code

1. Run this in a terminal, in your project folder:

```bash
claude mcp add --transport stdio google-search-console-digestseo --env "GOOGLE_CLIENT_ID=<YOUR_GOOGLE_CLIENT_ID>" --env "GOOGLE_CLIENT_SECRET=<YOUR_GOOGLE_CLIENT_SECRET>" --env "TOKEN_ENCRYPTION_KEY=<YOUR_TOKEN_ENCRYPTION_KEY>" -- npx -y @digestseo/mcp-gsc
```

2. Start Claude Code and type `/mcp`. **google-search-console-digestseo** 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`:

```json
{
  "mcpServers": {
    "google-search-console-digestseo": {
      "command": "npx",
      "args": [
        "-y",
        "@digestseo/mcp-gsc"
      ],
      "env": {
        "GOOGLE_CLIENT_ID": "<YOUR_GOOGLE_CLIENT_ID>",
        "GOOGLE_CLIENT_SECRET": "<YOUR_GOOGLE_CLIENT_SECRET>",
        "TOKEN_ENCRYPTION_KEY": "<YOUR_TOKEN_ENCRYPTION_KEY>"
      }
    }
  }
}
```

2. Save the file and restart Claude Desktop. Replace the placeholders with your own values.

Needs Node.js on your computer. The file lives in `~/Library/Application Support/Claude/` on macOS and `%APPDATA%\Claude\` on Windows.

### Cursor

[Add to Cursor](<https://cursor.com/install-mcp?name=google-search-console-digestseo&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBkaWdlc3RzZW8vbWNwLWdzYyJdLCJlbnYiOnsiR09PR0xFX0NMSUVOVF9JRCI6IjxZT1VSX0dPT0dMRV9DTElFTlRfSUQ%2BIiwiR09PR0xFX0NMSUVOVF9TRUNSRVQiOiI8WU9VUl9HT09HTEVfQ0xJRU5UX1NFQ1JFVD4iLCJUT0tFTl9FTkNSWVBUSU9OX0tFWSI6IjxZT1VSX1RPS0VOX0VOQ1JZUFRJT05fS0VZPiJ9fQ%3D%3D>) (opens Cursor)

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

`mcp.json`:

```json
{
  "mcpServers": {
    "google-search-console-digestseo": {
      "command": "npx",
      "args": [
        "-y",
        "@digestseo/mcp-gsc"
      ],
      "env": {
        "GOOGLE_CLIENT_ID": "<YOUR_GOOGLE_CLIENT_ID>",
        "GOOGLE_CLIENT_SECRET": "<YOUR_GOOGLE_CLIENT_SECRET>",
        "TOKEN_ENCRYPTION_KEY": "<YOUR_TOKEN_ENCRYPTION_KEY>"
      }
    }
  }
}
```

Needs Node.js 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`:

```json
{
  "servers": {
    "google-search-console-digestseo": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@digestseo/mcp-gsc"
      ],
      "env": {
        "GOOGLE_CLIENT_ID": "<YOUR_GOOGLE_CLIENT_ID>",
        "GOOGLE_CLIENT_SECRET": "${input:google-client-secret}",
        "TOKEN_ENCRYPTION_KEY": "${input:token-encryption-key}"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "google-client-secret",
      "description": "GOOGLE_CLIENT_SECRET",
      "password": true
    },
    {
      "type": "promptString",
      "id": "token-encryption-key",
      "description": "TOKEN_ENCRYPTION_KEY",
      "password": true
    }
  ]
}
```

Needs Node.js 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`:

```json
{
  "mcpServers": {
    "google-search-console-digestseo": {
      "command": "npx",
      "args": [
        "-y",
        "@digestseo/mcp-gsc"
      ],
      "env": {
        "GOOGLE_CLIENT_ID": "<YOUR_GOOGLE_CLIENT_ID>",
        "GOOGLE_CLIENT_SECRET": "<YOUR_GOOGLE_CLIENT_SECRET>",
        "TOKEN_ENCRYPTION_KEY": "<YOUR_TOKEN_ENCRYPTION_KEY>"
      }
    }
  }
}
```

2. Refresh the MCP server list in Cascade. Replace the placeholders with your own values.

Devin Desktop is the new name for Windsurf.

### Codex

```bash
codex mcp add google-search-console-digestseo --env "GOOGLE_CLIENT_ID=<YOUR_GOOGLE_CLIENT_ID>" --env "GOOGLE_CLIENT_SECRET=<YOUR_GOOGLE_CLIENT_SECRET>" --env "TOKEN_ENCRYPTION_KEY=<YOUR_TOKEN_ENCRYPTION_KEY>" -- npx -y @digestseo/mcp-gsc
```

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

`config.toml`:

```toml
[mcp_servers.google-search-console-digestseo]
command = "npx"
args = ["-y", "@digestseo/mcp-gsc"]
env = { GOOGLE_CLIENT_ID = "<YOUR_GOOGLE_CLIENT_ID>", GOOGLE_CLIENT_SECRET = "<YOUR_GOOGLE_CLIENT_SECRET>", TOKEN_ENCRYPTION_KEY = "<YOUR_TOKEN_ENCRYPTION_KEY>" }
```

Needs Node.js on your computer. Replace the placeholders with your own values.

### Gemini CLI

```bash
gemini mcp add -e "GOOGLE_CLIENT_ID=<YOUR_GOOGLE_CLIENT_ID>" -e "GOOGLE_CLIENT_SECRET=<YOUR_GOOGLE_CLIENT_SECRET>" -e "TOKEN_ENCRYPTION_KEY=<YOUR_TOKEN_ENCRYPTION_KEY>" google-search-console-digestseo npx -- -y @digestseo/mcp-gsc
```

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:

```json
{
  "mcpServers": {
    "google-search-console-digestseo": {
      "command": "npx",
      "args": [
        "-y",
        "@digestseo/mcp-gsc"
      ],
      "env": {
        "GOOGLE_CLIENT_ID": "<YOUR_GOOGLE_CLIENT_ID>",
        "GOOGLE_CLIENT_SECRET": "<YOUR_GOOGLE_CLIENT_SECRET>",
        "TOKEN_ENCRYPTION_KEY": "<YOUR_TOKEN_ENCRYPTION_KEY>"
      }
    }
  }
}
```

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

Needs Node.js on your computer. Replace the placeholders with your own values.

## Details

- Server version: 0.4.36-registry.1
- Last checked: 2026-10-04
- Listed: 2026-10-04
- Updated: 2026-10-04

---
Source: https://mcp.tc/i/google-search-console-digestseo (mcp.tc is an independent directory, not affiliated with this server's publisher). Corrections: https://mcp.tc/report
