Comprehensive Model Context Protocol server for managing Home Assistant through AI assistants.
Mercantry Registry is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Agent-native registry: 168k+ real restaurants in LA, Hong Kong & Tokyo. Unranked, honest signals.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http mercantry-registry-mcp https://mercantry.org/mcp
# 2 — ask your agent for something these tools do
# search_merchants, get_merchant, get_availability and 6 more
Mercantry Registry costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http mercantry-registry-mcp https://mercantry.org/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
9 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| neighborhood | string | no | Exact neighborhood name, e.g. 'Mission' |
| lat | number | no | Latitude for geo-radius filter (requires lng and radius_km) |
| lng | number | no | — |
| radius_km | number | no | Radius in km around lat/lng |
| cuisine_tags | array | no | Match ANY of these cuisines, e.g. ['japanese','korean'] |
| attribute_tags | array | no | Match ALL of these attributes, e.g. ['outdoor_seating','vegetarian_friendly'] |
| price_band_min | integer | no | — |
| price_band_max | integer | no | — |
| open_at | string | no | ISO-8601 datetime; only merchants open at this time. With an explicit offset ('2026-07-18T19:00:00+09:00' or trailing Z) the instant is evaluated in each merchant's own timezone; without one it means |
| bookable_only | boolean | no | Only merchants the registry can book right now (phone-verified, accepts reservations, not opted out) |
| party_size | integer | no | Only merchants that can seat this party size |
| sandbox | boolean | no | Filter by merchant kind. true = sandbox test merchants only (safe integration targets: they book end-to-end and return a SIMULATED confirmation, never dialing a real venue). false = real merchants onl |
| order_by | string | no | — |
| limit | integer | no | — |
| offset | integer | no | — |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| merchant_id | string | yes | — |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| merchant_id | string | yes | — |
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-
| Parameter | Type | Required | Notes |
|---|---|---|---|
| merchant_id | string | yes | — |
| party_size | integer | yes | — |
| datetime | string | yes | Requested time, ISO-8601. Naive ('2026-07-18T19:00') means the merchant's LOCAL wall time (see the merchant's timezone field); an explicit offset ('2026-07-18T19:00:00+09:00') is also accepted |
| window_minutes | integer | no | Acceptable +/- window around datetime |
| accept_within_window | boolean | no | Auto-accept merchant counter-offers inside the window (recommended: true) |
| reservation_name | string | yes | Name for the reservation |
| contact | string | no | Optional phone/email for confirmation relay to the end human |
| special_requests | string | no | — |
| callback_url | string | no | Webhook URL for booking state-change events |
| client_reference_id | string | no | Your unique ID for this booking request (a UUID is ideal). Retrying with the same value returns the existing booking (idempotent_replay: true) instead of creating a duplicate; the same value with diff |
| sandbox_outcome | string | no | TEST ONLY, sandbox merchants (sandbox: true): force the simulated call's result so you can exercise a specific branch on demand — confirmed, no_answer (retries then fails), counter_offer (pauses in ne |
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=
| Parameter | Type | Required | Notes |
|---|---|---|---|
| booking_id | string | yes | — |
| include_events | boolean | no | — |
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).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| booking_id | string | yes | — |
| datetime | string | no | New requested time, ISO-8601; naive means the merchant's local wall time |
| party_size | integer | no | — |
| window_minutes | integer | no | — |
| accept_option_index | integer | no | Index into needs_input_options to accept |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| booking_id | string | yes | — |
| reason | string | no | — |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| booking_id | string | yes | — |
| reservation_honored | boolean | yes | Did the merchant honor the reservation? |
| seated_on_time | boolean | no | — |
| matched_description | boolean | no | Did the merchant match the registry's description? |
| would_repeat | boolean | no | — |
| free_text | string | no | — |
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.
No parameter schema on file.
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Mercantry Registry or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
This listing is an address its publisher runs, and you connect to it directly — this marketplace is not in the path. The scanner reads packages and public source, and an address is neither: the repository linked on this page is where this record was collected from, not a copy of what the address serves, so it is not graded in its place. So there is no grade — not a withheld one, an unmeasured one.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 0.1.0.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Mercantry Registry can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.