🚀 Quick Start

Two ways to connect — pick what fits your needs.

MethodToolsBest For
Direct (Streamable HTTP)15 tools (crawl, audit, schema, CWV, IndexNow)Quick setup, no Google data needed
Proxy (seomcp-proxy)All 37 tools (+ GSC, GA4)Full power — your Google creds stay local

Option A: Direct Connection (30 seconds)

Works for site audits, crawling, schema validation, Core Web Vitals, and IndexNow. No Google account needed.

1

Sign up at seomcp.dev → get your sk_live_ key

2

Add to your MCP config:

Claude Desktop / Cursor / Windsurf
{
  "mcpServers": {
    "seo": {
      "url": "https://api.seomcp.dev/mcp",
      "headers": {
        "Authorization": "Bearer sk_live_your_key_here"
      }
    }
  }
}
3

Ask your agent: "Run a site audit on example.com"

Option B: Proxy (All 37 Tools + Google Data)

Unlocks GSC and GA4 tools. Your Google credentials never leave your machine — the proxy reads them locally and forwards requests securely.

1

Sign up + get API key (same as above)

2

Create a Google service account with GSC + GA4 access

3

Add to your MCP config:

Claude Desktop / Cursor / Windsurf
{
  "mcpServers": {
    "seo": {
      "command": "npx",
      "args": ["-y", "github:quantacodes/seomcp-proxy"],
      "env": {
        "SEOMCP_API_KEY": "sk_live_your_key_here",
        "GOOGLE_SERVICE_ACCOUNT": "/path/to/service-account.json",
        "GSC_PROPERTY": "sc-domain:example.com",
        "GA4_PROPERTY": "properties/123456"
      }
    }
  }
}
4

Verify: SEOMCP_API_KEY=sk_live_... GOOGLE_SERVICE_ACCOUNT=./sa.json npx -y github:quantacodes/seomcp-proxy test

🔑 Authentication

All MCP requests require an API key passed as a Bearer token.

API Key Format

API keys follow this format:

sk_live_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6

Usage

Include your key in the Authorization header:

Authorization: Bearer sk_live_your_key_here

Key Management

  • Create and revoke keys from your dashboard
  • Keys are shown only once at creation — store them securely
  • Revoked keys stop working immediately
  • Free plan: 1 key, Pro: 5 keys, Agency: 20 keys

🔌 Connection Methods

seomcp.dev speaks the Model Context Protocol (MCP) — the standard for AI tool connections.

Endpoint

POST https://api.seomcp.dev/mcp

Transport

We use Streamable HTTP transport (the MCP standard). Your first request must be an initialize call. The server returns a session ID in the Mcp-Session-Id header.

Config Snippets

Claude Desktop / Claude Code

claude_desktop_config.json
{
  "mcpServers": {
    "seo": {
      "url": "https://api.seomcp.dev/mcp",
      "headers": {
        "Authorization": "Bearer sk_live_..."
      }
    }
  }
}

Cursor / Windsurf

.cursor/mcp.json
{
  "mcpServers": {
    "seo": {
      "url": "https://api.seomcp.dev/mcp",
      "headers": {
        "Authorization": "Bearer sk_live_..."
      }
    }
  }
}

Any MCP Client (cURL test)

curl -X POST https://api.seomcp.dev/mcp \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}},"id":1}'

🧰 Available Tools (37)

All tools are accessible through the MCP protocol. Your AI agent discovers them automatically via tools/list.

Crawl & Audit

site_audit — Full site SEO audit with health score
crawl_page — Crawl a single page for SEO analysis
test_robots_txt — Test URL against robots.txt rules
generate_report — One command → comprehensive SEO report

Google Search Console (8 tools)

gsc_performance — Search performance data (clicks, impressions, CTR, position)
gsc_list_sites — List verified sites
gsc_list_sitemaps — List submitted sitemaps
gsc_submit_sitemap — Submit a sitemap to Google
gsc_delete_sitemap — Delete a submitted sitemap
gsc_inspect_url — Inspect URL indexing status
gsc_bulk_inspect — Bulk URL inspection
gsc_search_appearances — Rich result search appearances

Google Analytics 4 (9 tools)

ga4_report — Custom GA4 report (5 presets: landing_pages, engagement, conversions, channels, content)
ga4_realtime — Real-time active users
ga4_overview — Traffic overview dashboard
ga4_top_pages — Top performing pages
ga4_traffic_sources — Traffic source breakdown
ga4_devices — Device category analytics
ga4_geography — Geographic traffic data
ga4_metadata — Available dimensions and metrics

Schema & Validation (2 tools)

validate_schema — Validate structured data / JSON-LD schema
analyze_robots_txt — Full robots.txt analysis

Core Web Vitals (1 tool)

core_web_vitals — PageSpeed Insights & CWV metrics

IndexNow (4 tools)

indexnow_submit_url — Submit single URL for instant indexing
indexnow_batch_submit — Submit multiple URLs at once
indexnow_submit_sitemap — Submit all URLs from a sitemap
indexnow_submit_file — Submit URLs from a file

Sitemaps & Storage

sitemap_index_diff — Compare two sitemaps for changes
version — Server version info

💡 GSC and GA4 tools require Google service account setup.

🔑 Google Service Account Setup

Required for GSC and GA4 tools. Takes about 5 minutes. Your credentials stay on your machine — they're never stored on our servers.

Step 1: Create a Google Cloud project

  1. Go to Google Cloud Console
  2. Create a new project (or select an existing one)

Step 2: Enable APIs

Enable these APIs in your project:

Step 3: Create service account

  1. Go to IAM → Service Accounts
  2. Click "Create Service Account"
  3. Name it (e.g., seo-mcp)
  4. Skip the optional role/permission steps
  5. Click "Keys" → "Add Key" → "Create new key" → JSON
  6. Save the downloaded JSON file (e.g., ~/service-account.json)

Step 4: Grant access

Share your properties with the service account email (looks like seo-mcp@your-project.iam.gserviceaccount.com):

  • Google Search Console: Go to Search Console → Settings → Users and permissions → Add user (Full or Restricted)
  • Google Analytics: Go to GA4 → Admin → Property → Property Access Management → Add user (Viewer role)

Step 5: Find your property IDs

# GSC property (one of these formats):
GSC_PROPERTY="sc-domain:example.com"          # Domain property
GSC_PROPERTY="https://www.example.com/"       # URL-prefix property

# GA4 property ID (find in GA4 → Admin → Property Details):
GA4_PROPERTY="properties/123456789"

Security

  • The JSON file never leaves your machine — the proxy reads it locally
  • Credentials are sent to our API over HTTPS, used for 1-15 seconds, then the process dies
  • Nothing is logged, stored, or persisted on our servers
  • Credentials are re-read from disk on every request — rotate keys without restarting

⏱️ Rate Limits

Rate limits are enforced per user (not per key) on a monthly rolling window.

📧 Email verification required for full limits. Unverified free accounts are limited to 10 calls/month. Verify your email to unlock the full 100 calls/month. Check your inbox after signup.

Plan Calls/month Sites API Keys
Free10011
Pro ($29/mo)2,00055
Agency ($79/mo)10,000Unlimited20
EnterpriseUnlimitedUnlimitedUnlimited

When rate limited

The MCP tool call will return an error with a message indicating you've exceeded your plan limit. The usage counter resets on the 1st of each month.

❌ Error Handling

Errors follow MCP JSON-RPC error format.

Error Response Example
{
  "jsonrpc": "2.0",
  "error": {
    "code": -32600,
    "message": "Rate limit exceeded"
  },
  "id": 1
}

HTTP Status Codes

Code Meaning
200Success
400Bad request (missing Mcp-Session-Id or invalid JSON)
401Missing or invalid API key
404Session not found
429Rate limit exceeded

💳 Billing

Billing is handled by Lemon Squeezy. Upgrade, downgrade, or cancel anytime from your dashboard.

Plan changes

  • Upgrade: Takes effect immediately. Your usage limit increases right away.
  • Downgrade: Takes effect at end of billing period. You keep your current limits until then.
  • Cancel: Access continues until end of billing period. You can resume before it expires.

Payment methods

Cards (Visa, Mastercard, Amex), PayPal, and Apple Pay via Lemon Squeezy.

Questions? Email support@seomcp.dev · Home · Tools · Dashboard · OpenAPI