Search Console, GA4 and Ahrefs MCP servers for Claude

I read my own site's search data through MCP. Here is what exists for each tool as of October 2026, who makes it, where it runs, and what my first week of data taught me about checking the answers.

Tavi reading an open book

You can connect all three to Claude today, but each one gets there differently. Ahrefs runs an official hosted MCP server that you add as a connector in a couple of clicks (on paid plans from Lite up). Google Analytics has an official server from Google that runs on your own computer, so it works in Claude Desktop and Claude Code but not in Claude on the web. Search Console has no MCP server that Google documents, so you use an open-source one.

I read my own site's Search Console data through MCP, and I use Ahrefs the same way. The numbers in this guide are from tavi-ai.com, measured on October 27, 2026. The site launched eight days earlier, so they're small, and they still taught me two things about checking what Claude tells you.

What does MCP do with your SEO data?

MCP, the Model Context Protocol, is an open standard for connecting AI applications to other systems. A server exposes tools, such as "run a report". Claude decides when to call one, sends the parameters, and gets rows of data back.

That makes the answer only as good as the call behind it. If Claude asks for the wrong date range or the wrong property, the answer will be fluent and wrong. Most of the checking I describe below comes down to looking at the call.

Which MCP server should you use for each tool?

ToolOfficial MCP server?Works in Claude on the web?
AhrefsYes, hosted by Ahrefs (paid plans from Lite)Yes
Google AnalyticsYes, from Google, runs on your computer (labelled experimental)No, Claude Desktop and Claude Code only
Search ConsoleNo documented one; use an open-source server such as mcp-gscNo, Claude Desktop and Claude Code only

Two of the three can also change things in your accounts: Ahrefs's server and mcp-gsc both have tools that create or delete. Google's Analytics server is read-only unless you turn on its one write tool. Each section below says which.

The "works on the web" column comes from how Claude connects. A custom connector is reached from Anthropic's cloud, so it has to be a server on the public internet. A server that runs on your computer is set up in Claude Desktop's config file instead, and Anthropic's page says those local servers aren't available in Cowork or claude.ai.

How do I connect Ahrefs to Claude?

Ahrefs hosts its server at https://api.ahrefs.com/mcp/mcp, and Ahrefs is in Claude's connector directory. The steps from Ahrefs's Claude guide:

  1. In Claude, open Customize, then Connectors, and click "+".
  2. Search for Ahrefs, open its card and click Connect.
  3. Choose your Ahrefs workspace and account, then click Allow on the consent screen.

In Claude Code, it's one command, then /mcp inside Claude Code to sign in (Ahrefs's Claude Code steps):

claude mcp add ahrefs https://api.ahrefs.com/mcp/mcp -t http

Three things to know before you start asking questions. Every call uses API units from your monthly allowance, the same as the Ahrefs API, and a key created this way is capped at 200,000 units a month unless an admin changes it (Ahrefs MCP introduction). One site overview for tavi-ai.com cost 50 units when I ran it. The server is for use inside AI apps: Ahrefs doesn't permit calling it from scripts, and points programmers to its public API.

The third is that some Ahrefs tools write. Of the 120 tools my session lists, 20 create, add, update or delete something: keyword lists, projects, tracked keywords, Brand Radar prompts and social posts. If your connector is set to "Always ask permission", Claude asks you before each call, which is how you see a write coming before it happens.

How do I connect Google Analytics to Claude?

Google's server is a Python package called analytics-mcp that runs on your computer. Google's setup page lists what you need first:

  1. Python 3.10 or higher, and pipx or uv to run the package.
  2. A Google Cloud project with two APIs turned on: the Google Analytics Admin API and the Google Analytics Data API.
  3. At least the Viewer role on the Analytics property, for the Google account you'll sign in with.

You sign in through Google's gcloud command-line tool, which saves a credentials file with the read-only Analytics scope. Then you tell Claude where the server and that file are. For Claude Code, Google gives this command (put your file's path and your project ID in place of the capitals):

claude mcp add analytics-mcp --scope user -e GOOGLE_APPLICATION_CREDENTIALS="PATH_TO_CREDENTIALS_JSON" -e GOOGLE_CLOUD_PROJECT="YOUR_PROJECT_ID" -- pipx run analytics-mcp

For Claude Desktop, the same settings go in claude_desktop_config.json, which on Windows is in %APPDATA%\Claude\. If you're new to Claude Code on Windows, my guide for non-developers covers the install.

Google's troubleshooting list has the two problems I'd expect most people to hit. Write the credentials path out in full, because many apps don't expand ~ or $HOME inside a JSON file. And if the server won't start from Claude Desktop, give the full path to pipx: desktop apps often don't see the same PATH as your terminal.

The server answers questions with reports such as run_report, run_realtime_report and run_funnel_report. Google's page says it is read-only. The GitHub README now lists one write tool, for adding annotations to a property, and it only turns on if you start the server with --allow-write and sign in with the edit scope.

Is there an official Google Search Console MCP server?

Not one that Google documents, as of October 27, 2026. Google's list of remote MCP servers covers Google Cloud products and doesn't include Search Console or Analytics.

I did find something while researching this. I sent an MCP handshake, with no credentials, to searchconsole.googleapis.com/mcp, and it answered with three tools: query, sites_list and get. The same handshake to analyticsdata.googleapis.com/mcp/v1 listed four Analytics reporting tools.

I couldn't find a Google page describing either, so I wouldn't build anything on them yet.

Until then, a widely used open-source choice is mcp-gsc, which works with Claude Desktop, Claude Code and other MCP apps. You turn on the Search Console API in a Google Cloud project, then sign in with your own Google account through a desktop OAuth client, or use a service account added to the property in Search Console. Its README walks through both.

Two things about mcp-gsc to know before you connect it. It can change your account: it can submit and delete sitemaps and add or remove properties. And it moves quickly; in July 2026 an update to the underlying MCP library broke fresh installs until a fix was released. Pin a version once it works for you, and read its changelog before upgrading.

Several companies also sell hosted Search Console servers that work in Claude on the web. They hold your Search Console access on their servers, so treat one like any other app you grant access to. Anthropic's own advice for Claude Code applies: verify you trust each server before connecting it.

What did the data look like on my own site?

I asked for tavi-ai.com's Search Console data from October 19 to October 26, 2026, through a connector TJ Digital runs on Google's Search Console API. The property total was 50 impressions and no clicks. The same date range split by query returned 14 queries, and their impressions added up to 29.

So 21 of the 50 impressions, 42%, came from searches that Search Console won't name. Google calls these anonymized queries: searches made by fewer than a few dozen people over two to three months. They count in the totals and never appear as rows. On a new site like mine, rare searches are a large share of the total, so the gap is large.

The second surprise was dates. I asked for data through October 26, and the last row was October 25. Search Console's API returns only finalized data unless the request asks for fresh data, and the most recent days aren't final yet. A question like "how did yesterday go?" can get an answer about the day before.

Then I asked Ahrefs about the same site for October 26. It reported zero organic keywords and zero organic traffic, in the same week Search Console showed 14 queries with impressions.

Both are right about what they measure. Search Console counts Google's own impressions for your site. Ahrefs's organic traffic is, in its own documentation's word, "estimated". My reading is that a site eight days old, found through searches this rare, isn't in Ahrefs's keyword data yet.

What should you check when Claude reads your search data?

These are the checks I run on my own answers. Each one comes from a way the data above could have misled me.

  1. Compare totals to rows. A query list usually adds up to less than the property total, because of anonymized queries. If Claude sums query rows and calls it "your traffic", ask for the property total too.
  2. Look at the date range. Ask Claude which dates it requested. Search Console's newest days arrive late, and a default range can leave the last day or two out.
  3. Know which source answers which question. Search Console tells you what happened on Google. Ahrefs estimates traffic for any site, including your competitors'. When they disagree about your own site, Search Console is the measurement.
  4. Watch the row limits on big sites. The Search Console API returns 1,000 rows by default and up to 25,000 per request, and Google caps it at 50,000 rows per day per site per search type. Analysis of a large site can be working from a sample without saying so.
  5. Watch the size of what comes back. Claude Code warns when one tool result passes 10,000 tokens and cuts it off at 25,000 by default. Long exports cost tokens too; my AI token cost calculator shows what that adds up to.
  6. Keep writes behind a question. Leave connectors on "Always ask permission" until you know which of their tools change things.

Search Console's API also has per-site, per-user and per-project quotas, so a long session of questions can start failing partway through. Google's limits page says queries grouped or filtered by page or by query cost the most, and both together cost more still.

If the question behind all this is why a page isn't showing up in Google at all, the data you need is in a different report. My guide to Search Console's page indexing statuses explains each reason and which ones need fixing.