# Mercantry Registry MCP server

Agent-native registry: 168k+ real restaurants in LA, Hong Kong & Tokyo. Unranked, honest signals.

## Links
- Registry page: https://www.getdrio.com/mcp/org-mercantry-registry
- Repository: https://github.com/mercantry/registry
- Website: https://mercantry.org

## Install
- Endpoint: https://mercantry.org/mcp
- Auth: Not captured

## Setup notes
- Remote endpoint: https://mercantry.org/mcp

## Tools
- search_merchants (Search merchants) - Filter-based search over the restaurant registry (coverage cities + timezones in get_registry_meta). NOT ranked: results come back in deterministic order (merchant_id ASC by default; distance ASC when lat/lng given and order_by="distance"). Returns compact records with pagination. Use get_merchant for the full signal dump on a specific merchant. All filters are optional and combinable. Endpoint: https://mercantry.org/mcp
- get_merchant (Get merchant (full signal dump)) - Every field the registry holds on one merchant: schema fields, structured hours, raw feedback history, platform-observed operational stats, and per-field provenance with timestamps. Maximal data, zero opinion — the registry never scores or ranks. Endpoint: https://mercantry.org/mcp
- get_availability (Get availability (honest v1 behavior)) - V1 does NOT hold live table availability — availability is checked on the phone call at booking time. This tool returns the merchant's reservation policy, structured hours, and holiday exceptions so you can pick a plausible time before calling place_booking. Endpoint: https://mercantry.org/mcp
- place_booking (Place a booking (async)) - Request a table reservation. Returns booking_id with state 'queued' immediately; fulfillment is asynchronous (a call is placed to the merchant). Poll get_booking_status or supply callback_url for webhooks. RETRY SAFETY: pass a unique client_reference_id (recommended: always); if this call times out or errors ambiguously, retry with the SAME client_reference_id and the registry returns the already-created booking instead of double-booking the restaurant. Never re-call place_booking after a timeout without one. If the merchant counter-offers a time within window_minutes and accept_within_window=true, it is auto-accepted (recommended). Otherwise the booking pauses in needs_input for you to resolve via modify_booking. Merchants on the human_call channel are fulfilled by a human operator during the operator window published in get_registry_meta — those bookings queue until worked (up to the channel SLA), so book ahead rather than for the next hour. Endpoint: https://mercantry.org/mcp
- get_booking_status (Get booking status) - State machine position for a booking: pending → queued → in_progress → confirmed | failed | needs_input (plus cancelled). Includes structured details on confirmation (confirmed_time, confirmation_code, merchant_instructions), structured failure reason (no_answer | fully_booked | closed | policy_mismatch | merchant_declined | bad_data), or needs_input options awaiting your decision. include_events=true returns the full audit log. Endpoint: https://mercantry.org/mcp
- modify_booking (Modify a booking / resolve needs_input) - Amend a booking before or after the call. For a booking in needs_input: pass accept_option_index to take one of the merchant's offered times (confirms immediately), or pass a new datetime/party_size to re-queue an amended request. Modifying an already-confirmed booking cancels it and books the new request (new booking_id returned). Endpoint: https://mercantry.org/mcp
- cancel_booking (Cancel a booking) - Cancel a booking in any non-terminal state, or a confirmed reservation (the registry notifies the merchant). Cancellation is mandatory when the human no longer wants the table — no-shows destroy merchant trust and are tracked per developer key. Endpoint: https://mercantry.org/mcp
- submit_feedback (Submit post-visit feedback) - Report how a confirmed reservation actually went. Accepted only against a confirmed booking_id, once per booking, within 14 days of confirmation. Structured fields first; optional free text ≤ 500 chars. This corpus is served raw to all agents via get_merchant — it is never editorialized or turned into a score. Endpoint: https://mercantry.org/mcp
- get_registry_meta (Get registry metadata) - Evaluate the registry itself: per-city coverage (with each city's IANA timezone), merchant/bookable counts, verification and freshness stats, feedback corpus size, schema version, and the documented deterministic ordering rule. Honest by design — including how stale the data is. Endpoint: https://mercantry.org/mcp

## Resources
Not captured

## Prompts
Not captured

## Metadata
- Owner: org.mercantry
- Version: 0.1.0
- Runtime: Streamable Http
- Transports: HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: Jul 24, 2026
- Source: https://registry.modelcontextprotocol.io
