# Reuben > Reuben is a remote MCP (Model Context Protocol) server that lets AI agents discover real dining venues, check availability, book tables, and place takeout pickup orders on a guest's behalf. Connect once, then search venues, read a venue's booking rules, reserve a table, read a live menu, and order takeout. The venue owns every confirmation. Reuben holds no booking logic of its own: it reads a live venue registry and either forwards a booking to each venue's own endpoint (adapter venues) or holds the book itself for venues Reuben hosts. Takeout orders are built from the venue's own live menu and land on the venue's own rails; payment is settled at the venue on pickup. There is no API key and no signup to connect. Bookings and takeout ordering are live today with real Melbourne venues; venue-side agents (negotiation on the venue's behalf, with a human signing the final yes) are in beta. ## Connect - [MCP endpoint (Streamable HTTP)](https://www.heyreuben.ai/mcp): Add this URL to any MCP-compatible client (Claude, ChatGPT, Cursor, and others). Also reachable at https://www.heyreuben.ai/api/mcp. ## Tools All read tools (search, fetch, find_venues, check_venue_integration, get_venue_details, get_booking_policies, get_availability, get_menu, get_usual_order, get_order_status) are annotated read-only. The write tools (create_booking, create_order, cancel_order) carry accurate destructive/idempotent annotations: retries of create_booking/create_order are only safe when replayed with the same client_reference, and cancel_order is final but safely re-callable. - find_venues: Search live Reuben venues by locality (`near`), feature tags (`features`), and booking rules (`large_group_behaviour`, `cancellation`). Read-only. Returns {venue_id, name, suburb, features, booking_policy} — booking_policy ({confirmation: "instant" | "venue_confirms", human_confirms_at_party_size?}) lets you shortlist instant-confirm venues without a per-venue lookup. Call this first to discover venues. - check_venue_integration: Found venues through your own web search? Check whether they're bookable via Reuben — one by `website` and/or `name`, or several in one call via a `queries` array of {website?, name?} (batch returns {count, results:[{query, …verdict}]} in order). Honest matching: `match_confidence` is "confident" (with the venue_id to book with), "uncertain" (candidates listed, never guessed), or "none" (a plain no). Venues may also publish `/.well-known/reuben.json` on their own site declaring their Reuben integration — if you find that file, it carries the venue_id directly. - get_venue_details: Full profile for one venue by `venue_id`: name, address, phone, hours, booking rules, and features. - get_booking_policies: A venue's booking rules before you commit: max instant party size, large-group handling, cancellation terms, and who to contact. Call before create_booking for parties over 8. - get_availability: Open booking slots for a Reuben-hosted venue on a date — remaining capacity, service, and whether each slot confirms instantly. Venues that run their own diary say so honestly rather than inventing slots. - create_booking: Request a table — submits a real booking request the venue acts on. Requires venue_id, date (YYYY-MM-DD), time (HH:MM, 24h), party_size, guest_name, guest_email, guest_phone. Retries are only safe with the same client_reference (replays the original outcome instead of double-booking). Returns confirmed, pending, unavailable (with re-checked alternatives), requires_human (routed to the venue's team), or a validation error. - get_booking_status: Check a booking made earlier, using the client_reference plus the original booking details. Never creates or changes a booking. - get_menu: The orderable menu for a venue whose features include takeout — categories, items, variations, and prices from the venue's own point of sale. - get_usual_order: 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/phone, returns only their own repeated items — never other guests' data. Only call when the guest asks. Read-only. - create_order: Place a takeout (pickup) order built from the venue's live menu — submits a real order the venue starts preparing. The guest gets a confirmation email; payment is settled at the venue on pickup. Returns an order_reference — save it; retries are only safe with the same client_reference. - get_order_status: Check a takeout order by its order_reference — received, preparing, ready, completed, or cancelled. Read-only. - cancel_order: Cancel a takeout order before the venue completes it — final, but safely re-callable (an already-cancelled order is returned unchanged). Payment is settled at pickup, so a cancelled order means nothing is owed. - search: Free-text search over live venues and their takeout menus — the standard connector discovery contract (ChatGPT connectors require tools named search/fetch). Returns {results:[{id, title, url}]} with ids ("venue:…", "menu:…") to pass to fetch. Read-only; prefer find_venues when structured filters are available. - fetch: The full document behind a search result id — a venue's complete profile or its live takeout menu, served as a short action guide plus the same canonical JSON the dedicated tools return. Read-only. ## Act on the web (no MCP client needed) Browsing agents that can't connect over MCP can complete the same actions through server-rendered, dependency-free HTML pages that route into the exact same validation and enforcement path as the tools above: - [Guest booking page](https://www.heyreuben.ai/book/{venue_id}): Book a table with a plain HTML form. Accepts prefill query params (date=YYYY-MM-DD, time=HH:MM, party_size, guest_name, guest_email, guest_phone, notes) so an agent can deep-link a pre-filled form for the guest to confirm. - [Guest ordering page](https://www.heyreuben.ai/order/{venue_id}): Place a takeout pickup order from the venue's live menu, for venues whose features include takeout. - [Per-venue card page](https://www.heyreuben.ai/api/v/{venue_id}/card): Each live venue's agent-parseable profile page with schema.org JSON-LD, including ReserveAction/OrderAction urlTemplates pointing at the pages above. Substitute {venue_id} with an id from find_venues or the live venue list below. ## Agentic checkout (ACP) For agent platforms that support the Agentic Commerce Protocol (e.g. ChatGPT Instant Checkout), Reuben exposes a merchant-side ACP surface for paying for takeout orders online with a Stripe shared payment token. Venues whose prices Reuben itself hosts are eligible; POS-backed venues stay on the pay-at-pickup rail. - [Product feed (JSON)](https://www.heyreuben.ai/api/acp/feed): Public, always-current feed of orderable menu items across eligible venues (item id, title, price in minor units, merchant). Answers `enabled: false` when agentic checkout is not configured. - Checkout sessions: `POST https://www.heyreuben.ai/api/acp/checkout_sessions` (create), then `POST .../checkout_sessions/{id}` (update), `POST .../checkout_sessions/{id}/complete` (pay with a Stripe shared payment token) or `POST .../checkout_sessions/{id}/cancel`. Session endpoints require an `Authorization: Bearer` key issued to the platform — contact Reuben via https://www.heyreuben.ai/for-venues to get onboarded. A completed checkout places a normal Reuben takeout order, marked paid. ## Live venues - [Live venue list (JSON)](https://www.heyreuben.ai/api/venues): The authoritative, always-current list of venues bookable via Reuben (venue_id, name, suburb, city, features). Query this endpoint for the live set rather than relying on a snapshot. ## For venues - [Reuben for venues](https://www.heyreuben.ai/for-venues): What Reuben does for a venue — agent bookings, takeout ordering via a connected Square account, separate services with their own rules, pause/resume ordering, and self-managed details and billing. - [List your venue](https://www.heyreuben.ai/onboard): Self-serve onboarding — a venue goes live immediately, no account required. ## More - [Tools & example prompts](https://www.heyreuben.ai/tools): The MCP tools with example prompts you can hand to your agent. - [Home](https://www.heyreuben.ai/): Overview and connection instructions.