Skip to content
appsgit

SEO Monster

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.

github.com/avansaber/seo-monster (opens in a new tab)

Install SEO Monster

Generated from the server's MCP registry entry. Replace your-value with your own values.

Claude Desktop

claude_desktop_config.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

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
{
  "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
{
  "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 Oct 7, 2026: modelcontextprotocol.io (opens in a new tab), code.claude.com (opens in a new tab), cursor.com (opens in a new tab), code.visualstudio.com (opens in a new tab).

Environment variables

Variables the server reads at startup.

NameRequiredDescription
SEO_MCP_GOOGLE_OAUTH_CLIENTNoPath to your Desktop-app OAuth client-secrets JSON, downloaded from Google Cloud Console. Required for Search Console, Indexing, and GA4 tools.
SEO_MCP_GOOGLE_TOKENsecretNoWritable 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_SITENoDefault Search Console property, e.g. 'sc-domain:example.com' or 'https://www.example.com/'.
SEO_MCP_GA4_PROPERTY_IDNoDefault GA4 property, e.g. 'properties/123456789' or bare '123456789'.
PSI_API_KEYsecretNoGoogle 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_TOKENsecretNoCloudflare API token. Optional; needed only for the Cloudflare tools. Scopes: Zone:Read, DNS:Read, Account Analytics:Read, and (only when destructive mode is…
CF_ZONENoDefault Cloudflare zone hostname, e.g. 'example.com'.
SEO_MCP_INDEXNOW_KEYsecretNoIndexNow 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_LOCATIONNoOverride the default IndexNow key-file URL (https:///.txt). Set only if you host the key file at a non-standard path.
SEO_MCP_ALLOW_DESTRUCTIVENoSet to 'true' to enable the Cloudflare cache-purge tools. Default false: all destructive tools refuse to run.
DATAFORSEO_LOGINsecretNoDataForSEO Basic-auth login. Optional (v0.9). Unlocks SERP/PAA/related, keyword volume+difficulty+intent, competitor keyword-gap, and Google AI Overview…
DATAFORSEO_PASSWORDsecretNoDataForSEO Basic-auth password. Optional (v0.9). Required alongside DATAFORSEO_LOGIN.
OPENPAGERANK_API_KEYsecretNoOpen PageRank (DomCop) free API key. Optional (v0.9). Free competitor domain-authority proxy for onpageserpgap.
PERPLEXITY_API_KEYsecretNoPerplexity Sonar API key. Optional (v0.9). One of the AI answer-engines for aicitationtrack.
OPENAI_API_KEYsecretNoOpenAI API key (Responses websearch). Optional (v0.9). One of the AI answer-engines for aicitation_track.
ANTHROPIC_API_KEYsecretNoAnthropic API key (websearch tool). Optional (v0.9). One of the AI answer-engines for aicitation_track.
GEMINI_API_KEYsecretNoGoogle Gemini API key (Search grounding). Optional (v0.9). One of the AI answer-engines for aicitationtrack.
GOOGLE_ADS_DEVELOPER_TOKENsecretNoGoogle 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_IDNoGoogle Ads customer id (digits). Optional (v0.9). Required alongside GOOGLEADSDEVELOPER_TOKEN.

Tools (25)

Parsed from the Tools section of the README; check the repository for the current list.

  • 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).

About 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.

  • ai
  • anthropic
  • claude
  • cloudflare
  • core-web-vitals
  • crux
  • ga4
  • indexnow
  • mcp
  • model-context-protocol

FAQ

SEO Monster FAQ

Still curious? Email info@appsgit.com.

What is SEO Monster?

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. The source code is at github.com/avansaber/seo-monster.

How do I install the SEO Monster MCP server?

Add the command uvx seo-monster to your MCP client: put it in claude_desktop_config.json for Claude Desktop, run claude mcp add for Claude Code, or add it to .cursor/mcp.json (Cursor) or .vscode/mcp.json (VS Code). The snippets on this page are ready to paste.

Is SEO Monster free?

The server is open source under the MIT license, so running it is free. It needs credentials (SEO_MCP_GOOGLE_TOKEN, PSI_API_KEY, CF_API_TOKEN, SEO_MCP_INDEXNOW_KEY, DATAFORSEO_LOGIN, DATAFORSEO_PASSWORD, OPENPAGERANK_API_KEY, PERPLEXITY_API_KEY, OPENAI_API_KEY, ANTHROPIC_API_KEY, GEMINI_API_KEY and GOOGLE_ADS_DEVELOPER_TOKEN) for the service it connects to, which may require a paid account.

Is SEO Monster actively maintained?

The most recent commit was on Sep 1, 2026. The latest release is v0.9.3, published Aug 29, 2026. appsgit only lists MCP servers with a commit in the last six months and re-checks every server daily.