Inspiration

At a crowded heritage site, a visitor may be carrying bags, keeping up with family, or navigating somewhere unfamiliar. Pulling out a phone to read long pages is not always practical. We wanted visitors to be able to ask for useful travel help naturally, including accessibility information and urgent guidance.

What it does

Atithi is a voice-first travel companion for visitors to India. It provides guided commentary at heritage sites, nearby-site discovery, traveller reviews, travel and seasonal advice, accessibility information, and emergency guidance. Emergency responses put the number to call first and clearly explain that Atithi does not place the call.

How we built it

We built Atithi as a TypeScript MCP server using the MCP TypeScript SDK. It serves tools and resources over Streamable HTTP, with curated local content for core travel and emergency guidance.

The code also includes optional AWS integrations: DynamoDB for persistent reviews, Bedrock for review summaries and translations, and SNS for confirmed trusted-contact messages. SMS is disabled by default. The local server connects in MCP Inspector. The AWS integrations and deployment template have not yet been tested against a live AWS account, and the Alexa+ add-on has not yet been deployed or tested in its simulator.

Challenges we ran into

A voice response needs to be concise and easy to understand when heard aloud, while still giving enough detail to help. We also designed tours so each request can state the current stop, rather than relying on one server instance to remember the traveller’s progress.

Another challenge is the gap between a working local MCP server and a complete Alexa+ add-on. Public hosting, account linking, manifest assets, and testing in Alexa+ still need to be completed.

Accomplishments that we're proud of

Atithi brings tours, accessibility guidance, traveller reviews, practical travel advice, and emergency information together behind one voice-friendly interface. We’re especially proud that emergency guidance works from local data and clearly tells travellers to contact emergency services themselves.

We also connected the server in MCP Inspector and confirmed that it exposes its tools and resources.

What we learned

Building for voice requires designing for listening, not just reading. Responses need to lead with the most important information, use short sentences, and avoid making travellers interpret structured data.

We also learned to keep model calls away from urgent responses. Atithi’s emergency guidance uses local content, while Bedrock is reserved for optional summaries and translation work.

What’s next for Atithi

Next, we plan to deploy the server to a public HTTPS endpoint, validate the DynamoDB and Bedrock integrations with AWS, and complete Alexa+ account linking and simulator testing. We also want to review translations with fluent speakers and replace general accessibility notes with audited site information and traveller reports.

Built With

Share this project:

Updates

Submission history