{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "version": "0.3.0",
  "name": "PostBridge MCP Tool Catalog",
  "api_base_url": "https://api.postbridge.ai",
  "mcp_endpoint": "https://api.postbridge.ai/mcp",
  "authentication": {
    "preferred": "x402",
    "methods": ["x402", "ucan", "api_key"]
  },
  "tools": [
    {
      "name": "list_services",
      "side_effect": "none",
      "confirmation_required": false,
      "http": {"method": "GET", "path": "/api/services/{country}"},
      "description": "List postal services for a destination country.",
      "input_schema": {
        "type": "object",
        "properties": {
          "country": {"type": "string", "enum": ["US", "FR", "GB", "CA", "DE"]}
        },
        "required": ["country"],
        "additionalProperties": false
      }
    },
    {
      "name": "quote_letter",
      "side_effect": "none",
      "confirmation_required": false,
      "http": {"method": "POST", "path": "/api/quote"},
      "description": "Get deterministic price breakdown before sending.",
      "input_schema": {
        "type": "object",
        "properties": {
          "to_name": {"type": "string"},
          "to_line1": {"type": "string"},
          "to_city": {"type": "string"},
          "to_postal_code": {"type": "string"},
          "to_country": {"type": "string", "enum": ["US", "FR", "GB", "CA", "DE"]},
          "service": {"type": "string"},
          "pages": {"type": "integer", "minimum": 1, "default": 1},
          "color": {"type": "boolean", "default": false},
          "payment_method": {"type": "string", "enum": ["x402", "usdc", "btc_lightning", "fiat_stripe"]}
        },
        "required": ["to_name", "to_line1", "to_city", "to_postal_code", "to_country", "service"],
        "additionalProperties": false
      }
    },
    {
      "name": "negotiate_pricing",
      "side_effect": "none",
      "confirmation_required": false,
      "http": {"method": "POST", "path": "/api/anp/offer"},
      "description": "Request an ANP intent-driven pricing offer with premium, standard, and economy tiers.",
      "input_schema": {
        "type": "object",
        "properties": {
          "to_name": {"type": "string"},
          "to_line1": {"type": "string"},
          "to_city": {"type": "string"},
          "to_postal_code": {"type": "string"},
          "to_country": {"type": "string", "enum": ["US", "FR", "GB", "CA", "DE"]},
          "service": {"type": "string"},
          "intent_class": {
            "type": "string",
            "enum": ["transactional", "legal_compliance", "confidential", "time_critical", "regulatory_filing", "bulk_marketing"]
          },
          "payment_method": {"type": "string", "enum": ["x402", "usdc", "btc_lightning", "fiat_stripe"]},
          "pages": {"type": "integer", "minimum": 1, "default": 1},
          "color": {"type": "boolean", "default": false}
        },
        "required": ["to_name", "to_line1", "to_city", "to_postal_code", "to_country", "service"],
        "additionalProperties": false
      }
    },
    {
      "name": "accept_offer",
      "side_effect": "commitment_record",
      "confirmation_required": true,
      "http": {"method": "POST", "path": "/api/anp/accept"},
      "description": "Accept a specific tier from a prior ANP offer.",
      "input_schema": {
        "type": "object",
        "properties": {
          "task_id": {"type": "string"},
          "tier_id": {"type": "string", "enum": ["premium", "standard", "economy"]}
        },
        "required": ["task_id", "tier_id"],
        "additionalProperties": false
      }
    },
    {
      "name": "send_letter",
      "side_effect": "physical_mail_and_payment",
      "confirmation_required": true,
      "http": {"method": "POST", "path": "/api/send"},
      "description": "Send a real physical letter. Confirm recipient, sender, service, price, and payment method with the user before calling.",
      "input_schema": {
        "type": "object",
        "properties": {
          "to_name": {"type": "string"},
          "to_line1": {"type": "string"},
          "to_line2": {"type": "string"},
          "to_city": {"type": "string"},
          "to_state": {"type": "string"},
          "to_postal_code": {"type": "string"},
          "to_country": {"type": "string", "enum": ["US", "FR", "GB", "CA", "DE"]},
          "from_name": {"type": "string"},
          "from_line1": {"type": "string"},
          "from_city": {"type": "string"},
          "from_state": {"type": "string"},
          "from_postal_code": {"type": "string"},
          "from_country": {"type": "string"},
          "service": {"type": "string"},
          "content": {"type": "string"},
          "document_url": {"type": "string"},
          "payment_method": {"type": "string", "enum": ["x402", "usdc", "btc_lightning", "fiat_stripe"]}
        },
        "required": ["to_name", "to_line1", "to_city", "to_postal_code", "to_country", "from_name", "from_line1", "from_city", "from_postal_code", "from_country", "service"],
        "additionalProperties": false
      }
    },
    {
      "name": "track_letter",
      "side_effect": "none",
      "confirmation_required": false,
      "http": {"method": "GET", "path": "/api/track/{letter_id}"},
      "description": "Get delivery status for a letter.",
      "input_schema": {
        "type": "object",
        "properties": {
          "letter_id": {"type": "string"}
        },
        "required": ["letter_id"],
        "additionalProperties": false
      }
    },
    {
      "name": "get_proof",
      "side_effect": "none",
      "confirmation_required": false,
      "http": {"method": "GET", "path": "/api/proof/{letter_id}"},
      "description": "Retrieve signed proof for a letter.",
      "input_schema": {
        "type": "object",
        "properties": {
          "letter_id": {"type": "string"}
        },
        "required": ["letter_id"],
        "additionalProperties": false
      }
    }
  ]
}
