08 / 09Voice agents
Restaurant Voice-Ordering Backend
MCP server for an ordering agent
An MCP tool server and order API that let a voice agent read the menu, identify the caller, place orders and text confirmations.
Overview
The backend a restaurant voice-ordering agent talks to. A FastMCP server mounted inside FastAPI exposes the restaurant's menu, customers and orders as tools, and a companion order API handles the order lifecycle.
01 The problem
For a voice agent to take an order, it needs reliable actions, not just conversation: find the caller, check what is on the menu, write the order and keep the customer informed.
02 The approach
Each action is a small, typed MCP tool backed by SQLAlchemy models on a Supabase Postgres database, with Twilio for SMS. The order API is packaged for AWS Lambda with Mangum.
Highlights
- 01FastMCP server mounted in FastAPI, serving tools over HTTP
- 02Tools to list menu items and find or create a customer by phone number
- 03Tools to create orders and update order status
- 04Twilio SMS with SMS events logged
- 05Companion order API (create, update, cancel, status) packaged for AWS Lambda
Stack
Building something similar? Get in touch or see all work.