Reuben MCP tools

Tools your agent can call.

Fourteen atomic tools covering the full booking and takeout-ordering lifecycle. Connect Reuben to your assistant, then try one of the example prompts below — no key, no signup.

Connect first

Paste this endpoint into Claude, ChatGPT, Cursor, or any client that supports remote MCP servers.

https://www.heyreuben.ai/mcp

Book a table

Discover a venue, read its rules, check real open slots, and book — the venue owns every outcome.

find_venues(near?, features?, large_group_behaviour?, cancellation?)

Search live Reuben venues by locality, feature tags, and booking rules (large-group handling, cancellation policy). Each result carries a machine-readable booking_policy block, so agents can spot instant-confirm venues right in the results. Call this first to discover which venues exist, what they offer, and their venue_id.

“Find a dog-friendly café near Burwood that takes agent bookings.”

“Which Reuben venues do takeout and have free cancellation?”

check_venue_integration(website?, name?, queries?)

Already found one or more venues through your own web search? Ask Reuben whether they're bookable here, by website or name — check one, or pass a queries array to check several candidates in a single call. The answer is honest: a confident match returns the venue_id to book with; anything uncertain lists candidates without guessing; no match is a plain no. Venues can also publish /.well-known/reuben.json on their own site so agents discover the link straight from the source.

“I found somervillegeneralstore.com.au on Google — can you book it via Reuben?”

“Here are the 5 cafés my search turned up — which are bookable through Reuben?”

get_venue_details(venue_id)

Get the full profile for one venue: name, address, phone, opening hours, booking rules, and features.

“What are Banksia's opening hours and address?”

“Tell me everything about the venue with id “banksia” before I book.”

get_booking_policies(venue_id)

Retrieve a venue's booking rules before you commit: max instant party size, how large groups are handled, and cancellation terms.

“Can I book a table for 12 at Banksia, or does that need a human?”

“What's the cancellation policy at Banksia?”

get_availability(venue_id, date, party_size?, time?)

See a Reuben-hosted venue's open slots for a date — remaining capacity, service (like Dinner), and whether each slot confirms instantly — so you can pick a real time instead of guessing. Venues that run their own diary say so honestly rather than inventing slots.

“What times are open at Somerville General this Friday for 4?”

“Is 19:00 on the 14th still free at Banksia for 2?”

create_booking(venue_id, date, time, party_size, guest_name, guest_email, guest_phone, notes?)

Request a table reservation — this submits a real booking request the venue acts on, and retrying is only safe with the same booking reference. Returns confirmed, pending, unavailable (with re-checked alternatives), requires-human (routed to the venue's team), or a validation error — the venue owns the outcome, and a human always owns the final yes on big asks.

“Book a table for 2 at Banksia this Friday at 7pm for Alex, alex@example.com.”

“Reserve a table for 4 at Banksia on 2026-08-14 at 18:30 under Sam.”

get_booking_status(venue_id, client_reference, date, time, party_size, guest_name, guest_email, guest_phone)

Check the current status of a booking you made earlier — including requests sitting with the venue's team — using the booking reference and the original booking details. It never creates, changes, or duplicates a booking.

“What's the status of my Banksia booking, reference reuben-1a2b3c?”

“Is my table for Friday still confirmed?”

Order takeout

For venues whose features include takeout: read the live menu, place a pickup order, and track it to the counter. Payment is settled at the venue when the guest collects.

get_menu(venue_id)

Get the orderable menu for a venue that does takeout — categories, items, variations, and prices straight from the venue's own point of sale, so an agent can't invent an item or a price.

“What's on the menu at Edithvale General Store?”

“How much is a flat white at Edithvale General Store?”

get_usual_order(venue_id, guest_email?, guest_phone?)

A guest's own usual order at a venue that remembers its regulars, so an agent can offer "the usual?". Strictly self-scoped: keyed by the guest's own email or phone, it returns only their own repeated items — never anyone else's data — and only at venues that have said they remember regulars' usual orders.

“What's my usual at Edithvale General Store?”

“Order my usual from the local for 8:30 — sam@example.com.”

create_order(venue_id, items, pickup_at, guest_name, guest_email?, guest_phone?, notes?)

Place a takeout (pickup) order built from the venue's live menu — a real order the venue starts preparing. The order lands on the venue's own rails, the guest gets a confirmation email, and payment is settled at the venue on pickup. Returns an order reference — save it to check on the order later; retrying is only safe with the same reference.

“Order a large flat white with oat milk from Edithvale General Store for pickup at 8:30 tomorrow.”

“Grab my usual from the local for 12:30 — name's Sam.”

get_order_status(order_reference)

Check on a takeout order using just its order reference — received, preparing, ready, completed, or cancelled. Guests also get an email when the pickup status changes.

“Is my order reuben-order-1a2b ready for pickup yet?”

“What's happening with the coffee order I placed earlier?”

cancel_order(order_reference)

Cancel a takeout order before the venue completes it — final once done, though asking again for an already-cancelled order is harmless. Since payment is settled at pickup, a cancelled order means nothing is owed. If it's too late to cancel automatically, you're told to contact the venue instead.

“Cancel my order reuben-order-1a2b, plans changed.”

“Can you call off the pickup order I placed for 12:30?”

Connector discovery

The standard search and fetch pair connector clients like ChatGPT require — free-text discovery over the same live venues and menus, returning documents the richer tools above can act on.

search(query)

Free-text search over live venues and their takeout menus — the standard discovery contract connector clients like ChatGPT require. Venue names, suburbs, feature words, and menu items all match; results carry ids to hand to fetch. Prefer find_venues when structured filters are available.

“Search Reuben for a dog-friendly cafe near Edithvale.”

“Which venues on Reuben serve a flat white?”

fetch(id)

The full document behind a search result id — a venue's complete profile (hours, contact, booking rules) or its live takeout menu, served as a short action guide plus the same canonical JSON the dedicated tools return.

“Fetch venue:edithvale-general-store and tell me its opening hours.”

“Pull up the takeout menu behind that search result.”