{
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "name": "bot.address/mcp",
  "title": "address.bot",
  "description": "Minimal MCP discovery document for address.bot. Use /docs for the human guide and /mcp for the agent-facing tool catalog.",
  "version": "0.1.0",
  "remotes": [
    {
      "type": "streamable-http",
      "url": "https://address.bot/mcp",
      "headers": [
        {
          "name": "Authorization",
          "description": "Bearer address.bot API key. Use sk_test_... for sandbox dry runs and simulated code confirmation; use sk_live_... only for real postcards.",
          "isRequired": false,
          "isSecret": true
        }
      ]
    }
  ],
  "capabilities": {
    "verification": "Send a QR postcard, collect the printed six-digit code, and receive signed status events.",
    "sandbox": "Same REST endpoints and payloads as live, with test_mode: true and no physical mail or charge.",
    "live_safety": "Live creation requires preflight confirmation and supports x-addressbot-max-cost-cents before side effects.",
    "webhooks": "HMAC-signed verification lifecycle events with x-addressbot-signature, x-addressbot-event, and x-addressbot-delivery."
  },
  "tools": [
    {
      "name": "preflight_verification",
      "method": "POST",
      "path": "/api/v1/preflight",
      "description": "Validate a postcard verification body and persist a live cost estimate."
    },
    {
      "name": "create_verification",
      "method": "POST",
      "path": "/api/v1/verifications",
      "description": "Create a QR postcard verification, or send dry_run: true for a no-record quote."
    },
    {
      "name": "get_verification",
      "method": "GET",
      "path": "/api/v1/verifications/{id}",
      "description": "Read the postcard lifecycle and recipient confirmation status."
    },
    {
      "name": "simulate_verification",
      "method": "POST",
      "path": "/api/v1/verifications/{id}/simulate",
      "description": "Sandbox-only code confirmation simulation that queues signed webhooks."
    }
  ],
  "links": {
    "docs": "https://address.bot/docs",
    "openapi": "https://address.bot/api/openapi.json",
    "llms_txt": "https://address.bot/llms.txt",
    "llms_full_txt": "https://address.bot/llms-full.txt",
    "agents_txt": "https://address.bot/agents.txt"
  }
}
