Google Search Console MCP server: complete setup guide (28 free tools)
Stop exporting CSVs and start asking questions. A complete guide to connecting Google Search Console to Claude, Cursor, or Codex with a free MCP server — 28 tools, 60-second setup.
Google Search Console MCP server: complete setup guide (28 free tools)
You know that feeling when you open Google Search Console, stare at the data, and know the answer you need is in there — somewhere?
You click into Performance. Add a filter. Change the date range. Export to Sheets. Build a pivot table. Squint at the numbers. Thirty minutes later you've answered one question that should have taken ten seconds.
What if you could just ask?
"Which pages lost traffic this month?" "What keywords am I close to ranking for on page one?" "Are any of my pages cannibalising each other?" "Which URLs are in my sitemap but not indexed?"
No clicking. No exporting. No spreadsheets. Just a question, and a real answer from your actual data.
That is exactly what a Google Search Console MCP server does. And it is completely free.
What is a Google Search Console MCP server?
Let's clear up the jargon.
MCP stands for Model Context Protocol. It is an open standard that lets AI tools like Claude connect to external data sources — think of it as USB for AI. Instead of building a bespoke plugin for every tool, any MCP server works with any MCP-compatible AI client.
A Google Search Console MCP server is the bridge between your GSC account and your AI assistant. When you ask Claude "What were my top queries last week?", Claude calls the MCP server, which calls Google's API on your behalf, and returns your real data — not a generic answer from training data, but your actual clicks, impressions, and positions.
You set it up once. After that, you just ask questions.
What does it cost?
Everything you need is free.
| Item | Cost |
|---|---|
| Google Search Console API | Free |
| Google Analytics 4 API | Free |
| GenieSeo MCP server | Free to start |
| Claude (free plan works) | Free |
The only "cost" is about 60 seconds of setup time. You only do it once.
Why would you want this? The 28 tools
GenieSeo ships 21 Google Search Console tools and 7 Google Analytics 4 tools on a single MCP URL. Here is what each one does — and an example of the question it answers.
Search analytics tools
| Tool | What it does | Example question |
|---|---|---|
| Get search analytics | Clicks, impressions, CTR, position by query, page, country, or device | "What were my top 20 queries by clicks last 28 days?" |
| Compare search periods | Week-over-week or month-over-month deltas | "Which queries dropped more than 5 positions this week vs last week?" |
| Get search by page + query | Combined page and query view in one call | "For my /pricing page, what queries drive impressions and what is the average CTR?" |
| Advanced search analytics | Multi-dimension queries with filters and sorting | "Show me queries where I rank 8–15 with more than 500 impressions — those are my quick wins" |
| Get performance overview | High-level KPI snapshot | "Give me a one-paragraph summary of how my site performed this month" |
Indexing and inspection tools
| Tool | What it does | Example question |
|---|---|---|
| Inspect URL (enhanced) | Live URL Inspection — index status, canonical, mobile usability, structured data | "Is /blog/my-new-post indexed? What is the canonical Google chose?" |
| Batch URL inspection | Inspect up to 10 URLs at once | "Check these 10 URLs from my sitemap and tell me which are not indexed and why" |
| Check indexing issues | Non-indexed URLs grouped by reason | "Find all URLs on my site that are discovered but not indexed — how many are there and what is the most common reason?" |
Sitemap tools
| Tool | What it does | Example question |
|---|---|---|
| Get sitemaps | List all submitted sitemaps with status, errors, warnings | "Show me all my sitemaps and flag any with errors" |
| Get sitemap details | Deep dive on a specific sitemap — submitted vs indexed count | "How many URLs in my sitemap are actually indexed vs submitted?" |
| List sitemaps (enhanced) | Richer sitemap data with additional metadata | "Which sitemap has the highest indexed percentage?" |
| Submit sitemap | Tell Google about a new or updated sitemap | "Submit my new blog sitemap to Google" |
| Manage sitemaps | Combined list + submit workflow | "Check my sitemaps and submit any that haven't been updated recently" |
Property and site tools
| Tool | What it does | Example question |
|---|---|---|
| List properties | Every verified GSC property on your account | "Which sites do I have verified in Search Console?" |
| Get site details | Permission level and property info | "What access level do I have on client-site.com?" |
| Add site | Add a new URL-prefix property | "Add https://new-site.com/ to my Search Console" |
| Delete site | Remove a property (requires permission) | — |
GA4 tools (bonus — same URL, no extra setup)
The same Google OAuth that grants Search Console access also grants GA4 access. You get seven GA4 tools on the same MCP URL — no second sign-in.
| Tool | What it does | Example question |
|---|---|---|
| Run GA4 report | Sessions, users, conversions, revenue by any dimension | "Show me organic traffic by landing page for the last 28 days, sorted by conversions" |
| GA4 realtime report | Last 30 minutes of live traffic | "How many people are on my site right now from organic search?" |
| GA4 funnel report | Step-by-step conversion funnel | "Build a funnel from organic landing page → product page → checkout for this month" |
| List GA4 properties | All GA4 properties on your account | "Which GA4 properties do I have access to?" |
| Get GA4 property details | Time zone, currency, industry | "What currency is my main GA4 property set to?" |
| Get custom dimensions & metrics | Every custom definition on a property | "What custom events are tracked on my GA4 property?" |
And because it is Claude on the other end, you are not limited to one tool per question. Ask follow-ups. "Show me only the pages with more than 1,000 impressions." "Which of those are blog posts?" "What is the average CTR for those pages vs my site-wide average?" Claude understands context.
The setup: step by step
There are two ways to run a Google Search Console MCP server: hosted (GenieSeo — takes 60 seconds, works on every device) or self-hosted (run the server on your own machine). This guide covers the hosted route first, then explains when self-hosted makes sense.
Option A: Hosted MCP URL (recommended)
This is the fastest path. No terminal, no Google Cloud project, no client_secrets.json. If you have ever connected an app to Google Calendar or Google Drive, this feels identical.
Step 1: Sign up at GenieSeo
Go to seo.geniedial.in/signup and click Continue with Google. You will see a standard Google consent screen asking for read-only access to Search Console and Google Analytics.
Note: the default scopes are read-only. Nothing in your account can be modified unless you opt in to destructive tools in your dashboard settings.
Step 2: Create your MCP URL
After Google redirects you back, your dashboard shows a personal MCP URL that looks like:
https://seo.geniedial.in/mcp/u/YOUR_TOKEN_HERE
Copy this URL. Treat it like a password — anyone with it can read your Search Console data.
Step 3: Paste the URL into your AI client
Different clients, different UI — same URL. See the section below for each client.
Step 4: Ask your first question
A good first question to verify everything is working:
"List my Search Console properties."
If Claude replies with your actual verified domains, you are live.
Connecting to Claude (web)
- Open Claude at claude.ai
- Click the plug icon in the bottom left → Add connector
- Choose Custom MCP
- Paste your GenieSeo URL
- Name it anything — GenieSeo or GSC works
Connecting to Claude Desktop
- Open Claude Desktop
- Go to Settings (gear icon) → Connectors
- Click Add custom MCP
- Paste your URL. Save.
Alternatively, edit ~/Library/Application Support/Claude/claude_desktop_config.json (Mac) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"genieseo": {
"url": "https://seo.geniedial.in/mcp/u/YOUR_TOKEN_HERE"
}
}
}
Restart Claude Desktop. The GenieSeo tools will appear in your tool list.
Connecting to Cursor
- Open Cursor → Settings → MCP
- Click Add new MCP server
- Choose HTTP (Streamable)
- Paste your URL. Save.
Full walkthrough: Connect GenieSeo to Cursor.
Connecting to Codex
- Run in your terminal:
claude mcp add --transport http --scope user genieseo \
https://seo.geniedial.in/mcp/u/YOUR_TOKEN_HERE
- Verify:
claude mcp list - Test:
claude -p "List my Search Console properties"
Full walkthrough: Connect GenieSeo to Codex.
Connecting to Antigravity or Windsurf
Paste your URL into Settings → MCP Servers → Add server → HTTP. Both support the Streamable HTTP transport that GenieSeo uses. Full guides: Antigravity · Windsurf.
---
Option B: Self-hosted (for developers who want local control)
If you cannot use a third-party token vault or need to run everything locally, you can self-host the MCP server.
What you will need:
- Python 3.10+ and uv installed
- A Google Cloud project with Search Console API enabled
- An OAuth client ID (client_secrets.json) downloaded to your machine
Setup overview:
- Create a Google Cloud project at console.cloud.google.com
- Enable the Google Search Console API (and optionally the Web Search Indexing API)
- Create an OAuth 2.0 Desktop App credential
- Download
client_secrets.jsonto your repo root - Clone the open-source repo and run:
git clone https://github.com/your-org/gsc-mcp-server
uv sync
uv run python gsc_server.py
- On first run a browser window opens for Google login. Token saved to
token.json, auto-refreshes when expired. - Add to Claude Desktop config:
{
"mcpServers": {
"gsc": {
"command": "uv",
"args": ["run", "python", "gsc_server.py"],
"cwd": "/path/to/gsc-mcp-server"
}
}
}
Total setup time: 30–60 minutes the first time. It only works on the machine running it — Claude on the web and iPad will not connect.
Hosted vs self-hosted: which is right for you?
| Hosted (GenieSeo) | Self-hosted (GitHub) | |
|---|---|---|
| Setup time | ~60 seconds | 30–60+ minutes |
| Works on Claude web | ✓ | ✗ |
| Works on iPad | ✓ | ✗ |
| GA4 on same URL | ✓ (7 tools) | Rarely |
| OAuth management | Automatic | You manage client_secrets.json |
| Air-gapped / no third party | ✗ | ✓ |
| Best for | SEO teams, agencies, non-developers | Developers needing full local control |
Choose hosted if you want to be asking questions in the next 60 seconds, you use Claude on the web or multiple machines, or you need GA4 alongside Search Console.
Choose self-hosted if you work in an environment where OAuth tokens cannot touch an external server, or you want to fork the code and add custom tools.
Five questions to ask Claude once you're connected
Once your MCP server is live, these are good first questions to run. Each one shows a different tool in action.
1. Quick wins report
"Find my pages that rank between position 8 and 15 with more than 500 impressions in the last 28 days. These are my fastest-moving opportunities for page-one rankings."
This calls get_search_analytics with a position filter. The output is your priority optimisation list.
2. Indexing audit
"Check my sitemap and tell me which submitted URLs are not indexed. Group them by reason."
This calls get_sitemaps, then check_indexing_issues. You get a categorised list of what Google found but decided not to index — and the most common root cause per group.
3. CTR investigation
"Which of my pages have more than 1,000 impressions but a CTR below 2%? For each, what is the most likely reason based on the query data?"
This calls get_search_analytics with page + query dimensions. Claude then reasons about intent mismatch, weak title tags, or position effects.
4. Week-over-week drop alert
"Compare last week vs the prior week. Which queries dropped more than 3 positions? Show only queries with more than 100 impressions."
This calls compare_search_periods. The output is a ranked list of regressions worth investigating.
5. Search + GA4 cross-reference
"For my top 10 organic landing pages by Search Console clicks, pull the GA4 conversion rate for each. Which pages get the most traffic but convert the worst?"
This calls get_search_analytics then run_ga4_report and joins on page path. This is the question you could never answer from either tool alone.
What about the self-hosted open-source version?
The open-source Google Search Console MCP server (the same codebase GenieSeo runs on) is available on GitHub. It is the same 21 Search Console tools and 7 GA4 tools. The difference is you run it locally, manage your own OAuth credentials, and it only works on the machine it is running on.
If you want to inspect the code, add custom tools, or run everything inside your own infrastructure — the open-source route is the right call. The hosted GenieSeo version is for teams that want to skip the setup and start asking questions immediately.
Common questions
Does it work with multiple GSC properties?
Yes. The list_properties tool returns every verified property on your Google account. You can query any of them by passing the site URL to the analytics tools. Claude will ask which property you mean if you do not specify.
Can it modify my Search Console data?
By default, no. The read-only OAuth scope prevents any writes. The only tools that modify data — add_site, delete_site, submit_sitemap — require you to explicitly enable destructive actions in your GenieSeo dashboard settings.
What happens if my token leaks?
Click Rotate URL on your GenieSeo dashboard. The old URL stops working immediately. A new token is shown once and only once — copy it to your AI client settings.
Can I use it for multiple clients (agency use case)?
You can connect one Google account per GenieSeo URL. If you manage client accounts, each client needs to grant you access to their GSC property, or you use GenieSeo with each client's credentials. Agency-level multi-account support is on the roadmap.
Does the free plan have limits?
The free plan is generous enough for individual SEOs and small teams. You can check the current limits on the pricing page.
Ready to connect?
The fastest way to understand what this feels like is to try it on your own data. You will ask a question you have been meaning to answer for months, get the answer in ten seconds, and then spend twenty minutes asking follow-up questions you never thought to ask before.
Connect Google Search Console to Claude in 60 seconds →
---
Related guides: Connect GSC to Claude step-by-step · Best GSC MCP servers compared · GA4 MCP server guide · 21 SEO questions to ask Claude with your GSC data
Frequently asked questions
What is a Google Search Console MCP server?+
It is a service that connects Google Search Console to AI assistants like Claude and Cursor. Instead of exporting CSVs, you ask questions in plain English and the AI calls live GSC data on your behalf.
Is it free?+
Yes. GenieSeo is free to start — no credit card required. The Google Search Console API and GA4 API are also free. The only cost is about 60 seconds of your time to set it up.
Does it work with Claude on the web (not just Claude Desktop)?+
Yes. GenieSeo uses the Streamable HTTP transport, which means it works in Claude on the web, Claude Desktop, Cursor, Codex, and Antigravity — all from the same URL.
Is my data safe?+
GenieSeo requests read-only Google OAuth scopes by default. Your data flows directly between Google and your AI client in real time — it is not stored or used for training. You can revoke access at any time from your Google account.
Does it include Google Analytics 4?+
Yes. The same Google sign-in grants both Search Console and GA4 access. You get 7 GA4 tools on the same MCP URL, so you can cross-reference Search Console clicks with GA4 conversions in one conversation.
What if I want to self-host instead?+
The open-source gsc_server.py is available on GitHub. You will need to create a Google Cloud project, enable the Search Console API, configure OAuth, and run the server locally. Setup takes 30–60 minutes. The hosted route (GenieSeo) is faster and works on every device including iPad and Claude web.