Skip to main content
Glama
KoaChang
by KoaChang

Dinner Relay

A small cooking conductor that keeps the plan, the kitchen's shared resources, and the next person cooking in agreement.

Dinner Relay is an AI-assisted prototype for the Alexa+ primary track of the Build, Ship, Shape: Amazon Developer Hackathon. Its browser interface is a local demonstration: controls invoke a real MCP server through the official MCP TypeScript SDK and Streamable HTTP. It does not connect to native Alexa+, a live language model, or kitchen appliances.

Dinner Relay local prototype

What it demonstrates

  • A fictional meal with eight dependent steps and three shared resources: one cook, one oven, and one hob.

  • An updated plan that accounts for dependencies, occupied resources, and the serving target.

  • Explicit start and completion records. Elapsed time never marks food finished.

  • A preview of a delay or changed serving target before committing it.

  • Handoff to another named cook without losing the active work.

  • Undo of recorded changes and a short activity history.

  • State saved between local server restarts.

The fixture is vegetable bowls, herbed couscous, and salad. It illustrates coordination rather than providing a complete recipe. Durations are estimates; follow your actual recipe and package directions and check the food yourself.

Related MCP server: Tandoor MCP Server

Run locally

Use Node.js 22 or newer and npm. From the project directory:

npm ci
npm test
npm start

Open http://127.0.0.1:4318.

The MCP endpoint is http://127.0.0.1:4318/mcp. It accepts MCP over Streamable HTTP, with JSON responses and no persistent transport sessions. A normal browser GET to this endpoint returns 405; use an MCP client. The integration test verifies negotiation of protocol version 2025-11-25 and real tool calls.

No API key, external model account, paid service, or physical device is needed. Dependency installation requires internet access; the bundled demonstration runs locally.

Configuration

Variable

Default

Purpose

PORT

4318

Local listening port

DINNER_DATA_FILE

.data/dinner.json within this project

State file; relative overrides resolve from the process working directory

The server binds to 127.0.0.1. It is a single-process local prototype without user accounts or production authentication. Do not expose it publicly or run multiple server processes against the same state file. The public source requirement for the contest does not require exposing this local server to the internet.

How it works

Browser controls
    → /api/tool
    → official SDK MCP client
    → Streamable HTTP /mcp
    → MCP tool
    → dinner store + planner
    → local JSON state

The browser bridge calls the MCP endpoint instead of modifying dinner state directly. External MCP clients can also use that endpoint. The project uses @modelcontextprotocol/sdk 1.30.0, Express, and Zod.

MCP tool

Behavior

dinner_status

Read the current dinner, revision, and plan

dinner_step

Start a pending step or confirm a running step complete

dinner_preview

Compare the current plan with a proposed timing change

dinner_apply

Apply a reviewed, current preview

dinner_handoff

Change the current cook and return a handoff summary

dinner_undo

Restore the previous recorded state

dinner_reset

Replace the dinner with the fictional fixture

The server also exposes the dinner://current resource and the conduct-dinner prompt. These are building blocks for an agent client; this prototype does not itself run an autonomous conversational agent.

Mutations require the current expectedRevision and a requestId. Reusing the same request ID and arguments returns the recorded result; reusing it for different arguments is rejected. A stale revision requires refreshing before retrying. These checks coordinate clients within one running process, not across distributed servers.

Preview changes are held in memory for ten minutes and become stale if the dinner changes. Restarting the server discards previews. Committed dinner state, recent history, and recent request results are written to JSON using a temporary file and rename. History retains 20 states and request deduplication retains 100 results; this is not a durable audit service.

Undo changes the record only. It cannot uncook food, stop an appliance, or reverse an action in the kitchen.

Scope and limits

  • One bundled fictional meal; no recipe import, dietary or allergy verification, appliance control, or ingredient availability tracking.

  • One cook resource; handoff replaces the responsible cook rather than adding a second person.

  • Manual browser actions; no microphone, speech recognition, native Alexa integration, or live LLM.

  • Time estimates support planning. They do not measure temperature, doneness, or food safety.

  • Local JSON storage and one process; no production hosting, synchronized multi-device identity, or multi-tenant isolation.

Verification and entry materials

Run npm test for the automated checks. The initial 29 checks passed on Node 23.7.0: dependency and resource scheduling, preserved running work, overdue confirmation, read-only previews, stale-session rejection, idempotent retries, disk-write rollback, restart persistence, undo, and real MCP 2025-11-25 negotiation and tool calls. Browser verification is recorded separately in the entry materials.

Entry status: prepared prototype; not submitted. See the entry draft for publication links and remaining submission steps. No award or earnings claimed.

Authorship and license

This project was generated with substantial Codex AI assistance, including implementation and documentation, for Koa Chang. Human review and final submission approval have not been recorded. Any submission should describe that assistance and the entrant's actual role accurately.

MIT License. Copyright © 2026 Koa Chang. Dependencies retain their respective licenses.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables MCP-compatible clients like ChatGPT and Claude to manage a household's shared food inventory, meal plans, recipes, and preferences through natural language, with atomic updates and audit logging.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables persistent household routine planning with interruption replanning, preserving completed progress and rejecting stale updates through MCP tools over Streamable HTTP.
    MIT