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.
9 tools: 1 can delete or cancel things, 4 change things and 4 only read.
Scanned Oct 21, 2026
- Deletes or cancels1Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things4Claude Code: ask: see these tools
- Only reads4Claude Code: allow: see these tools
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/mcpTools
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/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .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.