Skip to content

Mercantry Registry

by mercantry.org · remote · no sign-in to list tools · v0.1.0 · published by org.mercantry

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

Deletes · 1Changes · 4

9 tools: 1 can delete or cancel things, 4 change things and 4 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http registry https://mercantry.org/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

9 tools

Deletes or cancels 1Claude Code: deny
  • cancel_bookingCancel a booking in any non-terminal state, or a confirmed reservation (the registry notifies the merchant).No findings

    Why it is in this group

    • The name "cancel_booking" says "cancel": a word for removing or ending something.
    Description, as the server wrote it
    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.
Changes things 4Claude Code: ask
  • get_registry_metaEvaluate the registry itself: per-city coverage (with each city's IANA timezone), merchant/bookable counts, verification and freshness stats, feedback corpus size, schema version, …No findings

    Why it is in this group

    • The name "get_registry_meta" says "get": a word for reading.
    • The description's first verb is "evaluate": a word for a change.
    Description, as the server wrote it
    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.
  • modify_bookingAmend a booking before or after the call.No findings

    Why it is in this group

    • The name "modify_booking" says "modify": a word for a change.
    Description, as the server wrote it
    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).
  • place_bookingRequest a table reservation.No findings

    Why it is in this group

    • The description's first verb is "request": a word for a change.
    Description, as the server wrote it
    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.
  • submit_feedbackReport how a confirmed reservation actually went.No findings

    Why it is in this group

    • The name "submit_feedback" says "submit": a word for a change.
    Description, as the server wrote it
    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.
Only reads 4Claude Code: allow
  • get_availabilityV1 does NOT hold live table availability — availability is checked on the phone call at booking time.No findings

    Why it is in this group

    • The name "get_availability" says "get": a word for reading.
    Description, as the server wrote it
    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.
  • get_booking_statusState machine position for a booking: pending → queued → in_progress → confirmed | failed | needs_input (plus cancelled).No findings

    Why it is in this group

    • The name "get_booking_status" says "get": a word for reading.
    Description, as the server wrote it
    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.
  • get_merchantEvery field the registry holds on one merchant: schema fields, structured hours, raw feedback history, platform-observed operational stats, and per-field provenance with timestamps…No findings

    Why it is in this group

    • The name "get_merchant" says "get": a word for reading.
    Description, as the server wrote it
    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.
  • search_merchantsFilter-based search over the restaurant registry (coverage cities + timezones in get_registry_meta).No findings

    Why it is in this group

    • The name "search_merchants" says "search": a word for reading.
    Description, as the server wrote it
    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.

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.1.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http registry https://mercantry.org/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__registry__search_merchants",
      "mcp__registry__get_merchant",
      "mcp__registry__get_availability",
      "mcp__registry__get_booking_status"
    ],
    "ask": [
      "mcp__registry__place_booking",
      "mcp__registry__modify_booking",
      "mcp__registry__submit_feedback",
      "mcp__registry__get_registry_meta"
    ],
    "deny": [
      "mcp__registry__cancel_booking"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as registry. Review it before you use it.