{
  "$schema": "https://modelcontextprotocol.io/schemas/server-card.json",
  "protocolVersion": "2024-11-05",
  "name": "are-we-agent-ready",
  "serverName": "are-we-agent-ready",
  "title": "Are We Agent Ready?",
  "serverVersion": "1.1.0",
  "version": "1.1.0",
  "description": "Audit any public website for AI-agent readiness. Returns a weighted Agent Readiness Score across Technical crawlability, Agent Task Readiness, and Recommendation (AEO/GEO) readiness — plus an optional Agent Actionability synthetic-agent run. Every finding ships with evidence (URL, HTTP status, content-type, snippet) and an actionable recommendation.",
  "vendor": {
    "name": "Are We Agent Ready?",
    "url": "https://areweagentready.com/"
  },
  "homepage": "https://areweagentready.com/",
  "documentation": "https://areweagentready.com/methodology",
  "openapi": "https://areweagentready.com/api/openapi.json",
  "auth": {
    "type": "none",
    "notes": "POST /api/scans is IP-rate-limited (2 scans/day anon, 3 scans/day free, 3 scans/day pro). Authenticated endpoints use a bearer JWT obtained from POST /api/auth/login."
  },
  "contact": {
    "email": "hello@areweagentready.com",
    "security": "security@areweagentready.com"
  },
  "capabilities": {
    "tools": [
      {
        "name": "scan_site",
        "description": "Queue an Agent Readiness audit for a URL. Returns a scan_id you can poll with get_scan. Accepts an optional competitor_url to run a paired comparison scan.",
        "inputSchema": {
          "type": "object",
          "required": ["url"],
          "properties": {
            "url": { "type": "string", "format": "uri", "description": "Full URL of the homepage to audit, including scheme." },
            "competitor_url": { "type": "string", "format": "uri", "description": "Optional — a second URL to scan and diff against the primary." },
            "archetype_override": { "type": "string", "enum": ["commerce", "lead_gen", "saas_product", "content_publisher", "docs_developer", "local_business", "campaign_microsite"], "description": "Optional — force a site-type classification instead of the auto-detected one." }
          }
        },
        "outputSchema": {
          "type": "object",
          "properties": {
            "id": { "type": "string" },
            "status": { "type": "string", "enum": ["queued", "running", "completed", "failed"] },
            "normalized_url": { "type": "string" }
          }
        },
        "endpoint": "https://areweagentready.com/api/scans",
        "method": "POST",
        "contentType": "application/json"
      },
      {
        "name": "get_scan",
        "description": "Fetch the current state and full findings of a scan. Returns scores (overall + per-pillar), classification, every finding with evidence + recommendation, discovery_meta, and — for authenticated callers — raw HTTP transcripts of every audited endpoint.",
        "inputSchema": {
          "type": "object",
          "required": ["id"],
          "properties": { "id": { "type": "string", "description": "The scan_id returned by scan_site." } }
        },
        "outputSchema": {
          "type": "object",
          "properties": {
            "status": { "type": "string" },
            "scores": { "type": "object" },
            "findings": { "type": "array" },
            "http_transcripts": { "type": "object", "description": "Only present for authenticated callers." }
          }
        },
        "endpoint": "https://areweagentready.com/api/scans/{id}",
        "method": "GET"
      },
      {
        "name": "list_audits",
        "description": "Return the catalog of audit modules available on the platform (live + coming soon).",
        "inputSchema": { "type": "object", "properties": {} },
        "endpoint": "https://areweagentready.com/api/audits/catalog",
        "method": "GET"
      },
      {
        "name": "get_methodology",
        "description": "Return the machine-readable scoring methodology: pillars, archetypes, pillar weights per archetype, relevance weights, status factors, and capability endpoints. Useful context when interpreting scan findings.",
        "inputSchema": { "type": "object", "properties": {} },
        "endpoint": "https://areweagentready.com/api/methodology",
        "method": "GET"
      },
      {
        "name": "get_coverage",
        "description": "Return a public, unauthenticated coverage snapshot for a completed scan. Only non-PII data; safe to embed in dashboards.",
        "inputSchema": {
          "type": "object",
          "required": ["id"],
          "properties": { "id": { "type": "string" } }
        },
        "endpoint": "https://areweagentready.com/api/scans/{id}/coverage",
        "method": "GET"
      }
    ],
    "resources": [
      {
        "uri": "https://areweagentready.com/llms.txt",
        "name": "llms.txt",
        "description": "Markdown-formatted site map for AI agents.",
        "mimeType": "text/plain"
      },
      {
        "uri": "https://areweagentready.com/.well-known/agent-skills/index.json",
        "name": "Agent Skills index",
        "description": "Enumerable list of discrete skills this site exposes.",
        "mimeType": "application/json"
      },
      {
        "uri": "https://areweagentready.com/sitemap.xml",
        "name": "sitemap",
        "description": "XML sitemap of all public pages.",
        "mimeType": "application/xml"
      }
    ]
  }
}
