Return Relay
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., "@Return RelayCan you move my headphone return to Wednesday because I leave Thursday morning?"
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.
Return Relay
Leaving a day earlier? Move the return, too.
You planned to return the headphones on Thursday, before a Friday trip. Now you leave Thursday morning. Return Relay checks the return deadline, counter hours and household calendar, then offers Wednesday instead. Review the new time, save it, pack the parcel and ask Maya to take it.
Open the demo — no sign-in required. Your sample household is separate from other visitors’ and stays available for seven days.
The Alexa+ entry is a working, self-hosted MCP server with a custom web client. A guided parser handles the supported departure phrases in this self-built Alexa+ simulation. The web host calls nine MCP tools through the official TypeScript SDK over Streamable HTTP, negotiating protocol 2025-11-25. The call log is visible in the app.
Orders, policies, calendars, family roles and receipts are synthetic. The demo has no live Alexa or language-model connection, Amazon account access, real returns, refunds or family messages.
Run locally
Requires Node.js 24 and npm. No API key or paid service is needed for local use.
npm ci
npm run build
npm test
npm startOpen http://127.0.0.1:4318. The server serves the built web application and /api/mcp from the same origin. SQLite and a generated local signing key persist in the ignored data/ directory. To start another local instance, give it its own RR_DATA_DIR, PORT and matching RR_PUBLIC_ORIGIN.
For frontend development, run npm run dev and npx vite --host 127.0.0.1 in two terminals. Open the Vite address at port 5173; its API proxy connects to port 4318.
Related MCP server: SimmerShift
Try the complete relay
Choose Wireless headphones. Review Thursday's proposed drop-off and confirm it.
Choose “Actually, I’m leaving Thursday morning.” The Thursday errand now conflicts with departure. Compare the Wednesday proposal with the saved plan. Cancel once to see that the saved plan stays unchanged, then approve the new time.
Check all four packing items and confirm Mark parcel packed.
Ask Maya to take the parcel. The request stays pending.
Open the labelled Maya's view, accept the request, then report the drop-off.
Load the sample carrier receipt. A matched sample receipt confirms only the demo drop-off. Refund remains Unknown.
Refresh the page. The saved household and its revision history return.
The adapter’s return deadline has passed. The bag needs a deadline and return method before planning can start. Both are available from the item list. The scenario uses a fixed clock: November 2, 2026, in Los Angeles.
Architecture
Browser UI and explicit confirmation
-> Web host: same-origin session + CSRF + signed confirmation
-> Official MCP client: initialize, tools/list, tools/call
-> Streamable HTTP /api/mcp
-> MCP tool validation and approval checks
-> Planner + revisioned household state
-> SQLite locally / approved Redis on hosted deploymentThe UI's Actual MCP calls panel records HTTP request IDs, method/tool, negotiated protocol, status and duration. It does not expose bearer tokens or confirmation secrets.
Tools
Tool | What it does |
| Finds the session's sample orders. |
| Reads a synthetic policy and deadline basis. |
| Reads sample availability and counter hours. |
| Calculates a candidate without saving it. |
| Saves the exact approved proposal. |
| Requests a sample handoff; it does not accept it. |
| Accepts as the assigned sample member. |
| Records packing, reported drop-off, or a matching sample receipt. |
| Reads saved state, revision and history. |
Every MCP write needs a host-issued approval bound to the session, actor, tool and exact arguments. The server signs each preview and sets an expiry. If the saved plan changes, the user must review a fresh proposal. An idempotency key prevents a repeated confirmed request from adding a second event. The MCP access token alone cannot approve a write.
The role switch lets one visitor try both Alex and Maya within the sample household. Real family accounts would need independent authentication. Reset sample asks for confirmation before deleting that household’s saved plans and history.
Planning rules
The planner checks packing time, travel in both directions, counter processing, opening hours, actor availability, departure and the policy's deadline basis. It enumerates 15-minute starts within the fixed scenario. It does not estimate road traffic or learn a schedule. If return instructions are missing, the app asks for them. A deadline based on arrival at the store also needs transit information before it can offer a plan.
Hosted configuration
The Vercel application requires a private signing secret and an approved Redis store. It refuses to use temporary server disk as persistent storage.
RR_PUBLIC_ORIGIN: exact public origin of this application.RR_SIGNING_SECRET: a cryptographically random, server-only secret of at least 32 characters.UPSTASH_REDIS_REST_URLandUPSTASH_REDIS_REST_TOKEN, or Vercel's equivalentKV_REST_API_URLandKV_REST_API_TOKEN.
Business keys use the return-relay:v1: prefix. Sessions expire after seven days. Anonymous session creation, MCP traffic and session writes are bounded. Reset removes only the caller's sample household. A production key rotation invalidates existing signed sessions and confirmations.
Verification
npm test runs domain and real HTTP integration tests using temporary local stores. After npx playwright install chromium, npm run test:browser builds and tests the real interface on isolated local servers at ports 4326 and 4327. The core flow and input-boundary suites use separate stores, so test sessions do not exhaust the production session limit. Test logs and the acceptance matrix are added under docs/verification/ as release candidates are verified. These checks cover the synthetic scenario and our application; Amazon integration and household user research have not been tested.
To repeat the hosted checks against the synthetic demo:
RR_TEST_URL=https://return-relay.vercel.app node scripts/verify-hosted.mjs
RR_TEST_URL=https://return-relay.vercel.app node scripts/verify-hosted-accessibility.mjsThe second script checks 320px and landscape approval layouts, replanning for an unavailable helper, and automated accessibility in saved-plan, handoff and receipt states. It creates its own sample session. Set RR_TEST_URL to test another deployment and RR_VERIFY_OUTPUT to choose its output directory. The hosted service limits new sessions per IP; avoid running the remote checks in parallel or repeatedly. An automated accessibility pass is a scoped check, not a complete audit.
AI assistance and attribution
This project was developed with OpenAI Codex assistance for implementation, test creation, review and English drafting. Runtime conversation uses the guided parser described above. The original parcel illustration is CSS; interface icons are Lucide. No Amazon logos, proprietary code or real order data are included.
See LICENSE, THIRD_PARTY_NOTICES.md, and the submission documents under docs/.
This server cannot be deployed
Maintenance
Related MCP Connectors
AI workflow/MCP implementation package planner.
The first official family-planner MCP: tasks, calendar, meals, shopping and reminders.
Remote MCP for Universal Cart merchant readiness MCP, structured receipts, audit logs, and reviewer-
Plan vehicle routes, job assignments and load packing from stops, fleet and constraints.
Related MCP Servers
- 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
- AlicenseNot gradedqualityCmaintenanceEnables agents to create and persist meal plans, track parallel timers and progress, recover from interruptions or constraint changes, and inspect revised schedules through MCP tools.MIT
- AlicenseNot gradedqualityCmaintenanceEnables a local MCP host to read, plan, and recover a shared household departure schedule around people, a shared bathroom, completed tasks, and a fixed deadline after an interruption. It exposes tools to preview progress or duration changes and compare household-supplied recovery alternatives, with the exact stored draft applied only after explicit review.MIT
- AlicenseNot gradedqualityCmaintenanceEnables a household to move from a possible U.S. consumer-product recall match to a source-backed follow-up plan that can be reopened later, keeping product-label evidence, source dates, explicit confirmation, and user-reported progress in local case history. Exposes twelve MCP tools for starting and identifying cases, searching and reviewing recall evidence, preparing and confirming plans, reopening and tracking cases, exporting packets, and exercising changed-source scenarios.MIT