Categories › Productivity & Office › Notes, docs & knowledge bases
Restaurant menus, carts, reservations and owner drafts for AI agents (Thmenu MCP).
Remote server: your requests and data go to mcp.thmenu.com. Claude Code: claude mcp add --transport http thmenu https://mcp.thmenu.com/ · Claude app: Settings → Connectors → Add custom connector.
The tools this server listed when we connected to it, in its own words.
get_pricing — Return Thmenu's commercial model as structured facts: free forever, every feature included, no subscription and no trial; the only charge isget_faq — Return the FAQ entries from the public /faq page in the requested locale (31 locales; unknown locale falls back to en and the response says get_restaurant — Fetch a public restaurant profile by slug: name, description, address/city/country, currency, timezone, phone, menu URL, opening hours (7 dasearch_products — Search products inside a single restaurant by keyword. Returns up to 20 matching products with name, description, price, allergen tags, and list_public_menus — List restaurants that have opted into the public directory (directory_opt_in = 1 — the same flag the owner sets under "AI visibility"). Retusearch_restaurants — Search the public directory (opt-in venues only) by location, opening status, cuisine, dietary options, declared attributes, ordering channestart_order_session — Open a 30-minute transactional window for an AI agent against a specific restaurant. Returns an agent_session_id you MUST pass to every downplace_order — Place an order against the agent_session_id from start_order_session. Atomically inserts the order + items, applies server-side canonical prcancel_order — Cancel an order placed via the same agent_session_id. Atomic — only succeeds while the order is still in "pending" or "confirmed" (the earlyget_order_status — Poll the current status of an order. Returns status, prepared_items_count, total_items_count, eta_minutes (if available), and an optional curequest_bill — Ask the venue to bring the bill for a table. INSERTs a bill_requests row + fires the admin push notification. The split_type defaults to "fuwaiter_call — Flag a waiter to the table. INSERTs a waiter_calls row + fires the admin push notification. Pass an optional human-readable message (max 500get_restaurant_menu — Fetch the full public menu for a restaurant — categories, products, prices, option groups, allergens, nutrition. Use this to build the cart check_loyalty — Look up a loyalty member by member_id. Returns balance, tier, lifetime_points, and the most recent 10 transactions so the agent can ground iapply_promo — Validate a promo code (eligibility preview only — does NOT reserve a slot). Returns valid=true with discount info when the code is currentlyjoin_loyalty — Loyalty sign-up for a guest. The guest must confirm their own e-mail, so joining happens on the restaurant's menu (My thmenu → Loyalty); thicreate_cart — Build an anonymous takeaway or delivery cart for a listed restaurant and get a one-time confirmation link for the guest. PUBLIC tool, no autget_cart — Read an anonymous cart by cart_id: state (open · consumed · expired), the one-time confirmation link while open, lines re-priced from the liget_reservation_slots — List bookable 30-minute reservation slots for the next 1–7 days (venue timezone) for a listed restaurant with a reservation module. busy_courequest_reservation — Create an anonymous reservation REQUEST (date-time, party size, note) for a listed restaurant and get a one-time confirmation link. PUBLIC tcancel_reservation — Cancel a reservation using the 6-character confirmation code the GUEST received by email/SMS (the code is the authorisation; ask the guest fmenu_audit — List the active products of your restaurant that lack a usable description, an image, or an allergen declaration. Read-only; nothing is chansales_summary — Order counts by status, order total sums, top products by quantity and busiest hours for the last 7 and 30 days of your restaurant. Read-onlreservation_summary — Reservation requests of your restaurant for the next 14 days grouped by day and status, with pending requests that still need an answer. Readraft_product_description — Propose a new description for one of your products. Nothing goes live: the text is saved as a DRAFT change set the owner reviews, previews adraft_site_text — Propose the public website text of your restaurant — tagline, about paragraph, SEO title and SEO description — as a DRAFT change set. Only ddraft_translation — Propose a translation (name and/or description) of one product or category into one menu language. Nothing goes live: it is saved as a DRAFTNot tested by KitScout yet. When our harness runs it, pros, cons and the tasks we tried appear here, with the date and evidence.