MCP Hub
Back to servers

seo-mcp-pro

MCP server for website operations - Google Marketing, SEO, Performance, Security & Monitoring. 121 tools for Claude.

npm97/wk
Updated
Feb 17, 2026

Quick Install

npx -y seo-mcp-pro

SEO MCP PRO

npm version CI License: MIT Node.js Version TypeScript

A Model Context Protocol (MCP) server that provides Claude with 121 tools for website operations, Google Marketing, SEO, performance analysis, security auditing, monitoring, accessibility testing, and more.


Table of Contents


Overview

seo-mcp-pro is a comprehensive MCP server built with TypeScript in strict mode. It connects Claude to the full spectrum of website management tasks -- from Google Analytics reporting and Tag Manager configuration to SSL analysis, Core Web Vitals monitoring, and WCAG accessibility audits.

  • 121 tools across 17 modules
  • Zero external runtime frameworks -- uses node:http for the optional dashboard
  • Built-in credential management with AES-256-GCM encryption (Pro)
  • Per-service rate limiting and in-memory caching

Free vs Pro

SEO MCP PRO follows a hybrid open source model. The core MCP tools are free and open source. Advanced reporting, the web dashboard, and credential management require a Pro license.

FeatureFreePro
Google Analytics 4 (GA4) toolsYesYes
Google Tag Manager (GTM) toolsYesYes
Google Search Console (GSC) toolsYesYes
Google Ads toolsYesYes
Google Business Profile toolsYesYes
Indexing API toolsYesYes
PageSpeed Insights / LighthouseYesYes
Core Web Vitals / CrUXYesYes
Security auditing (SSL, headers, Safe Browsing)YesYes
SEO technical (robots, sitemaps, canonicals, etc.)YesYes
Monitoring (uptime, DNS, certificates)YesYes
Accessibility (WCAG, contrast, images)YesYes
Cloudflare integrationYesYes
Utilities (tech detection, broken links, WHOIS)YesYes
Dashboard overview toolYesYes
Site Health Report (report_site_health)--Yes
SEO Audit Report (report_seo_audit)--Yes
Executive Summary (report_executive_summary)--Yes
Web Dashboard (browser UI on port 3737)--Yes
Encrypted Credential Store (AES-256-GCM)--Yes
SSE Real-time Monitoring--Yes

Activating Pro

Set your license key as an environment variable:

SEO_MCP_PRO_KEY=SMCP-XXXX-XXXX-XXXX-XXXX

Or add it to your .env file. The server logs the active tier on startup.


Quick Start

Install from npm

# Run directly with npx (no install needed)
npx seo-mcp-pro

# Or install globally
npm install -g seo-mcp-pro
seo-mcp-pro

Install from source

git clone https://github.com/bypixels/SEO-MCP-PRO.git
cd SEO-MCP-PRO
pnpm install
pnpm build
pnpm start

Development

pnpm dev         # Development mode with hot reload

Tool Modules

The server organizes its tools into 17 modules spanning 14 core categories:

ModuleDescriptionExample Tools
Google Tag ManagerAccounts, containers, workspaces, tags, triggers, variables, versionsgtm_list_containers, gtm_create_tag, gtm_publish_version
Google Analytics 4Accounts, properties, reports, realtime, funnels, custom dimensions/metrics, audiences, data streams, conversion eventsga4_run_report, ga4_run_realtime_report, ga4_run_funnel_report
Google Search ConsoleSites, performance queries, top queries/pages, sitemaps, URL inspection, coveragegsc_query_performance, gsc_top_queries, gsc_inspect_url
Google AdsCustomers, campaigns, ad groups, keywords, budgets, performance, search terms, keyword ideasads_list_campaigns, ads_create_campaign, ads_get_keyword_ideas
Google Business ProfileAccounts, locations, reviews, posts, insights, mediagbp_list_locations, gbp_reply_review, gbp_create_post
Indexing APISubmit URLs for indexing, check status, batch operationsindexing_publish, indexing_get_status, indexing_batch_publish
PageSpeed InsightsPage performance analysis via PSI APIpsi_analyze
CrUXChrome UX Report data queries and historical trendscrux_query, crux_history
Core Web VitalsLCP, INP, CLS aggregate reportscwv_report
LighthouseFull Lighthouse audits via PSI APIlighthouse_audit
SecuritySSL analysis, security headers, Safe Browsing, comprehensive auditssecurity_ssl_analyze, security_headers_check, security_audit
SEO TechnicalRobots.txt, sitemaps, canonicals, redirects, structured data, headings, meta tagsseo_robots_analyze, seo_sitemap_analyze, seo_structured_data
MonitoringUptime, response time, DNS lookup/propagation, certificate checksmonitor_check_uptime, monitor_dns_lookup, monitor_certificate
AccessibilityWCAG audits, contrast checking, image alt text validationa11y_audit, a11y_check_contrast, a11y_check_images
UtilitiesTech stack detection, broken link scanning, WHOIS, headers, screenshotsutil_tech_detection, util_broken_links, util_whois_lookup
CloudflareZones, DNS records, analytics, cache purge, firewall eventscf_get_zones, cf_create_dns_record, cf_purge_cache
ReportsAggregated site health, SEO audit, executive summaryreport_site_health, report_seo_audit, report_executive_summary

Configuration

All configuration is handled through environment variables. Create a .env file in the project root:

SEO MCP PRO License

VariableDescription
SEO_MCP_PRO_KEYPro license key (SMCP-XXXX-XXXX-XXXX-XXXX)

Google OAuth 2.0

VariableDescription
GOOGLE_CLIENT_IDOAuth 2.0 client ID
GOOGLE_CLIENT_SECRETOAuth 2.0 client secret
GOOGLE_REDIRECT_URIOAuth redirect URI
GOOGLE_REFRESH_TOKENOAuth refresh token

Google Service Account

VariableDescription
GOOGLE_SERVICE_ACCOUNT_KEY_FILEPath to service account JSON key file
GOOGLE_SERVICE_ACCOUNT_IMPERSONATEEmail address for domain-wide delegation

API Keys

VariableDescription
GOOGLE_PAGESPEED_API_KEYPageSpeed Insights API key
GOOGLE_SAFE_BROWSING_API_KEYSafe Browsing API key

Google Ads

VariableDescription
GOOGLE_ADS_DEVELOPER_TOKENGoogle Ads API developer token
GOOGLE_ADS_LOGIN_CUSTOMER_IDManager account customer ID

Cloudflare

VariableDescription
CLOUDFLARE_API_TOKENCloudflare API token (preferred)
CLOUDFLARE_EMAILCloudflare account email (legacy auth)
CLOUDFLARE_API_KEYCloudflare global API key (legacy auth)

Dashboard (Pro)

VariableDescriptionDefault
DASHBOARD_ENABLEDEnable the web dashboardfalse
DASHBOARD_PORTDashboard HTTP port3737
DASHBOARD_API_KEYAPI key for dashboard access--
DASHBOARD_AUTH_REQUIREDRequire authentication for dashboardfalse

Claude Desktop Integration

Add the server to your claude_desktop_config.json:

{
  "mcpServers": {
    "seo-mcp-pro": {
      "command": "npx",
      "args": ["-y", "seo-mcp-pro"],
      "env": {
        "GOOGLE_PAGESPEED_API_KEY": "your-api-key",
        "SEO_MCP_PRO_KEY": "SMCP-XXXX-XXXX-XXXX-XXXX"
      }
    }
  }
}

Or if installed from source:

{
  "mcpServers": {
    "seo-mcp-pro": {
      "command": "node",
      "args": ["/path/to/SEO-MCP-PRO/dist/index.js"],
      "env": {
        "GOOGLE_CLIENT_ID": "your-client-id",
        "GOOGLE_CLIENT_SECRET": "your-client-secret",
        "GOOGLE_REFRESH_TOKEN": "your-refresh-token",
        "GOOGLE_PAGESPEED_API_KEY": "your-api-key"
      }
    }
  }
}

Once configured, Claude will have access to all available tools. Ask Claude to analyze your website's performance, check SEO issues, audit security headers, or manage your Google Marketing stack -- all through natural language.


Web Dashboard (Pro)

The server includes an optional self-contained web dashboard for browser-based access to all tools and reports. Requires a Pro license.

SEO_MCP_PRO_KEY=SMCP-... pnpm dashboard

Or set DASHBOARD_ENABLED=true and SEO_MCP_PRO_KEY in your .env file and run pnpm start.

The dashboard is available at http://localhost:3737 and provides:

  • Tool browser -- Browse and execute all available tools
  • Site reports -- Site health, SEO audit, and executive summary reports
  • Real-time monitoring -- Server-Sent Events for live status updates
  • Credential management -- Save and manage API keys through the UI (AES-256-GCM encrypted at rest)
  • Status overview -- Authentication state, cache statistics, rate limit status

Dashboard REST API

When the dashboard is enabled (Pro), the following HTTP endpoints are available:

Health and Status

MethodEndpointDescription
GET/api/healthServer health check
GET/api/status/authAuthentication status
GET/api/status/cacheCache statistics
GET/api/status/rate-limitsRate limit status per service

Tools and Reports

MethodEndpointDescription
GET/api/toolsList all available tools
POST/api/tool/:nameExecute a tool (JSON body = tool input)
GET/api/dashboard?url=XDashboard overview for a URL
GET/api/report/site-health?url=XSite health report
GET/api/report/seo-audit?url=XSEO audit report

Settings and Credentials

MethodEndpointDescription
GET/api/settings/schemaConfiguration schema
GET/api/settings/credentialsRetrieve saved credentials
POST/api/settings/credentialsSave credentials
POST/api/settings/credentials/validateValidate credentials

Monitoring

MethodEndpointDescription
GET/api/sse?url=XServer-Sent Events stream for real-time monitoring

Architecture

src/
├── index.ts                  # Entry point
├── server.ts                 # MCP server setup and tool registration
├── licensing/                # License management (free vs pro)
│   ├── index.ts              # Key validation, isPro(), getLicenseTier()
│   └── tiers.ts              # Pro tool and feature definitions
├── auth/                     # Authentication layer
│   ├── oauth.ts              # Google OAuth 2.0 flow
│   ├── service-account.ts    # Service account authentication
│   └── token-manager.ts      # Automatic token refresh
├── tools/                    # 14 tool modules
│   ├── google/               # GTM, GA4, GSC, Ads, Business Profile, PageSpeed, Indexing
│   ├── performance/          # Core Web Vitals, CrUX, Lighthouse
│   ├── security/             # SSL, headers, Safe Browsing
│   ├── seo-technical/        # Structured data, robots, sitemaps, canonicals
│   ├── accessibility/        # WCAG audits, contrast checking
│   ├── monitoring/           # Uptime, DNS, certificates
│   ├── integrations/         # Cloudflare
│   ├── utilities/            # Screenshots, tech detection, broken links
│   └── reports/              # Site health, SEO audit, executive summary
├── dashboard/                # Optional HTTP dashboard (Pro)
│   ├── http-server.ts        # node:http server (zero frameworks)
│   ├── routes/               # API, SSE, and settings route handlers
│   ├── services/             # Credential store (AES-256-GCM), data orchestration
│   └── ui/                   # Self-contained HTML dashboard
├── utils/                    # Shared utilities
│   ├── rate-limiter.ts       # Per-service rate limiting (bottleneck)
│   ├── cache.ts              # In-memory + file cache
│   └── logger.ts             # Structured JSON logging (winston)
├── config/                   # Google API scopes, default values
└── types/                    # TypeScript type definitions

Design Principles

  • Zod validation on all tool inputs and outputs
  • Per-service rate limiting via bottleneck (e.g., GTM: 50 req/min, GA4: 100 req/min, GSC: 1200 req/day)
  • In-memory caching with 5-minute TTL (1000-item limit) and file cache fallback (1-hour TTL)
  • Structured logging with Winston in JSON format
  • Automatic token refresh for all Google API interactions
  • stdio transport for Claude Desktop; optional HTTP transport for the dashboard

Commands

CommandDescription
pnpm installInstall dependencies
pnpm buildBuild with tsup (ESM)
pnpm startRun the MCP server (stdio transport)
pnpm dashboardRun with web dashboard enabled (Pro)
pnpm devDevelopment mode with hot reload
pnpm testRun tests with vitest
pnpm lintLint with ESLint
pnpm typecheckTypeScript type checking

OAuth Token Helper

To obtain a Google OAuth refresh token for local development:

node get-token.cjs

This interactive script reads GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET from your .env file, opens a browser for the OAuth consent flow, and writes the resulting refresh token back to .env.


License

MIT

Reviews

No reviews yet

Sign in to write a review