ASK YOUR AI.IT HAS YOUR DATA.
That SEO Agent is an open-source MCP server that hands Claude Code or Cursor your own Search Console, Analytics and PageSpeed data. Ask why a page lost traffic and the answer comes from your site, not from a template. It runs on your machine and there is nothing to sign up for.
git clone --depth 1 https://github.com/thatseoagent/mcp.gitNode 24 or newer · pnpm · no account, no key to start
Run it, then point your agent at it
Two commands. The server builds, starts, and listens on your loopback address; your MCP client connects to that address the same way it connects to any other server.
01 — Build and start the server
pnpm install && pnpm build && pnpm start02 — Connect an MCP client (Claude Code shown)
claude mcp add --transport http thatseoagent http://127.0.0.1:3737/mcpCursor works the same way: put `http://127.0.0.1:3737/mcp` in its `mcp.json` as a `url`. What cannot reach it is any client that connects from a vendor's cloud instead of from your machine — ChatGPT, claude.ai, Cowork and Claude Desktop's connectors all do that, so a loopback address is invisible to them.
- Loopback only
- It binds 127.0.0.1 and refuses cross-origin requests, so no web page can reach it. There is no authentication either, because there is nothing between it and you. On a shared machine that stops being true, and this is not the setup to deploy there.
- Your data stays put
- Google tokens and the history of your audits live in a SQLite file under the server's own directory, gitignored. Set the database off entirely and every credential-free tool still works, caching nothing.
- One operator
- One running server serves whoever runs it, and that is the whole permission model. It still covers as many sites as you like: a consultant with a dozen clients is one operator, not a dozen.
What you get, and what each level costs to set up
Most of these tools need nothing configured. They read a site's public surface, so they answer on an empty configuration file, against any domain, including ones you do not own. The rest need your Google login, and one needs a free API key.
0
things to configure
Nothing configured
A site's public surface: robots and sitemaps, on-page meta and headings, structured data, readability, crawlability, security headers, hreflang, llms.txt, and the signals answer engines read. Works on any domain.
Needs: nothing
- seo_analyze_page
- seo_schema_detection
- seo_geo_score
- crawl_site
- seo_llms_txt
- ai_visibility_score
2
read-only scopes
With your Google login
Your own Search Console and Analytics: clicks and positions by query and page, index coverage, quick wins, cannibalisation, anomalies, and how much traffic arrives from ChatGPT, Perplexity and the rest.
Needs: your own OAuth client, read-only scopes
- gsc_search_analytics
- gsc_detect_quick_wins
- gsc_inspect_url
- ga4_ai_traffic
- ga4_run_report
- run_site_audit
1
free API key
With a free API key
PageSpeed Insights, reporting field data and lab data separately rather than as one score: what real Chrome users experienced over 28 days is what Google ranks on, and a throttled Lighthouse run is a diagnostic.
Needs: a PageSpeed key, 25,000 requests a day, no billing account
- pagespeed_insights
Plus three prompts that sequence the tools for you — audit a site, find quick wins, track progress — and three playbooks the agent can read before improvising a workflow.
What it will not do
On a server you run yourself, the refusals are the security model. Each one is a constraint you can check in the repository before you run anything.
Never writes to your site
Both Google scopes it asks for are read-only. It cannot submit a sitemap, request indexing, or change anything in your Google account, and it never touches your site's files. It reads and reports; the decisions stay with you.
Never guesses past a missing credential
A tool that cannot do its whole job says what to configure instead of returning a smaller result dressed as a complete one. Without Search Console access the full report refuses outright; it will not hand back the public half and call it an audit.
Never hammers someone else's server
Every outbound request obeys the target site's robots.txt and paces itself, so a fifty-page crawl is not a burst. Requests identify themselves as ThatSEOAgentBot and carry a URL a webmaster can actually reach.
Never claims to measure an AI's mind
The AI-visibility and GEO scores are readings of signals anyone can see, not measurements of how any AI system behaves, and each one says so in its own output. A check that could not run is reported as not run, never as a failure.
What our clients say
I spend my day surrounded by data. The last thing I needed was another SEO tool full of panels. I wanted answers, not more dashboards. I wanted to know what's wrong with Multabot and how to fix it. And that's exactly what I get.
Mauro C.
Founder · Multabot
What ranked best was the content we made with the MCP. The results, much better than with other tools.
Decker U.
CTO · Commet
It walks me through every fix step by step, using the real data from Search Console and GA4. And I can audit a client's site in seconds, something that used to take me hours.
Gaby M.
AI advertising · gabymarin.com
Angel Cruz

Founder · That SEO Agent
I got tired of SEO suites that bury the answer under a thousand metrics. So I built the opposite: an MCP server that hands Search Console, GA4 and PageSpeed straight to the AI you already use. It reads. It never writes.
Before you point it at your Google data
Is it safe to connect my Google account?
Yes, and the connection is yours rather than ours. You create your own Google OAuth client and the server you are running holds the credentials, so there is no third party in the path. Both scopes it asks for are read-only — Search Console and Analytics — and it can never write to your Google account or your site. You can revoke it from your Google account settings at any time.
Where is my data stored?
On your machine. The server keeps a SQLite file in its own directory — site records, audit history and a cache of results — and your Google tokens go in the same local file. It is gitignored, and you can switch the database off entirely and still use every tool that needs no credentials. Nothing is transmitted to us, because we are not in the request path. If you hold a hosted account from before registration closed, you can delete the account from the Settings page there: everything goes at once and permanently, with no backup copy kept.
How is this different from ChatGPT with a GSC plugin?
ChatGPT plugins fetch and format data. You get the same table you'd see in Search Console, and you still have to figure out what it means. That SEO Agent goes further: it analyzes the data, detects what's wrong, and tells you what to do. It runs statistical anomaly detection (Z-scores), trend forecasting, and keyword conflict scoring, all on your actual data. And every session starts with your current traffic, top queries, and any detected issues already loaded. You never start from zero.
Do I need to install anything?
A client that can reach an HTTP MCP server on your own machine — Claude Code or Cursor — plus the server itself, which is open source. Clone the repository, run `pnpm install && pnpm build && pnpm start`, and point your client at the loopback address it prints. There is no account to create and no key to paste; the server is running on your machine, so there is nothing between it and your client. ChatGPT, claude.ai and Claude Desktop cannot reach it, because they fetch a connector from the vendor's cloud rather than from your device.
How do I connect Google Search Console and GA4?
Through an OAuth client you create yourself. In Google Cloud Console, add a Desktop-app credential and enable the Search Console and Analytics Data APIs on that project; put the ID and secret in a `.env` file next to the server and run its login command once. It prints the two read-only scopes it asks for, opens your browser, and stores the tokens locally. You log in once and the server refreshes the token itself from then on.
Can I analyze client sites?
Yes, and there is no per-site setup on our end because there is no our end. The server reads whatever Search Console and GA4 properties your own Google account can already see, so a client site works the moment you have been granted access to their property — which is how agencies are usually set up anyway. One running server covers your whole roster.
What does my AI assistant do with the MCP tools?
Your AI uses the tools on-demand during your conversations. When you ask about rankings, it calls gsc_search_analytics. When you ask about page speed, it calls pagespeed_insights. The tools are available but only invoked when relevant. Your AI decides which data to pull based on your question.
What do I get with That SEO Agent?
Every SEO tool the server ships, page-level crawl analysis, Google Search Console + GA4 + PageSpeed, anomaly detection, and month-over-month history of the metrics it records. Nothing is gated behind a level and nothing is sold separately.
You already have a terminal open.
Clone it, start it, and ask your agent about your own site. Nothing to sign up for, nothing to cancel, and no part of this that stops working if we stop.
git clone --depth 1 https://github.com/thatseoagent/mcp.git