Google Search Console MCP: connect GSC to Claude, Cursor or ChatGPT

By ElixRank Team · Updated

Short answer

A Google Search Console MCP server lets an AI assistant query your Search Console data in chat. Google has not published an official one (as of October 2026), so you install a community server, create a Google Cloud OAuth client with the Search Console API enabled, and add the server to Claude Desktop, Claude Code or Cursor. ChatGPT needs a remote, HTTPS-hosted server instead.

What a GSC MCP server does

MCP (Model Context Protocol) is a standard way for AI assistants to call outside tools. A Search Console MCP server wraps the public Search Console API and exposes it as tools the assistant can call: list your properties, pull clicks and impressions by query or page, compare two date ranges, inspect a URL's index status and list sitemaps.

You ask a question in plain language, such as "which pages lost the most clicks this month?", and the assistant decides which tool calls to make, reads the rows that come back and answers. The data never passes through a third-party SEO tool: the server runs on your machine and talks to Google with your own credentials.

The main Search Console MCP servers compared

These are the most-used open-source options, summarised from their READMEs in October 2026. Projects change quickly, so confirm the current steps in each repository before installing.

Sources: each project's GitHub README, checked 10 October 2026.
ServerRuns withGoogle Cloud setupNotes
AminForou/mcp-gscPython via uvx (mcp-search-console)Yes: your own OAuth client, or a service accountOne of the most used. Up to 500 rows per call. Tools that delete sites or sitemaps are off unless you enable them.
LukeRenton/google-search-console-mcpNode via npxYes: OAuth client fileInstalls as a Claude Code plugin or with claude mcp add. Ships a companion SEO diagnosis skill.
chrisreddington/search-console-mcpNode 26+ (macOS, Linux)Yes: OAuth desktop clientRead-only by design. Works as a Claude Code plugin or with Codex.
thenavidm/google-search-console-mcp-cliNode 20+Yes, or a service account for servers and CIMCP server plus a CLI, with 19 tools covering analytics, URL inspection, sitemaps and verification.
lionkiii/google-searchconsole-mcpNode via npxNo: you sign in through the project's own OAuth appFastest to start. You trust the project's OAuth app with your Search Console access.

If you want one recommendation: use a server that runs on your own OAuth client and is read-only by default. You control the credentials, and an assistant can't remove a property or sitemap by mistake.

Step 1: create a Google Cloud OAuth client

Most servers need an OAuth client that belongs to you. It takes about ten minutes and is free.

  1. Go to the Google Cloud console and create a new project, for example "gsc-mcp".
  2. Open APIs & Services → Library, search for "Google Search Console API" and click Enable.
  3. Open the OAuth consent screen (Google Auth Platform). Choose External, fill in the app name and your email, and add your own Google account as a test user.
  4. Go to Clients (Credentials) → Create client → Application type: Desktop app. Download the JSON file.
  5. Save it somewhere permanent, such as ~/.config/gsc/client_secrets.json, and note the absolute path.

Use the service-account route instead for automation or a shared team setup: create a service account, download its JSON key, and add the service account's email as a user on the Search Console property.

Step 2: add the server to Claude Desktop, Claude Code or Cursor

The example uses mcp-gsc, which runs through uvx (part of the uv Python tool). Install uv first, then find the full path to uvx with which uvx. Desktop apps don't read your shell profile, so a bare uvx often fails.

Claude Desktop: claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/)

{
  "mcpServers": {
    "gsc": {
      "command": "/Users/you/.local/bin/uvx",
      "args": ["mcp-search-console"],
      "env": {
        "GSC_OAUTH_CLIENT_SECRETS_FILE": "/Users/you/.config/gsc/client_secrets.json"
      }
    }
  }
}

Claude Code: one command

claude mcp add gsc -e GSC_OAUTH_CLIENT_SECRETS_FILE=/Users/you/.config/gsc/client_secrets.json -- uvx mcp-search-console

Cursor uses the same JSON block in ~/.cursor/mcp.json. Fully quit and reopen the app, then ask "List my Search Console properties." A browser window opens once for Google sign-in, and the token is cached after that.

  • Use absolute paths. ~/ and relative paths are a common cause of a server that silently fails to start.
  • Domain properties appear as sc-domain:example.com, URL-prefix properties as https://example.com/. Use the exact form the server lists.
  • If tools don't appear, check the app's MCP logs. The usual causes are a wrong uvx path or a Python version that's too old.

Can you connect Search Console to ChatGPT?

Yes, with more work. ChatGPT connects only to remote MCP servers reachable over public HTTPS, set up as a custom connector in Developer Mode. It can't start a local process on your laptop the way Claude Desktop can. Which ChatGPT plans can add custom connectors, and whether they can use write actions, has changed several times in 2026, so check OpenAI's current help page for your plan.

  1. Run a GSC MCP server that supports HTTP or SSE transport on a server you control, or behind a tunnel such as Cloudflare Tunnel.
  2. Protect it. A public endpoint holding your Google token must require OAuth, or anyone who finds the URL can read your data.
  3. In ChatGPT, enable Developer Mode, add a custom connector with the server URL and complete the sign-in.

For most people, the simpler ChatGPT route is a hosted service that has already done the OAuth and hosting work. That's the same trade-off as with Claude: setup time versus trusting a third party.

Prompts that work well with Search Console data

  • "Compare the last 28 days with the previous 28 days. Which 10 pages lost the most clicks, and which queries drove the loss?"
  • "Find queries with average position between 4 and 15 and more than 200 impressions. Group them by page." These are striking distance keywords.
  • "Which queries have high impressions but CTR under 1%? Suggest a better title for each page." Check new titles with the meta length checker.
  • "Do any two pages rank for the same query?" That is a quick keyword cannibalization check.
  • "Inspect these 5 URLs and tell me which aren't indexed and why."

Ask for summaries rather than raw tables. Large pulls (thousands of rows) fill the assistant's context window, and answers get worse or the chat runs out of room.

Limits of the Search Console API you'll hit

  • 16 months of history. The API can't go further back. Export older data elsewhere if you need year-over-year beyond that.
  • Rows are capped. One API request returns up to 25,000 rows (servers often cap lower, e.g. 500 per call). Google also exposes only part of the long tail per day, and anonymised queries are never returned.
  • Data lags 2–3 days. The most recent days are incomplete or missing.
  • URL Inspection quota. About 2,000 inspections per day per property, so bulk index audits need batching over days.
  • No keyword volume or difficulty. Search Console shows your impressions, not market demand or competitors. You need a keyword data source for that.

For what each metric means and why the totals in the API don't match the UI, see Search Console metrics explained.

Security checklist before you connect

  • Prefer servers that request the read-only scope (webmasters.readonly) unless you need sitemap submission.
  • Keep destructive tools (delete property, delete sitemap) disabled.
  • Never commit the client secret or token files to a repository.
  • With a third-party OAuth app or hosted server, read who stores your token and for how long.
  • Revoke access any time at myaccount.google.com → Security → Third-party connections.

The no-setup option: ElixRank

If you want answers from your Search Console data without managing Google Cloud projects, config files and expiring tokens, ElixRank does the same job as a hosted app. You sign in with Google once, it syncs your Search Console data, and you ask questions in a chat. It also adds what the raw API lacks: keyword volume and difficulty, competitor and SERP data, technical and AI-search (GEO) audits, and a ranked list of what to fix first.

The trade-off is the same as any hosted service: you trust ElixRank with read-only access instead of running the server yourself. The free plan includes a few answers a month, so you can compare it with your MCP setup on the same questions.

Frequently asked questions

Is there an official Google Search Console MCP server?

Not as of October 2026. Google offers an official MCP server for Google Analytics, but Search Console servers are community-built wrappers around the public Search Console API.

Does a GSC MCP server work in Claude.ai in the browser?

Local servers run through the Claude Desktop app, Claude Code or Cursor, not the claude.ai website. To use one on the web, it has to be hosted remotely and added as a custom connector.

Why does my GSC MCP stop working after 7 days?

Your Google OAuth app is in Testing status, which expires refresh tokens after 7 days. Publish the app in the Google Auth Platform to stop the weekly re-login.

Can the assistant change my Search Console settings?

Only if the server exposes write tools and you enable them. Many servers can submit or delete sitemaps or add properties. Use a read-only server or keep those tools off.

How much data can I pull?

Up to 16 months of history. Each API request returns at most 25,000 rows, many servers cap it lower per call, and anonymised queries are never included.

Can I use Search Console data in ChatGPT without MCP?

Yes. Export Performance data as CSV from Search Console and upload it to the chat. It's a snapshot, not live, and long exports are capped at 1,000 rows from the UI.

Skip the setup

Connect Search Console once and ask ElixRank anything about your rankings, with keyword and competitor data built in.

Try ElixRank free →