AllAtOnce
Integrates with Amazon Alexa+ as the voice assistant host for dinner orchestration, including planning meals backward from serve time, providing cook briefs, tracking completed steps, handling delay reports, re-planning the meal, and delivering spoken trade-off summaries.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@AllAtOnceFour for dinner at seven: roast chicken, mash, beans, Maya's gravy. Land it all at seven."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
AllAtOnce — the dinner conductor
Alexa+ doesn't just time dinner — it lands it.
Tell Alexa+ who's eating, what's cooking, and when you want to sit down. AllAtOnce builds the plan backwards from serve time, gives every cook their next job, tracks progress by voice — and when the chicken runs late, it re-plans the whole landing instead of letting three dishes die waiting.
Alexa already does timers. Timers don't re-plan dinner when the chicken's late.
Built for the Alexa+ track of Build, Ship, Shape: Amazon Developer Hackathon (Devpost). Self-hosted MCP server, MCP spec 2025-11-25, Streamable HTTP, official Python MCP SDK.
The demo scenario (one dinner, ~3 minutes)
"Alexa, we're four for dinner at seven — roast chicken, garlic mash, green beans, and Maya's doing her gravy. Land it all at seven."
plan_dinnerbackward-schedules all four dishes to 7:00, reading household memory (Maya always does the gravy; chicken rests 10 minutes in this house). The Echo Show board appears: dish bars converging on one SERVE line.Cooks check in by voice (
get_cook_brief,complete_step). Maya finishes the mash and gets her next job.The payoff: "Alexa, the chicken's running fifteen behind."
report_delay→replan_dinnerre-solves the landing: the chicken finishes at high heat and rests 7 instead of 10, tonight's guest Alex gets a job helping carve, the gravy moves from Maya to Dad and is served straight from the pan, the mash goes on hold and is rewhipped at the last call, and the beans switch to a single pan so Sam can set the table. Alexa+ reads the trade-off out loud and asks for a yes. Dinner lands at 7:01 — one honest minute past seven, instead of 7:15 with no re-plan.
Full script: DEMO-SCRIPT.md. Full test run: test-output.txt.
Related MCP server: Aura+
How the re-plan actually works
This is a real recomputation, not a timer offset:
Backward planning. Each dish is a step graph (durations, dependencies, cook assignments, active/passive steps, minimum compressible durations, freshness windows). Dishes are scheduled backwards from serve time; cross-dish dependencies are honoured — gravy cannot start before the chicken roast releases its drippings, and if a dependency pushes a dish late, the slip is reported, never hidden.
Forward repair. A delay is reported mid-cook, so the delayed dish is re-scheduled forward from its real start (a backward-only planner would cheat by quietly moving the start earlier). Recovery actions apply in order: a high-heat finish recovers a modelled fraction of the slip, the rest trims to its minimum, carving is parallelised with a helper. Whatever cannot be absorbed becomes an honest slip — tell it the chicken is 30 minutes behind and AllAtOnce will tell you dinner lands at 7:16, not pretend otherwise (this is unit-tested).
Cascade. Dependent dishes follow their inputs (gravy follows the drippings, compresses, and is served from the pan), flexible dishes extend their holds (the mash), and constrained dishes change method (the beans go single-pan). Cook conflicts are re-validated after every re-plan.
Household memory.
household.jsonholds remembered facts — who does the gravy, how long the chicken rests, who usually sets the table.plan_dinnergenuinely reads them (change the rest to 12 in memory and the chicken starts 2 minutes earlier — also unit-tested), and every landing is written back as plan-vs-actual.
Tools (MCP)
Tool | What it does |
| Backward-schedule the dinner from serve time using household memory; returns the plan + first jobs |
| One cook's current + next step only (voice-first brevity) |
| Mark a step done; returns that cook's next job |
| Record a slip; returns the naive (un-repaired) projection |
| Recompute the whole landing; returns computed changes, honest projected serve time, and the spoken trade-off summary |
| Full board state: timelines, phases, per-cook jobs, facts in play |
Plus plain HTTP on the same app: GET /board (the Echo Show board),
GET /status (the board's JSON), GET /health.
Run it locally
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
.venv/bin/python server.py # MCP at http://127.0.0.1:8000/mcp
# board at http://127.0.0.1:8000/board
PORT=9000 .venv/bin/python server.py # hosting platforms set $PORTTest it:
.venv/bin/python test_schedule.py # pure-logic engine tests (no server)
.venv/bin/python test_client.py # full demo arc over Streamable HTTP
# (start the server first, in another
# terminal; set MCP_URL to test a
# deployed instance instead)Latest recorded run: 91 checks, ALL PASS (56 engine/robustness + 35 end-to-end) — see test-output.txt. The robustness tests cover judge-style poking: no-plan calls, unknown dishes/cooks/ steps, malformed times, out-of-range delays, and re-planning the same delay twice all return spoken-style errors, never a crash.
Layout
server.py MCP wiring (6 tools) + /board, /status, /health routes
schedule.py scheduling + re-planning engine (pure logic, tested)
household.json household memory seed (facts the planner reads)
board.html the Echo Show board (polls /status)
test_client.py end-to-end MCP client driving the full demo arc
test_schedule.py unit tests for the engine, incl. honest-slip cases
project-image.png screenshot of the real board after the demo re-plan
AUDIT.md end-to-end submission audit (2026-10-19)
state.json runtime state (generated; gitignored)Honest limitations
The recipe set is a small curated set of step graphs — by design. AllAtOnce is bring-your-own dishes: the step graph is the data model, not a recipe catalogue. Adding a dish means adding its steps, not scraping a cookbook site.
There is no entrant-facing live Alexa+ test harness we could verify, so the demo path is a real MCP client (the test client) standing in for the Alexa+ host, plus the board a Show would render. The MCP server itself is the real thing, speaking spec 2025-11-25.
The high-heat recovery is a modelled heuristic (recovers 60% of a slip, capped at 9 minutes) — stated in the recipe data, not hidden. Recovery strategies are authored per dish (the roast-chicken path is the fully modelled one); a delay on another dish still re-solves the timeline and reports an honest projected serve, and says when a slip can't be absorbed.
One active dinner per server process — a second
plan_dinnerreplaces the active dinner. Household state persists tostate.jsonon disk.
License
MIT — see LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Household-aware cooking brain: pantry, meal suggestions, dietary safety, recipes, shopping lists.
Family meal planning run by your agent: weekly dinners, household votes, grocery list minus pantry.
AI-powered kitchen management — pantry, recipes, meal plans, shopping lists
Real-time multi-track schedules for cooking, lab protocols, events and workouts. Validate and share.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceYour digital kitchen, powered by AI. Track what you have, discover what you can cook, and get guided through every recipe — step by step, timer by timer.MIT
- AlicenseNot gradedqualityBmaintenanceAn MCP server that enables Alexa+ to autonomously orchestrate multi-step household tasks by decomposing goals into parallel tool calls — cross-session memory and dietary/allergy auditing, culinary planning with wine pairings, Amazon Fresh cart assembly with human-in-the-loop purchase approval, smart-home ambiance and climate control, and calendar scheduling. It pairs AWS Bedrock multi-agent reasoning with Streamable HTTP transport and interactive generative UI cards, carousels, and live IoT sliders.MIT
- AlicenseNot gradedqualityCmaintenanceCoordinates meal plans, shared kitchen resources like cook/oven/hob, and cook handoffs; supports starting/completing steps, previewing timing changes before applying, undo, and state persistence via MCP.MIT
- AlicenseNot gradedqualityAmaintenanceEnables a household departure assistant that plans and coordinates shared preparation tasks, adapts to changed constraints such as route or weather, hands off unfinished tasks, and supports reversible device actions with durable receipts via MCP.MIT