AEO Scanner

AI visibility for ChatGPT/Perplexity/Claude — triple score (AEO+GEO+Agent) with fix code. Free.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
97%
Naming quality
85%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,196Tokens (tool definitions)
~1.4 KBTypical response size
Moderate attention impact (0.93% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "aeo-scanner": {
      "command": "uvx",
      "args": [
        "aeo-scanner"
      ]
    }
  }
}

Runnable packages

pypiaeo-scanner2.2.1stdio

Remote endpoints

https://aeo-mcp.convrgent.ai/mcpstreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢scan_site(url, pages)

Quick AI visibility scan. Returns three scores: AEO Score (0-100, AI search engine findability), GEO Score (0-100, AI citation readiness), and Agent Readiness Score (0-100, AI agent interaction capability). Also returns AI Identity Card with mention readiness (0-100, predicts how likely AI will mention the brand), detected competitors, business profile (commerce/saas/media/general), and top 5 issues. 77+ checks across 12 categories. Free — no API key needed. Does NOT return per-check details or fix code — use audit_site for full breakdown, fix_site for generated fixes, compare_sites to benchmark against a competitor.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "Full URL to scan (e.g. https://example.com)"
    },
    "pages": {
      "default": 3,
      "description": "Number of pages to scan (1-5)",
      "type": "integer",
      "minimum": 1,
      "maximum": 5
    }
  },
  "required": [
    "url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢audit_site(url, pages, categories)

Full AI visibility audit across 77+ checks in 12 categories (4 AEO + 4 GEO + 4 Agent Readiness). Returns detailed per-check scores with specific issues and recommendations, AI Identity Card with mention readiness and detected competitors, and business profile. GEO checks include 3 research-backed citation signals: factual density, answer frontloading, and source citations. Agent Readiness covers emerging agent-discovery standards Cloudflare's isitagentready.com evaluates: RFC 9727 api-catalog, SEP-1649 MCP Server Card, and IETF Content-Signal (draft-romm-aipref). Does NOT generate fix code — pass this response's id as scan_id to fix_site (within 1 hour) to get fixes WITHOUT a re-crawl, or use compare_sites to benchmark against a competitor. Pay per call ($1.00) via x402 — USDC on Base or Solana. Machine payment via signed X-PAYMENT header; see https://www.x402.org/. On payment_required, the response includes the full x402 payload with payTo/amount/asset.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "Full URL to audit"
    },
    "pages": {
      "default": 5,
      "description": "Number of pages to audit (1-10)",
      "type": "integer",
      "minimum": 1,
      "maximum": 10
    },
    "categories": {
      "description": "Filter to specific categories: structured_data, meta_technical, ai_accessibility, content_quality, brand_narrative, citation_readiness, authority_signals, entity_definition, machine_identity, api_discoverability, structured_actions, programmatic_access",
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪fix_site(url, scan_id, pages, format)

Generate complete fix code for all AI visibility issues across AEO, GEO, and Agent Readiness. Returns working code you can apply directly — schema generation, robots.txt, sitemap, llms.txt, meta tags, structured data, citation signals, entity markup. Also returns two-tier score projections: quick wins (critical + high fixes only) and full implementation ceiling (all fixes). TIP: pass scan_id from a fresh audit_site result (kept 1 hour) to skip the re-crawl — instant response, same price. Content recommendations include research citations. Run scan_site first to see which issues exist. Pay per call ($5.00) via x402 — USDC on Base or Solana. On payment_required, the response includes the full x402 payload with payTo/amount/asset.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "description": "Full URL to generate fixes for (required unless scan_id is given)",
      "type": "string"
    },
    "scan_id": {
      "description": "id from a recent audit_site response — reuses that crawl (1h TTL), instant response",
      "type": "string"
    },
    "pages": {
      "default": 5,
      "description": "Number of pages to analyze (1-10); ignored when scan_id is used",
      "type": "integer",
      "minimum": 1,
      "maximum": 10
    },
    "format": {
      "default": "generic",
      "description": "Output format: generic or claude_code (optimized for Claude Code)",
      "type": "string",
      "enum": [
        "generic",
        "claude_code"
      ]
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢compare_sites(url, competitorUrl, pages)

Competitive gap analysis — scans two sites concurrently, shows side-by-side scores, category-by-category winners, competitive gaps (checks where the competitor scored 20+ higher), and generated overtake fix code with projected scores after closing gaps. Use this when the user wants to benchmark against a competitor or when scan_site detects competitors in the AI Identity Card. Pay per call ($3.00) via x402 — USDC on Base or Solana. On payment_required, the response includes the full x402 payload with payTo/amount/asset.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "Your site URL"
    },
    "competitorUrl": {
      "type": "string",
      "description": "Competitor site URL to benchmark against"
    },
    "pages": {
      "default": 5,
      "description": "Number of pages to scan per site (1-5)",
      "type": "integer",
      "minimum": 1,
      "maximum": 5
    }
  },
  "required": [
    "url",
    "competitorUrl"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools
verifiedversion not recorded4 tools
verifiedversion not recorded4 tools