Amazon Developer Hackathon 2026 · Build, Ship, Shape Alexa+ trackAWS BuilderOpen Source

Your personal assistant,
on the phone.

CallAssist is an Alexa+ add-on, built as an MCP server, that phones your people for you. Tell Alexa what needs doing. CallAssist calls the right person, hands over the task, gets a yes and a time, follows up, and tells you when it's done.

Demo

See it make the call

Alexa+ hands a task to Raju, his phone rings, he says yes, and Alexa knows. Then a real call over a phone line in India.

The demo video appears here.
Meanwhile, try the live demo: /try

The problem

The people who get things done don't use apps. They answer the phone.

The office pantry, the driver, home help, grandparents. Every day we make the same short calls: "Can you bring the car?", "Set up the room by 3", "Is it done yet?". Each one needs a reminder, a follow-up, and someone to remember the answer. Alexa+ understands the request, but it can't pick up the phone. CallAssist can.

1

You ask Alexa

"Alexa, ask Raju to set up the meeting room by 3."

2

Alexa reads it back

Who, what, when. Nothing happens until you say yes.

3

CallAssist calls

It says it's an AI, explains the task, and gets a clear yes and a time.

4

It follows through

It brings questions back to you, follows up after the deadline, and tells you when it's done.

What you can say

Talk normally. Amazon Nova Pro understands.

The Alexa+ experience uses Amazon Nova Pro on Amazon Bedrock to pick the right CallAssist tool from whatever you say. Common phrases and "yes" take an instant path.

"Get me a coffee.""Could you get me a chai? I'm stuck in a meeting.""Ask Raju to set up the meeting room by 3." "Tell Grandma I'll pick her up at 5 and ask if she needs anything.""Can the driver bring the car round to the front?" "What's pending?""Any update from Raju?""Follow up with the driver.""Tell him it's room 3.""Cancel the coffee."

Hackathon fit

Built for the Alexa+ track, on AWS, in the open

RequirementHow CallAssist meets it
Self-hosted MCP server, Streamable HTTP/mcp: MCP SDK, spec 2025-11-25, negotiates 2025-03-26 for the Alexa+ client. 10 tools for tasks, errands, messages, status, follow-ups and cancelling.✓
MCP Apps (media support)One interactive card, ui://callassist/card.html: read-back with Confirm, live task status, team and errand carousels.✓
Agent Skillskills/callassist/SKILL.md in the open Agent Skills format, also served over MCP as the callassist prompt.✓
Simulated Alexa+ experienceAn Echo Show emulator with account linking, voice in and out (Amazon Polly), the MCP Apps card, a live MCP traffic inspector, and Amazon Nova Pro choosing tools.✓
AWS BuilderEC2 Graviton, CloudFront, Amazon Bedrock, Polly, Transcribe, Amazon Connect, ECR, Secrets Manager, SSM and CloudWatch, all in CloudFormation, deployed by GitHub Actions with OIDC.✓
Open SourceThe whole project on GitHub: server, Agent Skill, SIP bridge, infrastructure and 142 tests.✓

Architecture

One MCP server, any phone line

Alexa+Speech, the language model and the user's yes. OAuth account linking.
→
CallAssist MCP serverEC2 Graviton · Docker · CloudFront HTTPS. Tools, consent, calling hours, follow-ups, confirmation tokens. Voices from Amazon Polly, speech to text from Amazon Transcribe.
→
Phone linesAmazon Connect (US numbers and browser calls) · SIP bridge to Asterisk (India) · demo phones in the browser
Amazon Bedrock · Nova ProAmazon Polly (generative)Amazon TranscribeAmazon ConnectAmazon EC2Amazon CloudFrontAmazon ECRAWS CloudFormationAWS Secrets ManagerAWS Systems ManagerAmazon CloudWatchGitHub Actions + OIDCTrivy · gitleaks · cfn-guardMCP TypeScript SDKMCP AppsAsterisk ARI

Safety

Enforced by the server, not the prompt

Your yes, checked

Each read-back carries a one-time token tied to exactly what was read back. No token, no call, and a retry never calls twice.

Always says it's an AI

Every call starts by saying who it's calling for and that the person can say stop at any time.

Consent on record

When, how, and the exact words agreed to. No record, no call.

Stop means never

"Don't call me again" goes on a timestamped do-not-call list immediately.

Calling hours

8 AM to 9 PM in the called person's time zone. Outside that, the call is scheduled and you're told.

Guarded inputs

What people say on the phone is treated as data, never as instructions. Rate limits and call caps on every endpoint.

Try it

Judge it yourself in 3 minutes

The Try it page puts Alexa+ next to the team's phones, with guided steps. Only demo phones ring there; no real numbers are called.