SEO Performance MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MATOMO_URL | No | URL of the Matomo analytics server | |
| POSTS_LIST | No | JSON array of posts with url, title, published_at, tags, word_count | |
| GSC_SITE_URL | No | Google Search Console site URL (e.g., sc-domain:example.com) | |
| MATOMO_TOKEN | No | Matomo API token | |
| MATOMO_SITE_ID | No | Matomo site ID | |
| GA4_PROPERTY_ID | No | Google Analytics 4 property ID | |
| CLARITY_API_TOKEN | No | Microsoft Clarity API token | |
| POSTS_SITEMAP_URL | No | URL to the sitemap or sitemap index for post discovery | |
| CLARITY_PROJECT_ID | No | Microsoft Clarity project ID | |
| GHOST_ADMIN_API_KEY | No | Ghost Admin API key | |
| GHOST_ADMIN_API_URL | No | Ghost Admin API URL for richer metadata | |
| GA4_SERVICE_ACCOUNT_JSON | No | Base64-encoded GA4 service account JSON | |
| GSC_SERVICE_ACCOUNT_JSON | No | Base64-encoded Google Search Console service account JSON | |
| CITATION_INTELLIGENCE_URL | No | URL for AI citation tracking service |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| posts.listA | Discover posts via an XML sitemap (POSTS_SITEMAP_URL or the sitemap_url arg), a JSON override list (POSTS_LIST), or - if configured - the Ghost Admin API. Pass an explicit urls[] to skip discovery entirely. Returns metadata: url, title, published_at, age_days, tags. Filter by minimum age or published-after date. When to use: discover which URLs are eligible for snapshot / verdict / cohort analysis. Works with any CMS that exposes a sitemap. |
| posts.snapshotA | Pull a 30/60/90-day snapshot across every configured signal source for one post: GSC clicks/impressions/CTR/position + top queries, Matomo visits + dwell, GA4 pageviews, Clarity scroll/rage clicks, AI-citation counts. Each source is best-effort: if its env vars are missing the field is omitted. Returns whatever is available. Read-only. No third-party writes. Optionally persists to the local DuckDB cache when persist=true. |
| posts.decay_curveA | Bucket GSC clicks/impressions/avg-position into ~weekly windows for the last N weeks (default 12) and classify the trend: decay / plateau / growth. Underpins the verdict engine's decay rules. Read-only GSC query. |
| posts.verdictA | Run the rule-based verdict engine on a single post: combine snapshot + decay curve and emit a verdict with reason codes and a 0-1 confidence score. Reason codes are deterministic. The mapping reasons -> verdict lives in src/verdict/rules.ts and can be inspected. Reporting only - does NOT mutate anything. To act on the verdict, hand the brief to a writer or to an AI rewrite tool. |
| posts.refresh_briefA | Produce a markdown brief for a human (or downstream LLM) editor: verdict + reasons + raw numbers + top queries + suggested actions. Use this as the hand-off artefact when verdict is refresh / expand / merge / double_down. |
| cohort.reportA | Run the verdict engine across a cohort (filtered by tag and/or min-age) and return a ranked table sorted by verdict priority then confidence. Practical use: 'which three posts should I refresh this week?' - the top three rows with verdict=refresh and highest confidence are the answer. |
| posts.cite_lossA | Return the list of LLMs that previously cited this URL but no longer do, with the prior query and last-seen date. Optionally includes the URL that replaced ours. Requires a configured citation-intelligence MCP endpoint (CITATION_INTELLIGENCE_URL). Otherwise returns an empty list. |
| gsc.quick_winsB | Scan GSC for (page, query) pairs sitting in positions 5-15 with non-trivial impressions and a CTR below their position-expected curve. These are the fastest title-rewrite wins. Returns top results sorted by impressions desc. Pure GSC pull - platform-agnostic. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| audit_cohort | Run cohort.report on posts >=90 days old, then generate refresh briefs for every URL whose verdict is refresh / expand / merge. |
| find_quick_wins | Pull pages at positions 5-15 with low CTR and propose query-verbatim title/H1 rewrites. |
| citation_loss_sweep | Find URLs that lost LLM citations and generate refresh briefs targeted at recovering them. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/AutomateLab-tech/seo-performance-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server