SkillAgentSearch skills...

seo-mcp

Free, open-source MCP server for SEO auditing with real-time web monitoring via Firehose (Ahrefs). 28 rules, site crawling, deep analysis — works with Claude Desktop, Claude Code, and Cursor.

Install / Use

claude mcp add Stackwise-digital -- npx -y github:Stackwise-digital/seo-mcp

If the server publishes to npm under a different name, use that package instead — check the repo README.

About this skill
🔌

MCP Server

Model Context Protocol server

Quality Score

77/100

Category

Operations

Supported Platforms

Claude Code
Claude Desktop
Cursor

Our assessment of seo-mcp

seo-mcp scores 77/100 on our quality scale, 678th of 753 Operations skills we index.

Its MCP Server is 7.2 KB long, well organised into 20 sections with 7 code examples: a thorough specification that gives an agent plenty to work with.

It has 3 GitHub stars, so there is little community track record yet; judge it on its content.

Substance
29/30
Structure
20/20
Description
15/15
Adoption
3/20
Freshness
11/15

Maintenance, license and trust

  • The repository was last updated about 6 months ago. That is recent enough to be usable, but agent tooling moves fast, so check the instructions against your agent's current version.
  • It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
  • Its trust signals score 86/100, with 2 cautions from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

Safety scan

No issues found

Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands.

Automated pattern scan on 2026-10-14. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.

seo-mcp compared with similar skills

All 4 of these similar skills score higher than seo-mcp; compare them before choosing.

SkillScoreStarsUpdatedFormat
seo-mcp (this skill)by Stackwise-digital7736mo agoMCP Server
Agent-Reachby Panniantong10097.1k5d agoCLAUDE.md
headroomby headroomlabs-ai10075.3ktodayCLAUDE.md
CowAgentby zhayujie10047.4ktodayCLAUDE.md
Scraplingby D4Vinci10087.4ktodayMCP Server

Frequently asked questions

How do I install seo-mcp?
Run claude mcp add Stackwise-digital -- npx -y github:Stackwise-digital/seo-mcp. The install tabs above show the steps for each supported agent.
Which AI agents does seo-mcp work with?
It is written for Claude Code, Claude Desktop and Cursor, as a MCP Server file. Other agents that read the same format can often use it too.
Is seo-mcp safe to use?
Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. It is MIT-licensed and scores 86/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is seo-mcp still maintained?
The repository was last updated about 6 months ago. That is recent enough to be usable, but agent tooling moves fast, so check the instructions against your agent's current version.

seo-mcp

Free, open-source MCP server for scanning websites for SEO issues — runs locally and integrates directly with Claude Desktop, Claude Code, Cursor, and other MCP clients.

No API keys required for core functionality. The conversation LLM performs AI analysis directly.

Features

  • 28 SEO rules across meta, content, technical, and performance categories
  • Multi-threaded scanning with worker_threads for parallel page analysis
  • Site crawling with configurable depth, page limits, and robots.txt respect
  • Deep page analysis — returns structured data for the conversation LLM to analyze (no API key needed)
  • Real-time web monitoring via Firehose (Ahrefs) — track content changes with Lucene queries and SSE streaming
  • Structured results with severity levels and actionable recommendations

Getting Started

Prerequisites

Installation

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

Setup

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

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

Claude Code

Add to your Claude Code MCP settings (~/.claude/.mcp.json):

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

Cursor

Add to your Cursor MCP settings:

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

That's it — the 4 core SEO tools are ready to use. No API keys needed.

Enable Real-Time Monitoring (optional)

To use the Firehose real-time web monitoring tools:

  1. Sign up at firehose.com (free during beta, no credit card)
  2. Create a management key (starts with fhm_)
  3. Add it to your MCP config:
{
  "mcpServers": {
    "seo-mcp": {
      "command": "node",
      "args": ["/path/to/seo-mcp/dist/index.js"],
      "env": {
        "FIREHOSE_MANAGEMENT_KEY": "fhm_your_key_here"
      }
    }
  }
}

Tools

SEO Scanning

| Tool | Description | |------|-------------| | scan_url | Scan a single URL for SEO issues. Returns score, issues by severity, metadata, links, and images. | | scan_site | Crawl and scan an entire website. Includes duplicate content detection, robots.txt and sitemap analysis. | | get_site_overview | Summary of a previously scanned domain — overall score, top issues, worst pages. | | analyze_page | Deep analysis returning structured data + HTML for the LLM to provide keyword, content quality, and technical insights. |

Real-Time Monitoring (Firehose)

Powered by Ahrefs' crawler (8B+ pages/day). Requires FIREHOSE_MANAGEMENT_KEY.

| Tool | Description | |------|-------------| | firehose_monitor | Quick setup — create a tap and monitoring rule in one step. Ideal after an SEO audit. | | firehose_manage_taps | Create, list, or delete monitoring taps. | | firehose_manage_rules | CRUD rules using Lucene query syntax (e.g., domain:example.com AND added:"pricing"). | | firehose_stream | Consume real-time change events. Supports replay via 24h buffer. |

<details> <summary>Available Lucene query fields</summary>

| Field | Type | Description | |-------|------|-------------| | added | text | Newly inserted content (default search field) | | removed | text | Deleted content | | title | text | Page title | | url | keyword | Full URL (exact match) | | domain | keyword | Domain (e.g., example.com) | | page_category | keyword | ML category (e.g., /News, /Finance) | | page_type | keyword | ML type (e.g., /Article/How_to) | | language | keyword | ISO 639-1 code (e.g., en) | | publish_time | keyword | ISO-8601 datetime | | recent | filter | Recency filter (e.g., 24h, 7d) |

Supports: AND, OR, NOT, phrases ("..."), wildcards (*, ?), ranges ([... TO ...]). Max 25 rules per org.

</details>

Example Workflows

Audit a single page:

"Scan https://example.com for SEO issues"

Crawl an entire site:

"Scan site example.com with max 100 pages"

Deep analysis:

"Analyze https://example.com focusing on keywords and content quality"

Monitor a competitor after audit:

"Set up a Firehose monitor for competitor.com" "Stream the latest events from that monitor"

Track specific content changes:

"Create a Firehose monitor with query: domain:example.com AND added:"pricing" AND language:"en""

SEO Rules (28 total)

| Category | Rules | |----------|-------| | Meta (10) | Title exists, title length, description exists, description length, canonical URL, Open Graph tags, Twitter card, viewport, hreflang, favicon | | Content (7) | H1 exists, H1 count, heading hierarchy, image alt text, word count, internal links, broken links | | Technical (7) | HTTPS, status code, robots meta/noindex, structured data, redirect chains, lang attribute, DOCTYPE | | Performance (4) | Page size, response time, compression, cache headers |

Configuration

All configuration is via environment variables. Defaults work out of the box.

| Variable | Default | Description | |----------|---------|-------------| | WORKER_POOL_SIZE | 4 | Number of worker threads | | DEFAULT_MAX_PAGES | 50 | Default max pages for site crawl | | DEFAULT_MAX_DEPTH | 3 | Default max crawl depth | | REQUEST_TIMEOUT_MS | 15000 | HTTP request timeout | | REQUESTS_PER_SECOND | 5 | Rate limit for outbound requests | | FIREHOSE_MANAGEMENT_KEY | — | Firehose management key (optional, for firehose_* tools) |

See .env.example for a template.

Development

npm install          # Install dependencies
npm run dev          # Run in dev mode (no build needed)
npm run build        # Build
npm run typecheck    # Type check
npm test             # Run tests

Architecture

src/
├── index.ts              # MCP server entry point
├── config/               # Environment-based configuration
├── types/                # TypeScript type definitions
├── tools/                # MCP tool registrations (8 tools)
├── scanner/              # Core scanner engine, fetcher, parser, crawler
├── rules/                # 28 SEO rules across 4 categories
├── workers/              # worker_threads pool for parallel scanning
├── firehose/             # Firehose real-time monitoring client
├── store/                # In-memory result storage
└── utils/                # Rate limiter, URL utils, logger

Companion Tools

Bridddge — Desktop LinkedIn automation built by the same team. If you use seo-mcp to audit your content and want to amplify it on LinkedIn, Bridddge handles outreach, connection requests, and follow-ups with AI-driven personalization. Privacy-first, runs locally.

License

MIT

Related Skills

View on GitHub
GitHub Stars3
CategoryOperations
Updated6mo ago
Forks0

Languages

TypeScript

Trust signals

86/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

2 low