Skip to content
Back to Mercantry

Card snapshot

mercantry.org · 2026-07-25 01:11:54 UTC · af8e84e57d380ec7ced2cb4bb4ab298f2d6357c6653a64f955ee410169fa2dcc

This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.

{
  "protocolVersion": "0.3.0",
  "name": "Mercantry",
  "description": "Mercantry is an open commerce registry for AI agents \u2014 structured merchant data, honest signals, and real-world booking fulfillment. Interoperability, honestly: this service speaks MCP (streamable-http) and REST/OpenAPI \u2014 it does NOT implement the A2A JSON-RPC protocol. This card is published for discovery; connect via the MCP endpoint in `url` or the REST interface in `additionalInterfaces`.",
  "url": "https://mercantry.org/mcp",
  "preferredTransport": "MCP",
  "additionalInterfaces": [
    {
      "url": "https://mercantry.org/mcp",
      "transport": "MCP"
    },
    {
      "url": "https://mercantry.org/v1",
      "transport": "REST"
    }
  ],
  "provider": {
    "organization": "Mercantry",
    "url": "https://mercantry.org"
  },
  "version": "1.0.0",
  "documentationUrl": "https://github.com/mercantry/registry",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false
  },
  "securitySchemes": {},
  "security": [],
  "defaultInputModes": [
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json"
  ],
  "skills": [
    {
      "id": "merchant_discovery",
      "name": "Merchant discovery",
      "description": "Filter-based search over the restaurant registry (search_merchants), full per-merchant signal dumps with per-field provenance and raw transaction-verified feedback (get_merchant), and honest registry self-description including staleness (get_registry_meta). Never ranked: deterministic, documented ordering only. Reads are free and keyless. Current coverage: 168,524 real merchants across Hong Kong (31,676), Los Angeles, CA (26,754), Tokyo (110,094), plus 500 sandbox test merchants.",
      "tags": [
        "search",
        "restaurants",
        "merchant-data",
        "provenance",
        "no-ranking",
        "open-data"
      ],
      "examples": [
        "Find vegetarian-friendly restaurants near Shinjuku that are open Friday 7pm",
        "Get every signal the registry holds on merchant X, including feedback history"
      ]
    },
    {
      "id": "booking",
      "name": "Reservation booking (async)",
      "description": "Async table reservations: get_availability (honest v1 \u2014 availability is confirmed at booking time, not held live), place_booking, get_booking_status (poll or callback_url webhooks), modify_booking, cancel_booking. Bookings are accepted only for phone-verified bookable merchants. Real-merchant fulfillment is NOT live yet: place_booking on a real merchant returns the structured rejection 'fulfillment_not_live'. The full booking loop is testable end-to-end against sandbox merchants (deterministic outcomes, never a real phone call).",
      "tags": [
        "booking",
        "reservations",
        "async",
        "sandbox"
      ],
      "examples": [
        "Book a table for 4 at a sandbox merchant tomorrow 19:00 and poll until confirmed",
        "Cancel a booking the human no longer wants"
      ]
    },
    {
      "id": "verified_feedback",
      "name": "Transaction-verified feedback",
      "description": "submit_feedback: report how a confirmed reservation actually went \u2014 accepted only against a confirmed booking_id, once per booking, within 14 days. Served raw to all agents via get_merchant; never editorialized, never scored.",
      "tags": [
        "feedback",
        "verified",
        "trust"
      ],
      "examples": [
        "Report that the merchant honored the reservation but seated the party late"
      ]
    }
  ],
  "supportsAuthenticatedExtendedCard": false
}