← Registry

eCommerce

xn--btel-0ra.ch

Enables restaurant discovery, menu browsing, order placement, and order status tracking for food pickup.

1 endpoint7 known toolsFirst detected July 22, 2026Last detected July 22, 2026

ENDPOINT 1

https://xn--btel-0ra.ch/mcp

No auth detected

MCP server metadata

Name
butel-ordering
Version
0.1.0
Capabilities
tools.listChangedresources.listChanged
Server instructions

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_restaurants

List Bütel restaurants.

get_menu

Return the currently-available menu for a restaurant: dishes, drinks, and category definitions.

get_pickup_slots

Return today and tomorrow pickup-time slots for a restaurant.

place_order

Place an order at the given restaurant for the given items and pickup time.

get_order_status

Return the current status of an order: payment status, pickupCode (once the payment is authorised), pickupTime, and any time-conflict suggestions.

cancel_order

Cancel an order that has not been paid yet (status AWAITING_PAYMENT).

wait_for_order_decision

Long-poll an order (server-side) until the kitchen makes a decision.