SEO For Agent-Native Teams
The SEO data I give my agents every day, so they work from my real numbers instead of guessing.
Most AI SEO tools do one of two things. They hand your agent a checklist of generic advice, or they feed it estimates from a keyword tool that has never seen your site. Either way you end up with the same pages everyone else is publishing. Pages written from a keyword list aren't SEO. They're slop.
This works the other way round. It's a Google Search Console MCP server and CLI, and it doesn't tell your agent what to do. It gives it the facts: your clicks, impressions and positions from Search Console, your visits from Google Analytics or Clicky, your Bing data, the dates of Google updates, and a crawl of your site. Your agent works out what matters, and you decide what changes.
It's free and open source. Hack around with it. Make it your own.
Installation (30-second setup)
1. Connect it to your agent
Claude Code
claude mcp add --transport http seoskill https://seoskill.dev/mcp
Codex
codex mcp add seoskill --url https://seoskill.dev/mcp
Any other agent
Add https://seoskill.dev/mcp as a remote MCP server. Cursor, Claude
Desktop, VS Code and most other agents support it.
The CLI (for crawls and Bing, which run on your machine)
npm i -g seo
seo start
seo start signs you in, connects your agents and installs the skill.
2. Sign in with Google
Your agent opens a Google sign-in. Pick the account that can see your Search Console. That's your account. There's no password and no signup form.
3. Ask it something real
Why did clicks drop on example.com last month?
That's it. You're ready to go.
What you can ask it
- "Why did clicks drop last month? Was it the core update?"
- "Which pages are close to page one, and what do they rank for?"
- "Is this page indexed? If not, why not?"
- "Which searches does this page show up for that it never mentions?"
- "Can ChatGPT, Claude and Perplexity read my site?"
- "Who am I up against in search, and is there demand for a 'vs' or alternatives page?"
Your agent picks the commands, reads the results and shows you what it found.
Why it exists
I built this because agents kept failing at SEO in the same few ways.
#1: The agent makes things up
The problem. Ask an agent why your traffic dropped and you get a tidy list of possible causes. Algorithm update, technical issues, content quality. None of it comes from your site, so none of it helps.
The fix is to give it your numbers:
seo reportshows your totals against the last period, the pages and queries that moved, and the places worth a look: quick wins, low click-through rates, pages stuck on page two, decay and cannibalization.seo comparelines up the weeks before and after a date, with the Google updates in between.
#2: Keyword tools are guessing too
The problem. Ahrefs and Semrush estimate your traffic from a sample. They miss most of the long tail, and they rarely agree with each other.
The fix is to start from your own data. Search Console is the source of
truth for Google. When you do need keyword volumes or competitor data,
seo research uses your own
DataForSEO or Ahrefs key, and it keeps those estimates apart from your real
numbers.
#3: The agent says it's fixed when it isn't
The problem. Agents trust their own edits. Then you find the page is still noindexed, still redirecting, or still not in Google.
The fix is to check the live site:
seo pageloads one URL and asks Google whether it's indexed.seo indexchecks every page that lost its clicks.seo crawlchecks the whole site, including what AI agents can read.
#4: Too many reports
The problem. SEO tools love reports. The first version of this had about 70 of them, and almost nobody used most of them.
The fix was to cut it down to a handful of commands. Each one takes a site or a URL, and dates if you want them. There are no settings to tune. Every result ends with the command to run next, so your agent always knows where to go.
Reference
| Command | What it returns |
|---|---|
seo report |
Your Search Console overview for --site, then the top rows of each section |
seo page |
One URL: the live page, its Google index status and its queries |
seo compare |
Before and after a date, with Google updates |
seo index |
Google's indexing reasons for known URLs, labelled from live checks, and pages that lost their clicks |
seo research |
Keywords, search results, competitors and backlinks from your own key |
seo data |
Raw Search Console or Bing rows |
seo analytics |
Landing pages from Google Analytics or Clicky |
seo crawl |
Technical issues and AI agent access across a site (CLI only) |
seo internal-links |
Internal links to add across a site or to one page (CLI only) |
Every command is also an MCP tool, such as seo_report. Add --json to any
command when you're scripting it.
What it keeps
As little as possible. The hosted server keeps your linked Google accounts and any keys you save, encrypted. It doesn't keep your Search Console data, your reports or request logs. The CLI keeps your sign-in in your system keychain. The privacy policy has the details.
Links
- Documentation
- Cloud agents and CI
- Add your own analytics source
- Changelog and contributing
- Questions and bugs
Apache-2.0. The name and artwork are covered by the brand policy.