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.
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-installable —
pip install mcp-seoand 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
uvinstead ofpip, 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
Recommended Servers
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.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.