{
  "generated_from": "live_platform_state",
  "services": [
    {
      "n": 103,
      "id": "hosted-mcp-gateway",
      "name": "Hosted MCP gateway",
      "description": "any API → MCP tools, with receipts on every call.",
      "family_id": "developer-infrastructure",
      "state": "live",
      "surface": "/mcp-gateway + GET /v1/mcp-gateway + POST /v1/mcp-gateway/convert + GET /v1/mcp-gateway/conversions/{conversion_id}",
      "entitlement": {
        "charge_model": "usage-based",
        "charged_today": false,
        "price_today_usd_cents": 0,
        "planned_price_published": false,
        "price_line_id": null,
        "founder_eligible": true,
        "founder_note": "Policy v4: the first 25 accounts to use each fee-bearing feature hold it free permanently; a founder slot is claimed on first use of the feature — never by a catalog listing or an interest signup."
      },
      "callable_surfaces": [
        "GET /v1/mcp-gateway (free, no key) — this index document: service 103 from the catalog with its entitlement, its callable surfaces, the pilot scope and the live conversion counts",
        "POST /v1/mcp-gateway/convert (account key) — convert an inline OpenAPI document into MCP tool definitions and seal one ledger receipt for the conversion; the pilot does not call the upstream API",
        "GET /v1/mcp-gateway/conversions/{conversion_id} (account key) — the owner readback for one of this account's conversions, with its private opening"
      ],
      "pilot_scope": "Pilot scope: the pilot converts an inline OpenAPI document into MCP tool definitions and seals ONE ledger receipt per conversion. a2ally does NOT proxy or call the upstream API in the pilot and holds no upstream credentials — the returned tools carry their endpoint (method + path) for the caller's own MCP client to call.",
      "max_operations_per_conversion": 50
    }
  ],
  "pilot": {
    "scope": "Pilot scope: the pilot converts an inline OpenAPI document into MCP tool definitions and seals ONE ledger receipt per conversion. a2ally does NOT proxy or call the upstream API in the pilot and holds no upstream credentials — the returned tools carry their endpoint (method + path) for the caller's own MCP client to call.",
    "seals_one_receipt_per_conversion": true,
    "proxies_upstream_api": false,
    "holds_upstream_credentials": false,
    "max_operations_per_conversion": 50
  },
  "usage": {
    "conversions_sealed": 0,
    "tools_generated": 0,
    "operations_converted": 0
  },
  "limits": "At most 50 operations per conversion; an operation is an entry under paths whose key is get, post, put, patch, delete, head or options and whose value is an object. The generated tools and the submitted document stay in the private opening; the public ledger payload carries the counts and the document hash only.",
  "pricing_url": "https://www.a2ally.com/pricing",
  "page": "/mcp-gateway",
  "note": "Every number in this document is computed live from the platform state at the moment of the read — the usage counts from ledger_commitments. Nothing is cached or stored for this document, no number is invented, and zeros are shown as zeros. Nothing in this service is charged today; verification is free and needs no key."
}