GSC MCP Server
A Model Context Protocol server that provides read-only access to Google Search Console data, enabling natural language queries about SEO performance, rankings, and indexing status.
README
GSC MCP Server
A Model Context Protocol server that gives Claude (and any MCP client) read-only access to your Google Search Console data. Ask Claude about your SEO performance, rankings, click-through rates, and indexing status — all from natural conversation.
What You Get
9 tools that cover the full range of GSC data analysis:
| Tool | What it does |
|---|---|
gsc_query_performance |
Flexible raw queries with full filter control — dimensions, date ranges, device, country |
gsc_top_pages |
Top performing pages ranked by clicks, impressions, CTR, or position |
gsc_top_queries |
Top search queries driving traffic to your site |
gsc_page_queries |
"What queries does this page rank for?" |
gsc_query_pages |
"Which pages rank for this query?" — cannibalization detection |
gsc_position_tracker |
Compare two date ranges to find ranking changes — flags significant movers |
gsc_ctr_analysis |
Quick wins: pages with high impressions but low CTR (title/meta optimization targets) |
gsc_list_sites |
List all GSC properties your account can access |
gsc_inspect_url |
Check index status, crawl info, mobile usability, and rich results for any URL |
All tools support response_format: "markdown" | "json" and a site_url parameter for multi-site use.
Example Usage
Once configured, just ask Claude things like:
- "What are my top search queries this month?"
- "What is alloypartners.com/blog/venture-builder ranking for?"
- "Find pages with high impressions but low CTR — where can I improve titles?"
- "Which of my pages rank for 'venture studio'? Is there cannibalization?"
- "How have my rankings changed compared to last month?"
- "Is this URL indexed by Google?"
Quick Start
1. Clone and build
git clone https://github.com/drewbeechler/gsc-mcp-server.git
cd gsc-mcp-server
npm install
npm run build
2. Set up Google Cloud credentials (one-time)
You need OAuth 2.0 credentials to authenticate with the Search Console API. See Google Cloud Setup below for the full walkthrough.
3. Add to Claude
Claude Code — add to ~/.claude.json:
{
"mcpServers": {
"gsc": {
"command": "node",
"args": ["/path/to/gsc-mcp-server/dist/index.js"],
"env": {
"GSC_OAUTH_SECRETS_FILE": "/path/to/client_secrets.json",
"GSC_SITE_URL": "sc-domain:yoursite.com"
}
}
}
}
Claude Desktop — add the same config to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows).
4. Authorize
The first time a GSC tool is called, your browser will open for Google OAuth authorization. Sign in, approve, and the token is cached at ~/.gsc-mcp/token.json for all future sessions.
Google Cloud Setup
One-time setup to get OAuth credentials. Takes about 5 minutes.
Step 1: Create a Google Cloud Project
- Go to Google Cloud Console
- Click the project dropdown at the top → New Project
- Name it something like
gsc-mcp-server→ click Create - Make sure the new project is selected
Step 2: Enable the Search Console API
- Go to APIs & Services → Library
- Search for "Google Search Console API"
- Click on it → click Enable
Step 3: Configure OAuth Consent Screen
- Go to APIs & Services → OAuth consent screen (may show as "Google Auth Platform")
- Fill in App name (e.g.,
GSC MCP Server) and your email - For Audience/User type, select External (or Internal if you're on Google Workspace)
- Add your email as a test user if prompted
- Complete the setup
Note: The scopes are requested at runtime by the server — you don't need to manually add them in the console.
Step 4: Create OAuth Credentials
- Go to APIs & Services → Credentials (or Clients in the new Auth Platform UI)
- Click + Create Credentials → OAuth client ID
- Application type: Desktop app
- Click Create → Download JSON
- Save the file somewhere safe:
mkdir -p ~/.gsc-mcp mv ~/Downloads/client_secret_*.json ~/.gsc-mcp/client_secrets.json
Step 5: Test it
npx @modelcontextprotocol/inspector node dist/index.js
This opens an interactive UI where you can test any tool. Try gsc_list_sites first to verify auth works.
"Unverified app" warning: If you set user type to External, you'll see this on first auth. Click Advanced → Go to GSC MCP Server (unsafe). This is normal for personal-use OAuth apps.
Environment Variables
| Variable | Required | Description |
|---|---|---|
GSC_OAUTH_SECRETS_FILE |
Yes | Path to your client_secrets.json from Google Cloud |
GSC_SITE_URL |
No | Default GSC property (e.g., sc-domain:example.com). Can also be passed per-tool call. |
You can set these in a .env file in the project root — the server loads it automatically via dotenv.
Troubleshooting
"Authentication failed (401)" — Delete ~/.gsc-mcp/token.json and restart to re-authorize.
"Site not found (404)" — Check the site_url format. Domain properties use sc-domain:example.com, URL-prefix properties use the full URL like https://example.com/.
"Access denied (403)" — Make sure your Google account has access to the Search Console property. Verify at search.google.com/search-console.
"No data returned" — GSC data lags 2-3 days. Default date ranges account for this, but if you've overridden dates to include today, that's likely the issue.
Tech Stack
- TypeScript + Node.js
- MCP SDK (
@modelcontextprotocol/sdk) — stdio transport - Google APIs (
googleapis) — handles OAuth + token refresh natively - Zod — runtime input validation
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.