Skip to main content
Glama
chrischall

resy-mcp

by chrischall

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
RESY_EMAILNoEmail for password login.
RESY_API_KEYNoOverride the public Resy API key.
RESY_PASSWORDNoPassword for password login.
RESY_AUTH_TOKENNoPre-obtained x-resy-auth-token. Overrides everything.
RESY_DISABLE_FETCHPROXYNoSet to 1 to disable fetchproxy fallback.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
resy_get_profileA

Get the authenticated Resy user's profile (name, email, phone, booking count, member-since date). Payment method IDs are not exposed.

resy_list_payment_methodsA

List the user's saved payment methods on Resy. Returns id, brand, last four digits, expiry, and is_default. The id can be passed as payment_method_id to resy_book.

resy_healthcheckA

Resolves the credential the way real tools do, then makes one authenticated request to api.resy.com. Reports which source supplied the credential, whether api.resy.com accepted it, the round-trip time, and a plain-English hint distinguishing 'no credential' from 'credential rejected' from 'a api.resy.com-side problem'. Read-only; never returns the credential itself. Call this when a real tool fails and you want to know which hop broke.

resy_search_venuesA

Search Resy for restaurants with availability. Returns venues including any bookable slot tokens for the requested date + party size. Defaults to NYC geo if lat/lng omitted.

resy_find_slotsA

List available reservation slots at a specific venue for a date + party size. Returns slot config_tokens suitable for booking. Tokens expire quickly; book soon after fetching.

resy_get_venueA

Get full details for a single Resy venue by id.

resy_list_reservationsA

List the user's Resy reservations. Defaults to upcoming; pass scope="past" or "all" to broaden. Each result includes the resy_token needed for cancellation, plus occasion/special_request/cancellability.

resy_cancelA

Cancel a Resy reservation by its resy_token (the rr://... identifier returned from resy_book or resy_list_reservations). The confirmation preview shows the Resy account, venue, date, time, party size, and any cancellation fee. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). Once confirmed, the result carries cancelled (boolean: true only when the cancellation is confirmed) and outcome ("cancelled", "not_cancelled", or "unknown"). On "unknown", cancelled is false but the reservation MAY have been cancelled — check resy_list_reservations before retrying.

resy_bookA

Book a reservation. Composite tool: internally runs find-slots → get booking details → book. It books ONLY the exact slot a preview showed. The first call returns a preview (the Resy account, venue, date, party size, the exact slot time that would be booked, its slot_type, the payment card last-4, and the slot's cancellation_policy / payment_terms — any no-show fee or deposit) and books nothing. Pass desired_time (HH:MM, 24-hour) to target a specific slot. If your exact desired_time is not available the tool does NOT auto-book a different time — it returns the available times so you can pick, unless you pass allow_closest_time:true (which previews the nearest slot). Omit desired_time to preview the first available slot. Resy can list several slots at one time with different seating types (Dining Room / Bar / Patio) and different fees; pass slot_type to target one. To book: on a client without a confirmation prompt the preview comes back with a confirmToken bound to that exact slot and its terms — after the user approves, call again with the same arguments plus the preview's time as desired_time and the confirmToken. On a client that can prompt, call again with the preview's time as desired_time, its slot_type and its terms_token, and the user is asked to confirm. If that slot is gone, or its seating type or cancellation/payment terms changed since the preview, nothing is booked and a fresh preview is returned. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). Before booking, it checks your existing reservations and refuses if you already hold one at this venue on this date (e.g. an earlier call that timed out but went through); pass allow_duplicate:true to book another anyway. Uses the user's default payment method unless payment_method_id is supplied (it must be one of the saved cards from resy_list_payment_methods; the preview names the card by brand and last-4).

resy_list_favoritesB

List the user's favorited Resy venues ("hit list").

resy_add_favoriteB

Add a venue to the user's favorites by venue_id.

resy_remove_favoriteB

Remove a venue from the user's favorites by venue_id.

resy_list_notifyA

List Priority Notify subscriptions — tables you are waiting for when reservations open up.

resy_add_notifyA

Subscribe to Priority Notify for a venue/date/party size. Resy emails you when a matching slot opens. time_start / time_end bound the window you're willing to accept (HH:MM, 24h). Resy's notify booking window only accepts near-term dates (~30 days out).

resy_remove_notifyA

Cancel a Priority Notify subscription by notify_id. The tool looks up the full spec from resy_list_notify internally — no other input needed.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.8/5.0

Scored across 15 tools

Disambiguation4/5

Most tools target a distinct resource+action (search_venues vs find_slots vs book, and the favorites/notify add/list/remove trios). The only mild overlap is that resy_search_venues also returns bookable slot tokens while resy_find_slots returns slot config_tokens for a specific venue, but the descriptions clearly scope each.

Naming Consistency4/5

Consistent resy_ prefix and snake_case verb_noun throughout (get_venue, add_favorite, list_reservations, remove_notify). Minor deviations are the single-word cancel/book and the noun-form healthcheck, but the pattern is still predictable.

Tool Count5/5

15 tools is well-scoped for a reservation platform, with each tool earning its place across discovery, booking, account, favorites, and notify workflows, plus one diagnostic healthcheck.

Completeness4/5

Covers the core lifecycle well: venue lookup, slot search, booking, cancellation, reservation listing, favorites CRUD, notify CRUD, profile, and payment methods. Minor gaps exist (no reservation modify/reschedule, no add/remove payment method), but these are plausibly API-limited and workaroundable.

Maintenance

ActivityActive
ResponsivenessResponsive