SEO Performance MCP Server

Per-URL SEO verdicts from GSC, GA4, Matomo, Clarity, AI citations: refresh/expand/merge/kill.

Local serverstdio

What is the SEO Performance MCP MCP server?

Per-URL SEO verdicts from GSC, GA4, Matomo, Clarity, AI citations: refresh/expand/merge/kill. That is what the seo performance mcp mcp server brings to an AI assistant: the same capability, reachable through the Model Context Protocol rather than a separate app or dashboard.

The short version

A MCP server that turns your scattered SEO and analytics data into one clear verdict per URL. Plug it into Claude, Cursor, or any MCP-aware client and ask: "Which three posts should I update this week?" - and get an answer backed by hard numbers.

  • Google Search Console — - clicks, impressions, CTR, position, top queries
  • Matomo — or GA4 - visits, dwell time, bounce rate
  • Microsoft Clarity — - scroll depth, rage clicks, dead clicks
  • AI citation tracking — - which LLMs cite your URL today vs. last month
  • Sitemap / CMS — - publish dates, tags, word counts (any platform via XML sitemap; optional Ghost integration for richer metadata)

The tools it exposes

The server publishes 8 tools. What each one is for:

  • posts_list — Posts with {url, title, age_days, tags} from sitemap, Ghost, or your POSTS_LIST
  • posts_snapshot — Per-URL unified rollup for a 30/60/90-day window: GSC + Matomo + GA4 + Clarity + citations + meta
  • posts_decay_curve — Weekly GSC clicks/impressions/position buckets + a decay/plateau/growth trend label
  • posts_verdict — Verdict (refresh/expand/merge/kill/double_down/hold) + reason codes + 0-1 confidence
  • posts_refresh_brief — Markdown brief for a human or downstream LLM editor: numbers, top queries, suggested actions
  • cohort_report — Cohort verdict table sorted by priority + confidence. "Which three posts should I refresh this week?"
  • posts_cite_loss — LLM citations that dropped off for a given URL. Needs CITATION_INTELLIGENCE_URL
  • gsc_quick_wins — (page, query) pairs at positions 5-15 with low CTR - fastest title-rewrite wins

Getting it running

Installation goes through your MCP client rather than a global install: point it at @automatelab/seo-performance-mcp on npm and it is fetched when the client starts. The copy-paste blocks for Claude Desktop, Claude Code and Cursor are further down this page.

What it needs from you

Configuration is passed through the environment: POSTS_SITEMAP_URL, GSC_SERVICE_ACCOUNT_JSON, GSC_SITE_URL, MATOMO_URL, MATOMO_TOKEN, MATOMO_SITE_ID, GA4_PROPERTY_ID, GA4_SERVICE_ACCOUNT_JSON. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.

How it compares

Plenty of AI and media services servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. SEO Performance MCP's toolset — posts_list, posts_snapshot, posts_decay_curve and 5 more — is a fair guide to whether it matches your workflow. It is maintained by AutomateLab-tech; worth a glance at recent repository activity before you build anything load-bearing on it.

SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.

Things to watch

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

Available tools

ToolWhat it does
posts_listPosts with {url, title, age_days, tags} from sitemap, Ghost, or your POSTS_LIST.
posts_snapshotPer-URL unified rollup for a 30/60/90-day window: GSC + Matomo + GA4 + Clarity + citations + meta.
posts_decay_curveWeekly GSC clicks/impressions/position buckets + a decay/plateau/growth trend label.
posts_verdictVerdict (refresh/expand/merge/kill/double_down/hold) + reason codes + 0-1 confidence.
posts_refresh_briefMarkdown brief for a human or downstream LLM editor: numbers, top queries, suggested actions.
cohort_reportCohort verdict table sorted by priority + confidence. "Which three posts should I refresh this week?"
posts_cite_lossLLM citations that dropped off for a given URL. Needs CITATION_INTELLIGENCE_URL.
gsc_quick_wins(page, query) pairs at positions 5-15 with low CTR - fastest title-rewrite wins.

How to install the SEO Performance MCP MCP server

{
  "mcpServers": {
    "seo-performance": {
      "command": "npx",
      "args": ["-y", "@automatelab/seo-performance-mcp"],
      "env": {
        "POSTS_SITEMAP_URL": "your-value",
        "GSC_SERVICE_ACCOUNT_JSON": "your-value",
        "GSC_SITE_URL": "your-value",
        "MATOMO_URL": "your-value",
        "MATOMO_TOKEN": "your-value",
        "MATOMO_SITE_ID": "your-value",
        "GA4_PROPERTY_ID": "your-value",
        "GA4_SERVICE_ACCOUNT_JSON": "your-value"
      }
    }
  }
}

Add to claude_desktop_config.json, then restart Claude Desktop.

Configuration

VariableDescriptionRequired
POSTS_SITEMAP_URLEndpoint or connection string the server talks to.Yes
GSC_SERVICE_ACCOUNT_JSONConfiguration value read at startup.Optional
GSC_SITE_URLEndpoint or connection string the server talks to.Yes
MATOMO_URLEndpoint or connection string the server talks to.Yes
MATOMO_TOKENCredential the server authenticates with.Yes
MATOMO_SITE_IDConfiguration value read at startup.Optional
GA4_PROPERTY_IDConfiguration value read at startup.Optional
GA4_SERVICE_ACCOUNT_JSONConfiguration value read at startup.Optional

Example prompts to try

  • Use SEO Performance MCP to posts list.
  • Use SEO Performance MCP to posts snapshot.
  • Use SEO Performance MCP to posts decay curve.

Frequently asked questions

It connects SEO Performance MCP to MCP-compatible AI assistants such as Claude and Cursor, exposing 8 tools (posts_list, posts_snapshot, posts_decay_curve, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with SEO Performance MCP directly.