Free & open source

Scan any website for SEO issues

28 rules, site crawling, deep page analysis, and real-time web monitoring — all from your AI editor. Works with Claude Desktop, Claude Code, and Cursor.

terminal
$ git clone https://github.com/Stackwise-digital/seo-mcp.git
$cd seo-mcp && npm install && npm run build
> "Scan https://example.com for SEO issues"
# SEO Scan: https://example.com
Score: 72/100
Critical (1): Missing meta description
High (2): Title too short, missing Open Graph tags
Medium (3): No structured data, missing hreflang...

Everything you need for SEO

Audit, analyze, and monitor — all from your AI editor.

28 SEO Rules
Meta, content, technical, and performance checks — from missing titles to slow response times.
Multi-Threaded Scanning
Parallel page analysis with worker_threads. Scan hundreds of pages fast.
Site Crawling
Configurable depth, page limits, and robots.txt respect. Discover issues across your entire site.
Deep Page Analysis
Returns structured data for your LLM to analyze — keywords, content quality, technical insights. No API key needed.
Real-Time Monitoring
Track content changes via Firehose (Ahrefs). Lucene queries, SSE streaming, 24h event buffer.
Works Everywhere
Claude Desktop, Claude Code, Cursor, or any MCP-compatible client. Install once, use anywhere.

8 tools, one MCP server

SEO scanning out of the box. Real-time monitoring with a free Firehose key.

SEO Scanning

No API key
scan_url

Scan a single URL for SEO issues. Returns score, issues by severity, metadata, links, and images.

url
scan_site

Crawl and scan an entire website. Includes duplicate content detection, robots.txt and sitemap analysis.

urlmaxPagesmaxDepth
get_site_overview

Summary of a previously scanned domain — overall score, top issues, worst-performing pages.

domain
analyze_page

Deep analysis returning structured data + HTML for the LLM to provide keyword, content quality, and technical insights.

urlfocusAreas

Real-Time Monitoring

Firehose (free beta)
firehose_monitor

Quick setup — create a tap and monitoring rule in one step. Ideal after an SEO audit.

namedomainquery
firehose_manage_taps

Create, list, or delete monitoring taps for real-time web change tracking.

actionnametap_id
firehose_manage_rules

CRUD rules using Lucene query syntax to filter web changes by domain, content, category, and more.

actiontap_idvalue
firehose_stream

Consume real-time change events. Supports replay via 24h buffer with the since parameter.

tap_idlimitsince

Up and running in 3 steps

1

Install

$ git clone https://github.com/
Stackwise-digital/seo-mcp.git
$ cd seo-mcp
$npm install && npm run build
2

Configure

// .mcp.json
{
"mcpServers": {
"seo-mcp": {
"command": "node",
"args": ["dist/index.js"]
}
}
}
3

Use

> "Scan example.com for SEO issues"
# SEO Scan: https://example.com
Score: 72/100
> "Monitor it for changes"
# Monitor Created
Tap ID: abc123
Rule: domain:example.com

Get started

Clone, build, and add to your MCP client. No API keys required.

1. Clone & build

terminal
$ git clone https://github.com/Stackwise-digital/seo-mcp.git
$cd seo-mcp && npm install && npm run build

2. Add to your MCP client

~/.claude/.mcp.json
{
  "mcpServers": {
    "seo-mcp": {
      "command": "node",
      "args": ["/path/to/seo-mcp/dist/index.js"]
    }
  }
}

Optional: Enable real-time monitoring

Sign up at firehose.com (free beta) and add your FIREHOSE_MANAGEMENT_KEY to the MCP config env to unlock the 4 firehose_* tools.