Restaurant Reservation Agent
- Python
- MCP
- Groq
- Sarvam
- Question
- A 75-outlet chain loses bookings when one outlet is full, even though a sister outlet nearby has space. Can an agent save them?
- Setup
- A booking agent with no agent framework: its own tool loop, 8 MCP tools, voice in 11 languages. Full outlets reroute to another time or a nearby outlet.
- Result
- 13/16 scripted guest journeys pass, checked on tool choice, arguments and final state.
- Guest
- Agent loop
- Gate
- MCP server · 8 tools
- SQLite
16 scripted journeys on one model (gpt-oss-20b), one run each; 13 pass.
NextLet the code gate own confirmation alone, so the guest is asked once.
13/16guest journeys pass
+2 over the first run; only two are agent fixes.
- Agent fixOther time · Outlet infofail → pass
- Eval fixParty of 25 · Complaintfail → pass
- Stricter checkNearby outletpass → fail
- Not tracedIgnore-the-rulespass → fail
- Confirmation gate in code. Every write is held; the server dry-runs it, and it only goes through when the model repeats the call after the guest says yes.
- Overflow routing in code. A full outlet returns up to 3 other times within 2 hours and up to 3 outlets within 6 km.
- Errors come back as results, so the model can correct itself, with a cap of 6 model calls per turn.
- Dates resolved in code against a 14-day calendar, not by the model.