mcp_server · jsonrpc 2.0 · sse
MCP server — wire AEO Pro into Claude / Cursor
Single endpoint, JSON-RPC 2.0 over both HTTP POST and Server-Sent Events. Four tools: scan, score, fix, generate.
Endpoint
POST https://www.aeo-pro.app/api/mcp # one JSON-RPC request → JSON-RPC response GET https://www.aeo-pro.app/api/mcp # SSE stream — emits "ready" then heartbeat every 25s
Auth
Authorization: Bearer aeopro_xxxxxxxxxxxxxxxxxxxxxxxxxxxx # or X-API-Key: aeopro_xxxxxxxxxxxxxxxxxxxxxxxxxxxx
Generate a key in Dashboard → Settings → API Keys.
Connect via SSE (curl)
curl -N https://www.aeo-pro.app/api/mcp \
-H "Authorization: Bearer aeopro_xxxxxxxxxxxxxxxxxxxxxxxxxxxx"
# Output:
# event: ready
# data: { "protocolVersion": "2025-03-26",
# "serverInfo": { "name": "aeo-pro-mcp", "version": "1.0.0" },
# "endpoint": { "post": "/api/mcp" },
# "tools": ["scan","score","fix","generate"] }
# : heartbeat # every 25stools/list (POST)
curl -X POST https://www.aeo-pro.app/api/mcp \
-H "Authorization: Bearer aeopro_xxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'AEO tool library
Crawlable reference pages for the public MCP tools, generated from the same tool registry used by the server.
aeo_scanRun a full 53-point AEO-Pro scan on a URL. Returns SEO, AEO (AI Engine Optimisation) and GEO scores, a letter grade, and the full check list with pass/fail status.
aeo_scoreGet a quick AEO score summary for a URL. Returns SEO/AEO/GEO scores and grade in seconds.
aeo_fixGenerate ready-to-use fix code for a URL based on its AEO scan results. Returns llms.txt content, robots.txt additions, JSON-LD schema markup, and meta tag suggestions.
aeo_generateGenerate AI-powered content for a URL: FAQ schema, blog post intro, or product descriptions. Useful for improving AEO signals.
aeo_compare_competitorsQuick-scan a target URL and up to 5 competitor URLs, returning score deltas and checks competitors pass while the target fails.
aeo_verify_citationVerify whether an AI response cites a target brand and URL using the local citation matcher.
aeo_entity_auditAudit whether a brand/domain has a Wikidata entity and return the recommended schema.org sameAs URL.
aeo_weekly_reportCompose a practical weekly AEO report from a quick scan, failed checks, score movement, and prioritized next actions.
aeo_revenue_scoreCompute a deterministic AEO revenue opportunity score from supplied business metrics. No external calls.
tools/call examples
scantoolRun a quick SEO/AEO/GEO scan and return scores in ~10s.
arguments
- url — string (required) — absolute URL
curl -X POST https://www.aeo-pro.app/api/mcp \ -H "Authorization: Bearer aeopro_xxxxxxxxxxxxxxxxxxxxxxxxxxxx" \ -H "Content-Type: application/json" \ -d '{ "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "scan", "arguments": {"url":"https://example.com"} } }'scoretoolLook up the latest scan summary for a scan id or URL.
arguments
- scan_id — string (uuid)
- url — string
curl -X POST https://www.aeo-pro.app/api/mcp \ -H "Authorization: Bearer aeopro_xxxxxxxxxxxxxxxxxxxxxxxxxxxx" \ -H "Content-Type: application/json" \ -d '{ "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "score", "arguments": {"url":"https://example.com"} } }'fixtoolList actionable fix recommendations for a scan.
arguments
- scan_id — string (required)
curl -X POST https://www.aeo-pro.app/api/mcp \ -H "Authorization: Bearer aeopro_xxxxxxxxxxxxxxxxxxxxxxxxxxxx" \ -H "Content-Type: application/json" \ -d '{ "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "fix", "arguments": {"scan_id":"00000000-0000-0000-0000-000000000000"} } }'generatetoolOutput ready-to-paste meta tags + JSON-LD Organization schema.
arguments
- url — string (required)
- brand_name — string
curl -X POST https://www.aeo-pro.app/api/mcp \ -H "Authorization: Bearer aeopro_xxxxxxxxxxxxxxxxxxxxxxxxxxxx" \ -H "Content-Type: application/json" \ -d '{ "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "generate", "arguments": {"url":"https://example.com","brand_name":"Example"} } }'
Claude Desktop config
Add this to ~/Library/Application Support/Claude/claude_desktop_config.json on macOS, or the equivalent on Windows / Linux. Re-launch Claude Desktop after saving.
{
"mcpServers": {
"aeo-pro": {
"url": "https://www.aeo-pro.app/api/mcp",
"transport": "sse",
"headers": {
"Authorization": "Bearer aeopro_xxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
}
}
}JSON-RPC error codes
-32700 Parse error (invalid JSON body) -32600 Invalid Request (missing/malformed jsonrpc field) -32601 Method not found -32000 Tool execution failed -32001 API key required (HTTP 401) -32002 Rate limited (HTTP 429)
also available
REST API
5 endpoints (scan / scan/:id / sites / keywords / citations), same auth, paginated envelope. See /docs/api.