Google Search Console MCP

Google Search Console MCP server for Claude Code, Cursor, Copilot and five more AI agents. Connect Google Search Console to Claude, Copilot, Cursor, Codex, Gemini, Windsurf, Continue.dev and Cline. One extension, 8 agents, no config files to edit.
Install. Sign in with Google. Ask your AI agent to work with Google Search Console.
Install this or GA4 Analytics MCP, which also includes these Search Console tools, not both.
Quick Start
- Install from the VS Code Marketplace or Open VSX
- Authenticate: the setup wizard appears on first launch
- Ask your AI agent anything about Google Search Console
"Which queries brought the most clicks last week?"
"Is my pricing page indexed?"
"Show pages that lost clicks compared with last month"
"Submit my sitemap for example.com"
Prerequisites
You need one of these (the wizard will guide you):
| Method |
Best For |
What You Need |
| OAuth (recommended) |
Personal Google accounts |
A Google Cloud project with OAuth credentials |
| ADC |
Developers with gcloud CLI |
Run one terminal command |
| Service Account |
Workspace admins |
A JSON key file |
Option A: OAuth 2.0 (Browser Login), recommended
- Go to Google Cloud Console
- Create a project (or select an existing one)
- Enable the Google Search Console API under APIs & Services > Library
- Create OAuth credentials:
- Go to APIs & Services > Credentials
- Click Create Credentials > OAuth client ID
- Application type: Desktop app
- Copy the Client ID and Client Secret
- Configure the OAuth consent screen (if prompted) and add yourself as a test user
- In the extension wizard, select "OAuth" and paste your Client ID and Secret
- A browser window opens: sign in with your Google account and authorize
Option B: Application Default Credentials
gcloud auth application-default login \
--scopes=https://www.googleapis.com/auth/webmasters
Option C: Service Account Key
- Create a service account in Google Cloud Console
- Add the service account email as an Owner of each Search Console property
- Download the JSON key file
- In the extension wizard, select "Service Account" and pick the file
| Tool |
What It Does |
Example Prompt |
gsc_list_sites |
List the Search Console properties you can access |
"Which sites do I have in Search Console?" |
gsc_search_analytics |
Clicks, impressions, CTR and position by query, page, country, device or date |
"Top 20 queries for example.com last month" |
gsc_inspect_url |
Index status, last crawl, canonical and rich results for one URL |
"Is my pricing page indexed?" |
gsc_list_sitemaps |
List submitted sitemaps and their status |
"Show the sitemaps for example.com" |
gsc_add_site |
Add a property (URL prefix or sc-domain:) |
"Add sc-domain:example.com to Search Console" |
gsc_submit_sitemap |
Submit a sitemap URL |
"Submit https://example.com/sitemap.xml" |
| Tool |
What It Does |
Example Prompt |
indexing_notify |
Ask Google to crawl (URL_UPDATED) or drop (URL_DELETED) a URL |
"Notify Google that this job posting changed" |
indexing_status |
Last notification Google received for a URL |
"When did Google last get a notification for this URL?" |
Google honours the Indexing API only for pages with job posting or livestream (BroadcastEvent) markup. For ordinary pages, submit a sitemap or use URL inspection in Search Console. The Indexing API also needs a service account that is an Owner of the property.
Safety
indexing_notify with URL_DELETED asks Google to remove a URL from its index, so it requires confirm: true. The AI agent will be warned and must explicitly confirm before proceeding.
Supported AI Agents
The extension auto-registers with every AI agent it detects:
| Agent |
How It Registers |
Config File |
| VS Code Copilot |
VS Code API (automatic) |
-- |
| Claude Code |
~/.claude.json |
JSON |
| Cursor |
~/.cursor/mcp.json |
JSON |
| OpenAI Codex |
~/.codex/config.toml |
TOML |
| Google Gemini |
~/.gemini/settings.json |
JSON |
| Windsurf |
~/.codeium/windsurf/mcp_config.json |
JSON |
| Continue.dev |
~/.continue/config.yaml |
YAML |
| Cline |
VS Code globalStorage |
JSON |
You can toggle individual agents on/off in Settings > search gscMcp.agents.
Settings
| Setting |
Default |
Description |
gscMcp.authMethod |
"oauth" |
Auth method: oauth, adc, serviceAccount |
gscMcp.agents.* |
true |
Per-agent registration toggles |
gscMcp.registrationScope |
"global" |
Global or workspace registration |
gscMcp.autoStart |
true |
Auto-start server on VS Code launch |
gscMcp.serverLogLevel |
"info" |
Server log verbosity |
Commands
Open the Command Palette (Cmd+Shift+P / Ctrl+Shift+P) and search for:
| Command |
What It Does |
Google Search Console MCP: Setup Authentication |
Run the setup wizard |
Google Search Console MCP: Register with AI Agents |
Re-register with all detected agents |
Google Search Console MCP: Show Status |
Show auth method and server state |
Google Search Console MCP: Restart MCP Server |
Restart the background MCP server |
Google Search Console MCP: Check Authentication Status |
Verify credentials are valid |
Google Search Console MCP: View Server Logs |
Open the output channel for debugging |
Google Search Console MCP: Remove from All Agents |
Clean up all agent registrations |
Troubleshooting
"Google Search Console MCP: Setup" in the status bar
Your credentials aren't configured. Click the status bar item or run Google Search Console MCP: Setup Authentication.
"Permission Denied" errors
Your credentials don't have access to the requested data. Make sure the Google Search Console API is enabled in your Google Cloud project.
Server keeps crashing
Run Google Search Console MCP: View Server Logs to see the error. Common causes:
- Expired credentials: run the setup wizard again
- Node.js not found: install Node.js 22 or newer
- API not enabled: enable the Google Search Console API in Google Cloud Console
Uninstalling cleanly
Before uninstalling, run Google Search Console MCP: Remove from All Agents to clean up config files.
Privacy
This extension:
- Does NOT collect telemetry or send data to third parties
- Communicates only with Google APIs using your own credentials
- Stores credentials in VS Code's built-in SecretStorage (encrypted, per-user)
- OAuth refresh tokens never leave your machine
Links
By Renzo Johnson | Published by mercurial