# SEO Monster (MCP server)

> SEO Monster is an MCP server that adds cloud and DevOps tools to AI assistants such as Claude Desktop, Claude Code and Cursor. Local-first SEO MCP: track AI citations, Search Console, GA4, PageSpeed, Cloudflare, IndexNow, CrUX. It has 528 GitHub stars, is released under the MIT license and runs locally with uvx seo-monster.

Don't learn another SEO dashboard. Just ask. The open-source SEO analyst that lives inside the AI assistant you already use — working from your own Search Console, Analytics, and PageSpeed data, on your machine.

## Key facts

| Fact | Value |
|---|---|
| Repository | https://github.com/avansaber/seo-monster |
| GitHub stars | 528 |
| License | MIT |
| Language | Python |
| Transport | stdio |
| Packages | pypi: seo-monster |
| Remote URL | none |
| Needs API key | yes |
| Official | no |
| Works with | Claude Desktop, Claude Code, Cursor, VS Code |
| Category | Cloud & DevOps |
| Latest release | v0.9.3 (Aug 29, 2026) |
| Last commit | Sep 1, 2026 |
| MCP registry name | io.github.avansaber/seo-monster |

## Install

### Claude Desktop (claude_desktop_config.json)

```json
{
  "mcpServers": {
    "seo-monster": {
      "command": "uvx",
      "args": [
        "seo-monster"
      ],
      "env": {
        "SEO_MCP_GOOGLE_TOKEN": "your-value",
        "PSI_API_KEY": "your-value",
        "CF_API_TOKEN": "your-value",
        "SEO_MCP_INDEXNOW_KEY": "your-value",
        "DATAFORSEO_LOGIN": "your-value",
        "DATAFORSEO_PASSWORD": "your-value"
      }
    }
  }
}
```

Settings > Developer > Edit Config. macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\. Restart Claude Desktop afterwards.

### Claude Code

```sh
claude mcp add --env SEO_MCP_GOOGLE_TOKEN=your-value --env PSI_API_KEY=your-value --env CF_API_TOKEN=your-value --env SEO_MCP_INDEXNOW_KEY=your-value --env DATAFORSEO_LOGIN=your-value --env DATAFORSEO_PASSWORD=your-value --transport stdio seo-monster -- uvx seo-monster
```

### Cursor (.cursor/mcp.json)

```json
{
  "mcpServers": {
    "seo-monster": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "seo-monster"
      ],
      "env": {
        "SEO_MCP_GOOGLE_TOKEN": "your-value",
        "PSI_API_KEY": "your-value",
        "CF_API_TOKEN": "your-value",
        "SEO_MCP_INDEXNOW_KEY": "your-value",
        "DATAFORSEO_LOGIN": "your-value",
        "DATAFORSEO_PASSWORD": "your-value"
      }
    }
  }
}
```

Project file; use ~/.cursor/mcp.json to enable it in every project.

### VS Code (.vscode/mcp.json)

```json
{
  "inputs": [
    {
      "type": "promptString",
      "id": "seo_mcp_google_token",
      "description": "SEO_MCP_GOOGLE_TOKEN",
      "password": true
    },
    {
      "type": "promptString",
      "id": "psi_api_key",
      "description": "PSI_API_KEY",
      "password": true
    },
    {
      "type": "promptString",
      "id": "cf_api_token",
      "description": "CF_API_TOKEN",
      "password": true
    },
    {
      "type": "promptString",
      "id": "seo_mcp_indexnow_key",
      "description": "SEO_MCP_INDEXNOW_KEY",
      "password": true
    },
    {
      "type": "promptString",
      "id": "dataforseo_login",
      "description": "DATAFORSEO_LOGIN",
      "password": true
    },
    {
      "type": "promptString",
      "id": "dataforseo_password",
      "description": "DATAFORSEO_PASSWORD",
      "password": true
    }
  ],
  "servers": {
    "seo-monster": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "seo-monster"
      ],
      "env": {
        "SEO_MCP_GOOGLE_TOKEN": "${input:seo_mcp_google_token}",
        "PSI_API_KEY": "${input:psi_api_key}",
        "CF_API_TOKEN": "${input:cf_api_token}",
        "SEO_MCP_INDEXNOW_KEY": "${input:seo_mcp_indexnow_key}",
        "DATAFORSEO_LOGIN": "${input:dataforseo_login}",
        "DATAFORSEO_PASSWORD": "${input:dataforseo_password}"
      }
    }
  }
}
```

Config formats checked against the official docs on 2026-10-07.

## Environment variables

- `SEO_MCP_GOOGLE_OAUTH_CLIENT`: Path to your Desktop-app OAuth client-secrets JSON, downloaded from Google Cloud Console. Required for Search Console, Indexing, and GA4 tools.
- `SEO_MCP_GOOGLE_TOKEN` (secret): Writable path where the cached OAuth token is stored. On first use, a browser opens for one-time consent and the token is written here. Default…
- `SEO_MCP_GSC_DEFAULT_SITE`: Default Search Console property, e.g. 'sc-domain:example.com' or 'https://www.example.com/'.
- `SEO_MCP_GA4_PROPERTY_ID`: Default GA4 property, e.g. 'properties/123456789' or bare '123456789'.
- `PSI_API_KEY` (secret): Google API key shared by PageSpeed Insights and Chrome UX Report History tools. Optional; both work anonymously at a tighter rate limit when unset.
- `CF_API_TOKEN` (secret): Cloudflare API token. Optional; needed only for the Cloudflare tools. Scopes: Zone:Read, DNS:Read, Account Analytics:Read, and (only when destructive mode is…
- `CF_ZONE`: Default Cloudflare zone hostname, e.g. 'example.com'.
- `SEO_MCP_INDEXNOW_KEY` (secret): IndexNow shared key (any 8-128 hex string you generate). Required only for the IndexNow tools. Host the key file at https:///.txt for engine verification.
- `SEO_MCP_INDEXNOW_KEY_LOCATION`: Override the default IndexNow key-file URL (https:///.txt). Set only if you host the key file at a non-standard path.
- `SEO_MCP_ALLOW_DESTRUCTIVE`: Set to 'true' to enable the Cloudflare cache-purge tools. Default false: all destructive tools refuse to run.
- `DATAFORSEO_LOGIN` (secret): DataForSEO Basic-auth login. Optional (v0.9). Unlocks SERP/PAA/related, keyword volume+difficulty+intent, competitor keyword-gap, and Google AI Overview…
- `DATAFORSEO_PASSWORD` (secret): DataForSEO Basic-auth password. Optional (v0.9). Required alongside DATAFORSEO_LOGIN.
- `OPENPAGERANK_API_KEY` (secret): Open PageRank (DomCop) free API key. Optional (v0.9). Free competitor domain-authority proxy for onpageserpgap.
- `PERPLEXITY_API_KEY` (secret): Perplexity Sonar API key. Optional (v0.9). One of the AI answer-engines for aicitationtrack.
- `OPENAI_API_KEY` (secret): OpenAI API key (Responses websearch). Optional (v0.9). One of the AI answer-engines for aicitation_track.
- `ANTHROPIC_API_KEY` (secret): Anthropic API key (websearch tool). Optional (v0.9). One of the AI answer-engines for aicitation_track.
- `GEMINI_API_KEY` (secret): Google Gemini API key (Search grounding). Optional (v0.9). One of the AI answer-engines for aicitationtrack.
- `GOOGLE_ADS_DEVELOPER_TOKEN` (secret): Google Ads API developer token. Optional (v0.9). Volume-only alternative to DataForSEO for keyword_universe; live use also needs an adwords-scope OAuth…
- `GOOGLE_ADS_CUSTOMER_ID`: Google Ads customer id (digits). Optional (v0.9). Required alongside GOOGLEADSDEVELOPER_TOKEN.

## Tools

- `system_status`: which services are configured/reachable, the Google auth
- `gsc_list_properties`: properties the credentials can see, with permission
- `gsc_search_analytics`: the workhorse: clicks/impressions/CTR/position by
- `gsc_top_queries`: / gsctoppages - convenience top-N wrappers.
- `gsc_compare_periods`: current vs prior window with per-key deltas.
- `gsc_inspect_url`: URL Inspection (index verdict, coverage, canonicals).
- `gsc_batch_inspect_urls`: inspect up to 25 URLs, per-URL failures collected.
- `gsc_list_sitemaps`: registered sitemaps and their status.
- `gsc_submit_sitemap`: submit a sitemap (write, un-gated; needs the writable
- `gsc_request_indexing`: request (re)crawl via the Indexing API (write,
- `gsc_query_opportunities`: queries already ranking top N with below-target
- `gsc_query_gaps`: queries that draw impressions but barely any clicks.
- `gsc_new_queries`: queries appearing in the current window with no prior
- `gsc_top_pages_by_query`: which pages rank for a specific query. The
- `ga4_run_report`: the workhorse: arbitrary dimensions/metrics/date range,
- `ga4_top_landing_pages`: top landing pages, organic-only by default.
- `ga4_traffic_by_channel`: sessions/engagement/conversions by channel group.
- `ga4_organic_search_overview`: organic totals plus a day-by-day trend.
- `psi_analyze`: Lighthouse scores, lab Core Web Vitals, and field (CrUX) Core
- `cf_list_zones`: zones the token can see.
- `cf_zone_info`: status, plan, name servers for a zone.
- `cf_list_dns`: DNS records (read-only); useful for verifying canonical host
- `cf_web_analytics`: read-only edge Web Analytics (RUM), to compare against
- `cf_purge_cache`: purge specific URLs (gated).
- `cf_purge_cache_all`: purge an entire zone (gated + confirm token).

## Similar MCP servers

- [Worldmonitor](https://appsgit.com/mcp-servers/worldmonitor): Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface. (87,920 stars, AGPL-3.0)
- [Netdata](https://appsgit.com/mcp-servers/netdata): Real-time infrastructure monitoring with metrics, logs, alerts, and ML-based anomaly detection. (80,817 stars, GPL-3.0, needs API key)
- [openstatus](https://appsgit.com/mcp-servers/openstatus): Manage monitors, status pages, incidents and maintenances in your openstatus workspace. (9,171 stars, AGPL-3.0, official)
- [MCP Server Cloudflare](https://appsgit.com/mcp-servers/mcp-server-cloudflare): Model Context Protocol (MCP) is a new, standardized protocol for managing context between large language models (LLMs) and external systems. (4,360 stars, Apache-2.0, official, needs API key)
- [Dagu](https://appsgit.com/mcp-servers/dagu): Self-hostable workflow orchestrator for teams whose main work isn't orchestration. (4,289 stars, GPL-3.0)
- [Azure MCP Server](https://appsgit.com/mcp-servers/azure-mcp-server): All Azure MCP tools to create a seamless connection between AI agents and Azure services. (3,738 stars, MIT, official)

---

Canonical page: https://appsgit.com/mcp-servers/seo-monster
Source: appsgit (https://appsgit.com), the app store for github. Data from the GitHub API, refreshed nightly.
Machine access: JSON API https://appsgit.com/api/v1/apps (OpenAPI: https://appsgit.com/openapi.json), MCP server https://mcp.appsgit.com/mcp, full index https://appsgit.com/llms-full.txt.
