eCommerce
xn--btel-0ra.ch
Enables restaurant discovery, menu browsing, order placement, and order status tracking for food pickup.
ENDPOINT 1
https://xn--btel-0ra.ch/mcp
MCP server metadata
- Name
- butel-ordering
- Version
- 0.1.0
Bütel restaurant ordering. Anonymous, no login. Workflow: (1) call find_restaurants to locate a restaurant; (2) call get_menu to see dishes and drinks. Each dish may have `mandatoryOptions` groups (e.g. size, sauce) and `options` (extras). BEFORE calling place_order, for every mandatoryOptions group on every dish the user wants, ASK THE USER which option they want — list the group name and the available choices in the user's language and wait for an answer. Never guess a default. Optional `options` (extra cheese, no onions, etc.) should also be checked with the user when relevant; (3) call get_pickup_slots for valid pickup times; (4) call place_order with selectedMandatoryOptions filled in for every mandatoryOptions group, and selectedOptionIds for any extras the user picked — it returns a Payrexx paymentLink, the ONLY manual step the user must do; (5) once the user has paid, call wait_for_order_decision ONCE — it long-polls for up to 5 minutes and returns the moment the kitchen accepts (decision="accepted", reads back pickupCode), rejects (decision="rejected", payment is auto-refunded), or asks for a different time (decision="time_conflict"). If wait_for_order_decision returns timedOut=true, call it again. Use cancel_order to cancel before payment. All prices are CHF. Pickup times must be 5-minute aligned, respect the restaurant's lead time, and fall within the next 48 hours — orders further out are rejected. ARGUMENT NAMING: tool inputs ALWAYS use camelCase `restaurantId` and `orderId`. Response objects use `id` (per JSON convention). When chaining calls, read `restaurants[i].id` from find_restaurants and pass it as `restaurantId: <value>` — never as `id`, `restaurant_id`, or `restaurant`. Same for orderId. Calling get_menu with `id: ...` will be rejected by the schema validator and waste a tool call.
Known tools 7
find_restaurantsList Bütel restaurants.
get_menuReturn the currently-available menu for a restaurant: dishes, drinks, and category definitions.
get_pickup_slotsReturn today and tomorrow pickup-time slots for a restaurant.
place_orderPlace an order at the given restaurant for the given items and pickup time.
get_order_statusReturn the current status of an order: payment status, pickupCode (once the payment is authorised), pickupTime, and any time-conflict suggestions.
cancel_orderCancel an order that has not been paid yet (status AWAITING_PAYMENT).
wait_for_order_decisionLong-poll an order (server-side) until the kitchen makes a decision.