Free · 8 tools · MIT

SEO Performance MCP

The triage layer for content teams who ship with AI. SEO Performance MCP scores every post you have already published from Google Search Console, GA4, Matomo, Clarity, and AI-citation data, then tells your agent exactly what to refresh, expand, merge, or kill this week. No more reading three dashboards to pick one URL.

npx -y @automatelab/seo-performance-mcp

What it does

Most SEO tools tell you which keywords you should be ranking for. SEO Performance MCP tells you what to do about the posts you have already shipped. It looks at every URL on your site, pulls performance signals from the analytics tools you already pay for, and ranks the content worth your editor's time this week.

Per post, the MCP emits a single verdict (refresh, expand, merge, kill, double down, or hold) with the reasons spelled out in plain text. No black-box ranking, no opaque AI score. Deterministic rules over real numbers, so your agent can act on the call instead of asking you to interpret a dashboard.

It never edits or publishes anything. The output is a clean hand-off brief for a writer, an editor, or a downstream rewrite tool. You stay in control of what ships.

What makes it different

One verdict per post, not a chart

Most SEO dashboards make you read three graphs to decide one thing. This MCP runs the rules for you and returns a single call per URL, with the reason codes that drove it.

Built on the analytics you already pay for

Google Search Console, GA4, Matomo, and Microsoft Clarity. Every source is optional. Plug in what you have and the rest is skipped silently.

AI citations are first-class signals

Tracks which LLMs cite your content and which used to. When a citation disappears, the MCP can name the URL that replaced yours so the next refresh actually targets the right answer.

Read-only by design

The MCP never writes to your CMS, never publishes, never touches a third-party platform with anything other than a read. The verdict is an artifact for a human editor. The decision to ship stays with you.

Cohort report finds your top three in seconds

Run cohort.report on posts older than 90 days and get a ranked list sorted by impact and confidence. Pick this week's editorial focus in one prompt.

Works with any MCP agent

Claude Code, Claude Desktop, Cursor, Cline, or any MCP-compatible harness. Same JSON config. Three discoverable prompts ship with the server, so no skill loader is required.

Tool surface

Eight tools, organised as a dot-notation tree: posts.* for per-URL analysis, cohort.* for cross-post roll-ups, and gsc.* for direct Search Console scans.

Tool Family What it returns
posts.list posts Discover indexable posts via XML sitemap, JSON override list, or Ghost Admin API. Returns url, title, published_at, age_days, and tags. Filter by minimum age or published-after date.
posts.snapshot posts 30, 60, or 90-day snapshot across every configured source: GSC clicks, impressions, CTR, position, top queries; Matomo visits and dwell; GA4 pageviews; Clarity scroll and rage-clicks; AI-citation counts.
posts.decay_curve posts Bucket GSC clicks, impressions, and average position into weekly windows and classify the trend: decay, plateau, or growth. Underpins the verdict engine's decay rules.
posts.verdict posts Run the rule-based verdict engine on one post. Combines snapshot and decay curve, emits a verdict with reason codes and a 0-1 confidence score. Deterministic and inspectable.
posts.refresh_brief posts Produce a markdown brief for a human or downstream LLM editor: verdict, reasons, raw numbers, top queries, and suggested actions. The hand-off artifact when the verdict is refresh, expand, merge, or double down.
posts.cite_loss posts Return the list of LLMs that previously cited a URL but no longer do, with the prior query and last-seen date. Optionally identifies the URL that replaced yours. Requires a citation-intelligence endpoint.
cohort.report cohort Run the verdict engine across a cohort filtered by tag and minimum age and return a ranked table sorted by verdict priority then confidence. Answers "which three posts should I refresh this week?"
gsc.quick_wins gsc Scan GSC for (page, query) pairs at positions 5-15 with non-trivial impressions and a CTR below the position-expected curve. The fastest title-rewrite wins. Platform-agnostic, pure GSC pull.

Install in 3 steps

  1. Install the npm package (requires Node 20+) npx -y @automatelab/seo-performance-mcp
  2. Add the server to your MCP host config (~/.cursor/mcp.json for Cursor, claude_desktop_config.json for Claude Desktop, .mcp.json for Claude Code)
    {
      "mcpServers": {
        "seo-performance": {
          "command": "npx",
          "args": ["-y", "@automatelab/seo-performance-mcp"],
          "env": {
            "GSC_SERVICE_ACCOUNT_JSON": "/abs/path/to/gsc-service-account.json",
            "GSC_SITE_URL": "sc-domain:example.com",
            "MATOMO_BASE_URL": "https://example.com/analytics",
            "MATOMO_TOKEN": "...",
            "MATOMO_SITE_ID": "1",
            "GA4_PROPERTY_ID": "123456789",
            "CLARITY_PROJECT_ID": "...",
            "GHOST_ADMIN_KEY": "id:secret"
          }
        }
      }
    }
    Every signal source is optional. Provide credentials for the platforms you use; the rest are skipped silently. Discovery falls back to a sitemap if Ghost is not configured.
  3. Restart your MCP host. The eight tools appear in the MCP panel, alongside three discoverable prompts (audit_cohort, find_quick_wins, citation_loss_sweep).

Works with Claude Desktop, Claude Code, Cursor, Cline, and any MCP-compatible agent harness. Full env reference: the GitHub readme.

FAQ

What is the SEO Performance MCP?
A free Model Context Protocol server that gives Claude, Cursor, and any MCP-compatible agent eight tools to triage your published content. It pulls Search Console, GA4, Matomo, Clarity, and AI-citation data, then returns a single verdict per URL with the reason codes that drove the call.
How is this different from a normal SEO dashboard?
Dashboards show you charts. This MCP runs the rules for you and returns one decision per URL. No opaque AI score. Every verdict comes with explicit reason codes (decay rate, position window, CTR gap, citation loss) so your agent can act on the call directly.
Do I need to plug in every data source?
No. Every signal source is optional. Provide credentials for the platforms you use; the rest are skipped silently. Post discovery falls back to your XML sitemap if Ghost is not configured. Start with Search Console alone and add the rest as you go.
Does it write to my CMS or publish anything?
No. The MCP is read-only by design. It never edits a post, never publishes, never touches a third-party platform with anything other than a read. The verdict and refresh brief are clean hand-off artifacts for a writer, an editor, or a downstream rewrite tool.
Which agents does SEO Performance MCP work with?
Anything that speaks MCP: Claude Desktop, Claude Code, Cursor, Cline, Continue, and any MCP-capable harness. Three discoverable MCP prompts (audit_cohort, find_quick_wins, citation_loss_sweep) ship with the server.
What does it cost?
The server is MIT-licensed and free. You pay only for your AI agent's model usage and the analytics tools you already run. Search Console is free; GA4 has a free tier; Matomo and Clarity are free or self-hosted.

Want it wired into your content stack?

We run SEO Performance MCP weekly across our own blog and our clients' sites. If you want it set up, env-tuned, and folded into your editorial loop, we can do that.

Get in touch