mcp-seo

mcp-seo

Enables AI agents to perform comprehensive SEO audits on web pages, including meta tags, headings, links, images, performance, and more, via a CLI or MCP server.

Category
Visit Server

README

MCP-SEO

Open-source SEO analysis toolkit for AI agents.

MCP-SEO gives any LLM agent — or human — a complete suite of SEO auditing tools, accessible both as a CLI and as a Model Context Protocol (MCP) server. Point it at a URL and get structured, Markdown-formatted reports on meta tags, headings, links, images, performance, mobile-friendliness, structured data, and more.

Features

  • 21 CLI commands covering on-page SEO, technical SEO, performance, accessibility, and content analysis
  • 18 MCP tools exposing the same capabilities to any MCP-compatible client (Claude Desktop, Cursor, OpenCode, ...)
  • Headless browser rendering via Playwright/Chromium for JavaScript-heavy pages
  • Lighthouse-style scoring (0-100) with per-category breakdowns
  • Multi-page site crawler with duplicate detection and robots.txt respect
  • Structured output — every analyzer returns Pydantic models (JSON) and Markdown reports
  • Configurable — all timeouts and thresholds overridable via MCP_SEO_* env vars
  • pip-installablepip install mcp-seo and you're ready to go

Installation

pip install mcp-seo

# Or with pipx for isolated CLI usage
pipx install mcp-seo

# Or directly from GitHub
pip install git+https://github.com/g-battaglia/mcp-seo.git

After installing, set up the headless browser (one-time):

mcp-seo setup

Quick Start

# Lighthouse-style audit with scoring
mcp-seo lighthouse https://example.com

# Full comprehensive report (all analyzers combined)
mcp-seo report https://example.com

# Individual analyzers
mcp-seo meta https://example.com           # Title, description, OG, Twitter, canonical
mcp-seo headings https://example.com       # Heading hierarchy (h1-h6)
mcp-seo links https://example.com          # Internal/external, nofollow, anchors
mcp-seo images https://example.com         # Alt text, lazy loading, dimensions, format
mcp-seo content https://example.com        # Word count, readability, keywords, n-grams
mcp-seo headers https://example.com        # Caching, security, compression, redirects
mcp-seo sitemap https://example.com        # XML sitemap discovery and validation
mcp-seo robots https://example.com         # robots.txt rules and directives
mcp-seo structured-data https://example.com # JSON-LD, Microdata, RDFa
mcp-seo performance https://example.com    # Core Web Vitals (TTFB, FCP, LCP)
mcp-seo mobile https://example.com         # Viewport, tap targets, font sizes
mcp-seo url-structure https://example.com   # URL length, depth, tracking params
mcp-seo accessibility https://example.com   # ARIA, landmarks, skip-nav, score

# Site crawler
mcp-seo crawl-site https://example.com     # Crawl site, find duplicates

# Page fetching
mcp-seo crawl https://example.com          # Rendered HTML (JS executed)
mcp-seo fetch https://example.com          # Raw HTTP response (JSON)

# Utilities
mcp-seo screenshot https://example.com
mcp-seo og-image -t "Title" -s "Subtitle" -o output.png

MCP Server

MCP-SEO includes a built-in Model Context Protocol server that exposes all SEO tools to any MCP-compatible AI client.

mcp-seo mcp

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "mcp-seo": {
      "command": "mcp-seo",
      "args": ["mcp"]
    }
  }
}

OpenCode

Add to your opencode.json:

{
  "mcpServers": {
    "mcp-seo": {
      "command": "mcp-seo",
      "args": ["mcp"]
    }
  }
}

If you installed from source with uv instead of pip, use "command": "uv" with "args": ["run", "--directory", "/path/to/mcp-seo", "mcp-seo", "mcp"].

Available MCP Tools

Tool Description
crawl Render page with headless Chromium, return full HTML
fetch_page Fetch raw HTTP response as JSON
analyze_meta_tags Title, description, OG, Twitter, canonical, viewport
analyze_headings Heading hierarchy (h1-h6), single H1, skip checks
analyze_links Internal/external links, nofollow, anchor text
analyze_images Alt text, lazy loading, dimensions, modern formats
analyze_content Word count, readability, keywords, n-grams
analyze_headers Caching, security, compression, redirect chain
analyze_sitemap XML sitemap discovery and validation
analyze_robots robots.txt rules, crawl-delay, sitemap directives
analyze_structured_data JSON-LD, Microdata, RDFa extraction
analyze_performance TTFB, FCP, LCP, DOM nodes, requests, resource sizes
analyze_mobile Viewport, font sizes, tap targets, horizontal scroll
analyze_url_structure URL length, depth, separators, tracking params
analyze_accessibility ARIA landmarks, skip-nav, forms, images, score
lighthouse_audit Lighthouse-style scoring (0-100) per category
full_seo_report Comprehensive report combining all analyses
crawl_site Multi-page crawler with cross-page analysis

For LLM Agents

MCP-SEO is designed to be used autonomously by AI agents. All tools produce structured Markdown output that is easy to parse, quote, and reason about.

See AGENTS.md for recommended workflows: quick audits, comprehensive audits, competitive analysis, and technical audits.

Claude Code Skill

MCP-SEO is available as a Claude Code skill:

npx @anthropic-ai/claude-code skills add g-battaglia/mcp-seo

This installs the mcp-seo skill, giving Claude Code direct access to all 18 SEO analysis tools with recommended audit workflows. The skill auto-triggers on SEO-related prompts and guides the agent to use the right tools for each analysis.

Development

git clone https://github.com/g-battaglia/mcp-seo.git
cd mcp-seo
uv sync --group dev
uv run mcp-seo setup
uv run mcp-seo --help

Tech Stack

Component Library
CLI click
MCP server FastMCP (mcp SDK)
Browser Playwright (headless Chromium)
HTTP client httpx
HTML parsing BeautifulSoup4 + lxml
Data models Pydantic v2

License

GNU Affero General Public License v3.0

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured