# SEO Skill

Free Search Console MCP server and CLI that gives your agent your real SEO data.

SEO Skill is a CLI, a hosted MCP server at seoskill.dev/mcp and a local MCP server that read your Google Search Console, Google Analytics, Bing and Clicky data. It also crawls sites, checks live pages and index status, and pulls keyword data with your own DataForSEO or Ahrefs key. It returns facts and has no settings to tune. Apache-2.0 source; a weekly site audit at $50 a month per site is the only priced part.

- Capabilities: adaptable, operable
- Vertical: content-publishing
- Shape: mcp-server
- Form factor: mcp-server
- Execution model: deterministic
- Provenance: mixed (recorded, never ranked)
- Repo: https://github.com/iannuttall/seo (Apache-2.0), 607 stars, last commit 2026-11-06
- Last activity: 2026-11-06
- Page: apps/iannuttall--seo.html
- JSON: apps/iannuttall--seo.json

## Use it when

- you want your agent to answer SEO questions from your real Search Console numbers
- you want an agent to check that a fix is live and indexed

## Gotchas

- The first sign-in needs a browser; cloud agents use an account token saved as SEO_TOKEN
- Crawls, internal links and Bing data run only on your machine through the CLI or local MCP
- Provider packages do not run on the hosted server, and they can return data only, not new reports or tools
- The free plan's internal linking reads up to 100 pages
- Forks and hosted versions must use a different name and look (TRADEMARKS.md)
- The repo was created on 2026-07-10, so the project is four months old

## Editions

- Free: Free, open source
  - hosted: claude mcp add --transport http seoskill https://seoskill.dev/mcp
  - installable: npm i -g seo
  - source: https://github.com/iannuttall/seo
- Weekly site audit (per site): $50 per month, closed source
  - hosted: https://seoskill.dev/pricing

## Adaptable: make it yours

Effort: light-edit (11 things to edit)

There is no business-behavior config; the README says there are no settings to tune. Adaptation is code: add an analytics or research source by editing package.json and src/index.ts from the iannuttall/seo-provider-template repo, which runs only in the local CLI and MCP server. Edit skills/seo/SKILL.md to change how the agent uses the tools, or fork apps/mcp to self-host on Cloudflare Workers with the env vars in .dev.vars.example.

- Env vars: SEO_TOKEN, GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, SEAL_KEY, BING_CLIENT_ID, BING_CLIENT_SECRET, DATAFORSEO_LOGIN, DATAFORSEO_PASSWORD
- Config files: apps/mcp/wrangler.jsonc, apps/mcp/.dev.vars.example
- Prompt files: skills/seo/SKILL.md
- Accounts you'll need: Google account with Search Console access; DataForSEO or Ahrefs (optional, your own key); Bing Webmaster Tools (optional)

## Operable: what an agent can drive

Operability: native. Interface: mcp at https://seoskill.dev/mcp (published by the builder, both).

### Reach (partial coverage)

- Get a Search Console overview with quick wins and decay: reachable. seo report / MCP tool seo_report
- Check one page and its Google index status: reachable. seo page / seo_page; seo index / seo_index for lost-click pages
- Compare before and after a date with Google updates: reachable. seo compare / seo_compare
- Research keywords, competitors and backlinks with your key: reachable. seo research / seo_research using a DataForSEO or Ahrefs key
- Pull raw Search Console, Bing, Clicky or Analytics rows: reachable. seo data / seo_data; seo analytics for landing pages
- Crawl a site for technical issues and AI agent access: reachable. seo crawl / seo_crawl in packages/mcp; local only, not on the hosted server
- Suggest internal links to add: reachable. seo internal-links / seo_internal_links in packages/mcp; local only, not on the hosted server
- Lint copy for AI-writing tells: reachable. seo lint / seo_lint, listed in the hosted tools in docs/mcp
- Scaffold a new data-driven site: not reachable. seo site new &lt;folder> is CLI only per skills/seo/SKILL.md; no MCP tool
- Change the site or ask Google to index a URL: not reachable. No command or tool writes to the site or Search Console; no Indexing API call in the source, and the indexnow command was removed

## Code stack

- Languages: TypeScript
- Frameworks: Astro
- Package manager: pnpm
- Database: D1
- Hosting target: cloudflare-workers, npm

## Skills

bundled: A short map of the CLI and MCP tools so an agent knows each command and what it returns. Also offered by seo start.
- Paths: skills/seo/SKILL.md
- Install: seo skill install

## Evidence and confidence

- formFactor: README: CLI, hosted and local MCP; server.json lists a remote and an npm stdio package (confidence 0.9)
- executionModel: returns Search Console and crawl facts; README says it gives no advice (confidence 0.8)
- operability: README title and command table map each command to an MCP tool; https://seoskill.dev/mcp answers 401 with OAuth metadata; server.json and apps/mcp are in the Builder's repo (confidence 0.9)
- effort: seo-provider-template README: about an hour, editing package.json, src/index.ts and src/index.test.ts, which is a small edit in named files. A provider adds a data source and nothing else; changing reports means a fork. .dev.vars.example is deployment values (confidence 0.8)
- editions: seoskill.dev/pricing and apps/web/src/pages/pricing.astro: every tool free with no usage cap, $50 a month per site for the weekly audit through Stripe Checkout; LICENSE Apache-2.0 (confidence 0.95)
- active: gh api: last commit 2026-11-06; repo created 2026-07-10
- provenance: 54 of the last 60 commits carry an AI agent trailer under a human author; ampagent is a repo contributor (confidence 0.7)
- users: 9,572 npm downloads in the last month, 607 stars, 51 forks and issues from outside users
- reach:  (confidence 0.9)

## Sources

- https://seoskill.dev (sourcing:content-publishing:github)
- https://github.com/iannuttall/seo (analysis)
- https://seoskill.dev/pricing (analysis)
