seo · iannuttall — Claude Code skill: Search Console MCP and CLI
Lets your coding agent read your own Search Console, Analytics, Bing and Clicky numbers, plus keyword and backlink research from DataForSEO or Ahrefs.
npx skills add iannuttall/seo --skill seo -a claude-codeWhat seo does
The skill hands your agent real numbers: Search Console, Google Analytics, Bing Webmaster Tools and Clicky, with keyword and backlink lookups through DataForSEO or Ahrefs. Answers come from your reports, not from guesses.
Two ways in. With an MCP server connected, the agent calls seo_report, seo_page, seo_crawl and the rest. Without one, the same data comes from the CLI seo, or npx -y seo, and --json switches the output. seo crawl --url <url> works with no sign-in, so it can run against a local or staging copy. Everything else needs your properties, which means seo login first: it prints a link to approve, then you run the command again. No authorized account, no data — check access before you install.
seo index walks known URLs in a fixed order, 100 by default, and labels each Google reason fix, check, expected or indexed. --max-urls raises the count within today's quota, and saved inspections up to 7 days old get reused, so --detail full costs nothing extra. The tool keeps no history, so you store runs yourself and diff by URL and reason week to week.
What it helps with
- explain a drop in organic traffic after a Google update
- find striking-distance pages with low CTR
- work out why Google won't index a URL
- pull one page's queries from Search Console
- check which internal links a page is missing
Example prompts for the agent
- Pull the report for site from last week and tell me which sections dropped
- Run `seo index --site <site>` and list URLs whose reason changed
- Compare before and after a date: `seo compare --site <site> --date <date>`
How to install seo
1Skills CLI (Vercel)
npx skills add iannuttall/seo --skill seo -a claude-code2Manually: put the files in place
~/.claude/skills/seo/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/seo/
1Skills CLI (Vercel)
npx skills add iannuttall/seo --skill seo -a codex2Manually: put the files in place
.agents/skills/seo/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add iannuttall/seo --skill seo -a cursor2Manually: put the files in place
.cursor/skills/seo/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install iannuttall/seo seo2Manually: put the files in place
.github/skills/seo/SKILL.md1Skills CLI (Vercel)
npx skills add iannuttall/seo --skill seo -a gemini-cli2Platform CLI
gemini skills install https://github.com/iannuttall/seo --path skills/seoManually: put the files in place
.devin/skills/seo/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add iannuttall/seo --skill seo -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Other versions of seo
Similar
Questions about seo
How do I install seo in Claude Code?
Run npx skills add iannuttall/seo --skill seo -a claude-code. The skill lands in ~/.claude/skills/seo/SKILL.md.
What does seo do?
It reads Search Console, Google Analytics, Bing Webmaster Tools and Clicky, crawls sites live, and pulls keywords and backlinks from DataForSEO or Ahrefs. You can ask it about traffic drops, indexing and keyword cannibalization.
Do I need an account for it to work?
seo crawl --url <url> runs with no sign-in at all. The other commands read your data, so run seo login, approve the printed link, then run the command again.
Source text
SKILL.md · Apache-2.0
--- name: seo description: Free Google Search Console MCP server and CLI for AI agents. Reads your real Search Console, Google Analytics, Bing Webmaster Tools and Clicky data, plus DataForSEO and Ahrefs keyword research. Use it for any SEO question - why Google traffic or clicks dropped, organic traffic decline, quick wins, low CTR, striking distance keywords, content decay and declining pages, keyword cannibalization, indexing and URL inspection, one page's queries, Google update impact, the questions people ask AI that show in Search Console, competitor keywords, backlinks, technical SEO crawls, redirects, internal links and client SEO reports. Returns facts from your own data, never guesses. --- # seo `seo` reads Search Console, Google Analytics, Bing Webmaster Tools and Clicky data, crawls sites, checks live pages, and gets keyword and backlink data from DataForSEO or Ahrefs. Use the MCP tools when they are connected (hosted at `https://seoskill.dev/mcp`, or local with `seo mcp serve`). Otherwise use the CLI: `seo`, or `npx -y seo`. Add `--json` for JSON. `seo crawl --url <url>` needs no sign-in and works on any site, local and staging too. The other commands need the person's data: `seo login` prints a link for them to approve, then run it again. | CLI | MCP tool | Returns | |---|---|---| | `seo report --site <site>` | `seo_report` | Search Console overview and sections; with no site, last week across the sites in the weekly site audit beta | | `seo page --url <url>` | `seo_page` | One URL: live page, index status, queries | | `seo compare --site <site> --date <date>` | `seo_compare` | Before and after a date, with Google updates | | `seo index --site <site>` | `seo_index` | Google's indexing reasons, labelled, and pages that lost their clicks | | `seo research <action>` | `seo_research` | Keywords, SERP, competitors, backlinks, AI answer citations | | `seo data --site <site>` | `seo_data` | Raw Search Console, Bing, Clicky or Google Analytics rows | | `seo crawl --url <url>` | `seo_crawl` | Technical issues across a site | | `seo internal-links --site <site>` or `--url <url>` | `seo_internal_links` | Links to add across a site, or to one page | | `seo sites` | `seo_sites` | The properties the person can read | Each result ends with the command to run next. Start small and ask for more: a site, then a `--section` (`section`), then `--detail rows` or `full`. `seo <command> --help` shows the options. ## Indexing reasons each week `seo index` inspects known URLs in a fixed order (lost-click pages, Search Console pages by clicks, the sitemap, the rest), 100 by default, and labels each Google reason fix, check, expected or indexed from a live check. In the CLI or local MCP, `--max-urls` (`max_urls`) asks for more, up to today's quota, and reuses saved inspections up to 7 days old, so paging or `--detail full` costs no quota. Run it once for a baseline and keep the full result (`--detail full`). Run it again each week with the same number and compare by URL and reason: a new reason, or a URL that moved to fix, is what to report. `seo` keeps no history, so you store the results. Once this runs weekly, the person can turn off Search Console's indexing emails. For one URL from such an email, run `seo page --url <url>`.
© iannuttall · Apache-2.0 · iannuttall/seo