-
-
Figure: After QuickFix fails, Relay invalidates old approval, reapplies constraints, and proposes CoolCare as a valid replacement.
-
Figure: Relay presents compliant providers and requires explicit human approval before the ₹1,800 QuickFix commitment.
-
Figure: Relay resumes a persisted task after EventBridge triggers Lambda and DynamoDB state is restored without losing context.
-
Figure: Relay converts the AC-service request into a durable contract with budget, deadline, excluded day, and human-only spend authority.
-
Figure: Public Relay MCP validation showing deployed HomeOps tools, resources, resource templates and prompt availability.
-
Figure: RelayAudit table preserving task events such as creation, policy evaluation, provider filtering, selection, and recovery
-
Figure: EventBridge Scheduler creates a future Relay wake-up and targets the RelayResumeWorker Lambda function for continuation.
-
Figure: RelayTasks table storing durable task state including approval status, budget, deadline, excluded days, and task goal.
-
Figure: CloudWatch metrics show successful RelayResumeWorker invocations, execution duration, and no recorded errors in the tested flow.
-
Figure: Amazon ECR stores versioned Relay container images used to deploy and update the production ECS services.
-
Figure: Relay MCP backend running as an active Amazon ECS Express service with a public HTTPS application endpoint.
-
Figure: RelayResumeWorker Lambda restores persisted workflow state and continues scheduled Relay tasks and protection cases
-
Figure: Amazon Bedrock model catalog explored for future reasoning support, outside Relay’s policy-critical authorization path.
Inspiration
AI assistants are already good at understanding what people ask for. The harder problem begins after the conversation ends. Imagine saying:
“Alexa, get my AC serviced this week under ₹2,000, but not Thursday.”
Understanding the request is easy. But what happens if the chosen provider cancels after you approve it? What if the replacement is over budget? What if the task has to wait until tomorrow, the application restarts, or the original conversation is no longer available?
We built Relay to solve that problem. Relay turns a user’s request into a durable execution contract. It remembers the goal, budget, deadline, restrictions and who is allowed to approve important actions. The agent can adapt when the real world changes, but it cannot silently rewrite what the user originally asked for.
What it does
Relay is a self-hosted MCP server for Alexa+-style agent experiences. Instead of treating an AI request as a single conversation, Relay carries the task through its full lifecycle: understand → remember → act → ask for approval → recover from failure → wait → resume → explain
For example, in our HomeOps demo:
- A user asks Alexa to service an AC for under ₹2,000 and not on Thursday.
- Relay stores those conditions as a durable contract.
- A provider is selected and human approval is required before spending.
- If that provider later becomes unavailable, the old approval is invalidated.
- Relay checks replacement providers against the original budget, deadline and excluded day.
- Only valid alternatives can continue.
- If the task needs to wait, Relay persists the state and schedules a future wake-up.
- AWS Lambda restores the task later and Relay continues from the saved state.
- A decision receipt explains what happened and why.
The important idea is simple:
The user’s rules survive even when the world changes.
Relay Shield
We also built Relay Shield, a scam-payment protection flow. A suspicious message can be analyzed for scam signals and combined with payment context. Relay then applies a deterministic policy that can ALLOW, WARN, HOLD or BLOCK the payment. When a payment is placed on hold, Relay can ask a trusted family member for approval using a one-time, context-bound code. If nobody responds, the payment remains blocked. A model may help identify risk, but it cannot authorize a payment. High-risk decisions remain controlled by deterministic policy and explicit human approval. This is a hackathon simulation and does not connect to a real bank or move real money.
How we built it
Relay uses Model Context Protocol 2025-11-25 with Streamable HTTP and is publicly deployed on AWS.
The main infrastructure is:
- Amazon ECS Express for the public MCP backend and web experience
- Amazon ECR for container images
- Amazon DynamoDB for durable task, case and audit state
- Amazon EventBridge Scheduler for future wake-ups
- AWS Lambda for restoring and resuming persisted work
- AWS IAM for runtime permissions
- Python and boto3 for the backend
- React, Vite and Node.js for the simulated Alexa+ experience
- Pytest for unit, integration and end-to-end validation The original Relay workflow exposes 17 MCP tools, 2 resources and 1 prompt. Relay Shield adds another 9 tools, 1 resource and 1 prompt.
Challenges we faced
The hardest part was not making the agent perform an action. It was making sure the agent still respected the user’s original intent after something changed. One recovery bug allowed an invalid replacement option to reappear after a provider failure. We reproduced it, fixed the recovery logic and added regression tests. We also worked through deployment and integration issues involving MCP transport behavior, Docker images, AWS IAM, DynamoDB state, EventBridge scheduling, Lambda execution and cross-platform development. Those problems led us to document a detailed engineering friction log instead of hiding the rough edges.
What we learned
We learned that safe agentic systems need more than model reasoning. Long-running agents need explicit state, deterministic rules, approval boundaries and an audit trail. We also learned that consent should belong to a specific action. If the execution context changes, the old approval should not automatically carry over.
For us, the key lesson became:
Preserve intent. Preserve authority. Survive change. Resume safely.
What's next
Relay’s HomeOps demo focuses on household services, but the same execution model could support travel disruption recovery, procurement, appointments, event vendors, subscriptions, relocation and other long-running tasks. Future work includes stronger production authentication, real provider integrations, rate limiting, payment integrations and reusable durable-workflow primitives for MCP agents.
Built With
- agentic-ai
- amazon-alexa
- amazon-bedrock
- amazon-dynamodb
- amazon-ecr
- amazon-ecs
- amazon-web-services
- artificial-intelligence
- aws-lambda
- boto3
- docker
- fastmcp
- javascript
- mcp
- node.js
- pytest
- python
- react
Log in or sign up for Devpost to join the conversation.