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
verifiedversion not recorded4 tools
verifiedversion not recorded4 tools
verifiedversion not recorded4 tools
verifiedversion not recorded4 tools