{
  "name": "BotVisibility",
  "description": "AI agent readiness scanner — scan any URL to check how visible and usable it is to AI agents across 58 checks (5 levels: Discoverable, Usable, Optimized, Indexable, Agent-Native), all verified externally. MCP tools are free. The direct scan API is free up to a daily allowance per caller, then returns HTTP 402 pointing to the pay.sh gateway. Agents who need volume pay $0.10 per scan in USDC on Solana via x402 through the gateway (the same 58-check report, with prioritized remediation, downloadable as PDF or Markdown) at /api/v1/scan-gateway.",
  "version": "1.2.0",
  "serverInfo": {
    "name": "botvisibility-mcp",
    "version": "1.2.0"
  },
  "transport": {
    "type": "streamable-http",
    "endpoint": "https://botvisibility.com/api/mcp"
  },
  "capabilities": {
    "tools": true,
    "resources": true
  },
  "tools": [
    {
      "name": "scan_url",
      "description": "Scan a URL for AI agent readiness. Returns 58 check results across 5 levels (Discoverable, Usable, Optimized, Indexable, Agent-Native), the achieved level, and per-level pass/fail counts. All checks are external — no source access required.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The URL to scan (e.g., https://stripe.com)"
          }
        },
        "required": ["url"]
      }
    },
    {
      "name": "get_check_definitions",
      "description": "Returns the full set of BotVisibility check definitions: 58 checks across 5 levels (Levels 1-4 plus Level-5 Agent-Native), all verified externally. Each entry has id, name, level, category, and description.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    },
    {
      "name": "get_check",
      "description": "Look up the definition for a single check by id (e.g. \"1.15\", \"2.10\").",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": { "type": "string", "description": "The check id, e.g. \"1.1\" or \"4.3\"" }
        },
        "required": ["id"]
      }
    },
    {
      "name": "get_showcase",
      "description": "Returns BotVisibility scans for nine well-known sites (Stripe, GitHub, Twilio, Shopify, Notion, Coinbase, Salesforce, NYTimes, Chase) grouped into tiers. Useful for benchmarking against industry standards.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    },
    {
      "name": "compare_sites",
      "description": "Run scan_url against 2-5 URLs in parallel and return a side-by-side summary (currentLevel and per-level passed/applicable counts). For full per-check detail call scan_url separately.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "urls": {
            "type": "array",
            "items": { "type": "string" },
            "minItems": 2,
            "maxItems": 5,
            "description": "2-5 URLs to scan and compare"
          }
        },
        "required": ["urls"]
      }
    },
    {
      "name": "deep_scan",
      "description": "Returns payment instructions for the paid deep scan — all 58 checks including the Level-5 Agent-Native probes, plus prioritized remediation. Paid per call: $0.10 USDC on Solana via the pay.sh gateway. The tool returns the gateway endpoint; POST the URL there, your agent wallet settles the x402 402 challenge, and the gateway returns the full report. For the same scan free, use scan_url.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The URL you intend to deep-scan (e.g., https://stripe.com)"
          }
        },
        "required": ["url"]
      }
    },
    {
      "name": "get_badge_url",
      "description": "Generate a badge embed URL for a site's BotVisibility level. Returns the badge URL and optional embed code in markdown or HTML format.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The URL of the site to generate a badge for"
          },
          "format": {
            "type": "string",
            "enum": ["svg", "png", "markdown", "html"],
            "description": "Output format: svg (default), png, markdown, or html"
          }
        },
        "required": ["url"]
      }
    },
    {
      "name": "get_recommendations",
      "description": "Scan a URL and return prioritized recommendations for improving AI agent readiness. Sorted by priority (high/medium/low) with estimated effort.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The URL to scan for recommendations"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 20,
            "description": "Maximum recommendations to return (default: 10)"
          }
        },
        "required": ["url"]
      }
    },
    {
      "name": "scan_batch",
      "description": "Scan up to 10 URLs in parallel and return summary results. More efficient than calling scan_url repeatedly.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "urls": {
            "type": "array",
            "items": { "type": "string" },
            "minItems": 1,
            "maxItems": 10,
            "description": "1-10 URLs to scan"
          }
        },
        "required": ["urls"]
      }
    },
    {
      "name": "get_level_requirements",
      "description": "Scan a URL and return detailed requirements for achieving each level, including current progress, missing checks, and next steps.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The URL to analyze level requirements for"
          }
        },
        "required": ["url"]
      }
    },
    {
      "name": "validate_llms_txt",
      "description": "Validate llms.txt content against best practices. Pass either a URL to fetch from, or raw content to validate.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "URL to fetch llms.txt from"
          },
          "content": {
            "type": "string",
            "description": "Raw llms.txt content to validate"
          }
        }
      }
    }
  ],
  "resources": [
    {
      "name": "openapi_spec",
      "description": "OpenAPI 3.0 specification for the BotVisibility scan API.",
      "uri": "botvisibility://resources/openapi_spec",
      "mimeType": "application/json"
    },
    {
      "name": "llms_txt",
      "description": "Machine-readable site description for LLMs.",
      "uri": "botvisibility://resources/llms_txt",
      "mimeType": "text/plain"
    },
    {
      "name": "agent_card",
      "description": "Agent card describing BotVisibility's capabilities.",
      "uri": "botvisibility://resources/agent_card",
      "mimeType": "application/json"
    },
    {
      "name": "skill_file",
      "description": "Structured agent instructions for using BotVisibility's scanning capabilities.",
      "uri": "botvisibility://resources/skill_file",
      "mimeType": "text/markdown"
    },
    {
      "name": "showcase_data",
      "description": "Pre-scanned benchmark data for well-known sites grouped by tier (Stripe, GitHub, Twilio, etc.).",
      "uri": "botvisibility://resources/showcase_data",
      "mimeType": "application/json"
    },
    {
      "name": "check_matrix",
      "description": "Level-to-check mapping showing which checks belong to each level with descriptions.",
      "uri": "botvisibility://resources/check_matrix",
      "mimeType": "application/json"
    },
    {
      "name": "deep_scan_info",
      "description": "Discovery metadata for the paid deep scan (all 58 checks via external probing): $0.10 USDC on Solana via the pay.sh gateway (x402).",
      "uri": "botvisibility://resources/deep_scan_info",
      "mimeType": "application/json"
    }
  ],
  "endpoint": "https://botvisibility.com/api/mcp",
  "documentation": "https://botvisibility.com/checklist"
}
