AEO tools for AI agents: crawler permissions, llms.txt, structured data, AI-readiness audit.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
An MCP server that gives AI agents β Claude, Claude Code, Cursor, anything speaking the Model Context Protocol β tools to inspect a website's visibility to AI answer engines. Crawler permissions, llms.txt, structured data, on-page signals, and a full 29-check AI-readiness audit (powered by answer-audit), each one tool call away. Read-only, no API keys, no telemetry.

Real session: Claude Desktop discovers The Verge allows GPTBot (OpenAI licensing deal) while blocking ClaudeBot, PerplexityBot, Google-Extended, and CCBot β one tool call.
Claude Code
Claude Desktop (claude_desktop_config.json)
Cursor (.cursor/mcp.json)
| Tool | When the agent uses it | Input | Returns |
|---|---|---|---|
audit_url | "How visible is this site to ChatGPT/Perplexity?" β full AEO health check | { url } | 0-100 score, grade, category breakdown, failed/warned checks with fixes |
check_ai_crawlers | "Is GPTBot blocked?" β robots.txt policy per AI bot | { url } | Per-bot allow/block verdicts with the matching rule, plus sitemaps |
inspect_llms_txt | "Does this site have llms.txt? Is it valid?" | { url } | Title, summary, sections with links, structural issues, raw excerpt |
extract_structured_data | "What schema markup does this page have?" | { url } | JSON-LD types, key fields per node, parse errors |
extract_page_signals | "Why do engines misread this page?" | { url } | Title, meta description, h1, canonical, lang, text ratio, heading outline, client-side-rendering flag |
Bots checked by check_ai_crawlers: GPTBot, ClaudeBot, PerplexityBot, Google-Extended, CCBot, Bingbot.
The server fetches model-supplied URLs, so it ships with an SSRF guard: http/https only, DNS resolution checked against private and special ranges (loopback, RFC1918, link-local, unique-local, IPv4-mapped forms), re-validation on every redirect hop, 10 s timeout, 2 MB body cap, max 5 redirects. Violations return a clean tool error, never an exception. All tools are read-only and no LLM calls happen inside the server.
Tests include a scripted stdio round-trip (initialize β tools/list β tools/call) against the built server. To inspect interactively:
MIT Β© Arthur Carlson
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/aeo-mcp)<a href="https://allmcps.com/mcp/aeo-mcp"><img src="https://allmcps.com/api/badge/aeo-mcp?style=directory" alt="Aeo Mcp on AllMCPs" /></a>