automatelab-ai-seo
Vendor-agnostic MCP server that audits, scores, and rewrites web pages for AI-citation eligibility. No API keys. No registration. Works in Claude Desktop, Cursor, Cline, Windsurf, VS Code (Copilot / Continue), and any client that speaks the Model Context Protocol.
README
@automatelab/ai-seo-mcp
AI Citation Toolkit for the Model Context Protocol
Audit why AI systems do or do not cite your pages. MCP server. No API keys.
Works inside Claude, Cursor, Windsurf, Codex, and any MCP client that speaks stdio.
What it checks
- AI crawler access - GPTBot, OAI-SearchBot, ClaudeBot, and PerplexityBot allowed or blocked in
robots.txt llms.txt- present, spec-compliant, links alive- Structured answer extraction - FAQ headings, BLUF paragraphs, answer-ready blocks
- Schema completeness - FAQPage, Article, Organization, Person; flags deprecated patterns
- Entity clarity - named entity density and
sameAscoverage that help AI systems identify the subject - Citation formatting - canonical URL hygiene,
og:url,hreflang, noindex traps - Sitemap freshness -
lastmodsignals that tell crawlers the page is current
Run an audit. Get a list of citation-blockers, ranked.
You: Run an AI-SEO audit on
https://automatelab.tech/how-to-connect-zapier-to-notion.
Result (truncated):
{
"url": "https://automatelab.tech/how-to-connect-zapier-to-notion",
"score": 61,
"grade": "C",
"dimension_scores": {
"schema": 45, "technical": 80, "structure": 40,
"robots": 90, "freshness": 85, "authority": 40,
"entity_density": 21, "sitemap": 100
},
"findings": [
{
"severity": "critical",
"category": "structure",
"message": "No FAQ structure found (no FAQPage schema or H3 question headings).",
"fix": "Add FAQ H3 headings ending in '?' with answer paragraphs, and a FAQPage JSON-LD block.",
"estimated_impact": "high"
},
{
"severity": "warning",
"category": "authority",
"message": "Low authority signals - missing Organization or author Person schema.",
"fix": "Add Organization JSON-LD and Article.author as a Person node with sameAs links.",
"estimated_impact": "high"
}
]
}
Each finding names the exact fix. No opaque scores, no guesswork.
Install
npx -y @automatelab/ai-seo-mcp
Requires Node 20 or later.
Claude Desktop
Add to %APPDATA%\Claude\claude_desktop_config.json (Windows) or ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
{
"mcpServers": {
"ai-seo": {
"command": "npx",
"args": ["-y", "@automatelab/ai-seo-mcp"]
}
}
}
Restart Claude Desktop. Any MCP client that supports stdio transport works - same command / args pattern.
Further reading
- automatelab.tech - teardowns and case studies
<details> <summary>All 14 tools</summary>
| Tool | Purpose |
|---|---|
audit_page |
Composite AI-SEO audit with 8-dimension scoring (schema, technical, structure, robots, freshness, authority, entity density, sitemap). |
audit_schema |
Validate JSON-LD against Schema.org rules and AI-citation best practice. Flags deprecated patterns. |
audit_canonical |
Canonical link integrity, trailing-slash hygiene, og:url consistency. |
check_robots |
Parse robots.txt and report per-crawler allow/disallow for all known AI crawlers. Surfaces the GPTBot-blocked-but-OAI-SearchBot-allowed trap. |
check_sitemap |
Validate XML sitemaps: presence, URL count, lastmod freshness, image/video extensions. |
check_technical |
HEAD tag audit: canonical, OpenGraph, Twitter Card, hreflang, HTTPS, noindex, title hygiene. |
score_ai_overview_eligibility |
Score a page's probability of appearing in Google AI Overviews using current correlation factors. |
generate_llms_txt |
Generate llms.txt and optionally llms-full.txt from a domain's sitemap. |
validate_llms_txt |
Lint an existing llms.txt for spec compliance and broken links. |
score_citation_worthiness |
Score how citable a page or text block is for Perplexity, ChatGPT, Google AI Overviews, and Claude. |
rewrite_for_aeo |
Rewrite content for Answer Engine Optimization (BLUF structure, FAQ format, schema additions). |
rewrite_for_geo |
Rewrite content for Generative Engine Optimization (entity definitions, comparison tables, synthesis-ready structure). |
extract_entities |
Extract named entities, sameAs links, and citation-density score from a page's content and structured data. |
diff_pages |
Compare two URLs for AI citation-worthiness: side-by-side dimension scores, gap analysis, and prioritized fix recommendations for url_a. |
Environment variables: see ENV.md.
</details>
Contributing
Bug reports, feature ideas, and PRs welcome. See CONTRIBUTING.md.
Security
To report a vulnerability, see SECURITY.md.
License
MIT - see LICENSE.
Built by automatelab.tech
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
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
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.