Quickstart
Orderable is an MCP server that makes a food business orderable by AI agents. Run it in a minute, point an agent at it, and it can browse the menu, check what's in stock, quote, order and track.
1. Run it
git clone https://github.com/Lameda12/OrderAble && cd OrderAble
npm install
node dist/cli.js serve --stdio --adapter mockThat serves two fictional Halifax businesses, Crumb & Co (bakery) and Northline Coffee (cafe). Requires Node 20 or newer.
2. Look inside
npx @modelcontextprotocol/inspector node dist/cli.js serve --stdio --adapter mockThe MCP Inspector lists the nine tools and two resources and lets you call them by hand.
3. Connect an agent
claude mcp add orderable -e ORDERABLE_ADAPTER=mock -- node /absolute/path/to/OrderAble/dist/cli.js serve --stdioThen ask Claude: "Plan lunch for 12 tomorrow at noon, 3 vegetarians, 1 gluten-free, under $20 a head." Other clients are covered in Connect a client.
4. Make it yours
node dist/cli.js init # writes menu.yaml for your business type
node dist/cli.js validate # plain-English errors with line numbers
node dist/cli.js doctor # agent-readiness score out of 100
node dist/cli.js serve --stdioHow an order flows
list_locationsfinds where to order and whether it delivers to you.search_menuorplan_group_orderpicks items;get_itemgives modifiers and allergens.quote_orderprices the cart and locks it for 10 minutes.- The customer approves the total, then
place_orderruns with an idempotency key andconfirm: true. get_order_statustracks it;cancel_orderworks inside the merchant's window.
Rules every response follows
- Money is integer minor units with a currency:
{ "amount": 1295, "currency": "CAD" }is $12.95. - Anything with prices or stock carries
as_ofandttl_seconds. Past the ttl, re-check. - Allergens are
contains,may_containorunknown. Unknown is never safe. DRY_RUNis on by default: orders are recorded but not sent to the kitchen until the owner turns it off.