Inspiration

Students juggle assignment deadlines, revision and focus time across many apps, and typing into yet another app is exactly what we skip when we're busy. Talking is the lowest-friction way to capture a deadline or revise on the go, so I wanted a study assistant that lives in a voice assistant. [Add one sentence about your own experience as a student here.]

What it does

StudyPilot is a voice-first study assistant, built as an MCP server for the Alexa+ track. It exposes five tools:

  • add_deadline: save an assignment or exam deadline ("add deadline DBMS assignment due Friday")
  • whats_due: hear your next three deadlines, soonest or overdue first
  • plan_study_session: split a time window into 25-minute focus blocks with short breaks
  • add_flashcard: save a question and answer
  • quiz_me: get asked a random flashcard question, then answer by voice and get checked

Every reply is short and made to be spoken aloud, and the assistant offers more detail instead of reading long lists. Errors and empty states give clear spoken messages and never invented data.

How I built it

  • MCP server: Node.js with the official MCP TypeScript SDK, using the Streamable HTTP transport in stateless mode.
  • Validation and safety: zod schemas on every tool input, bearer-token authentication, a per-IP rate limit, and a request size limit. Secrets live in environment variables only.
  • Simulated Alexa+ client: a web page with microphone input (Web Speech API) and spoken replies, which calls the MCP server over real HTTP and shows which tool was called with which arguments. It uses simple rule-based routing, not an AI model, so it only stands in for Alexa+'s own language understanding.
  • Testing: 11 automated tests using the official MCP client cover the tool list, success and error paths, input validation, authentication and the end-to-end simulator flow.
  • Packaging: a Dockerfile for deployment.

Challenges I ran into

  • Writing responses that sound natural when spoken: short sentences, no tables, and an offer to continue instead of reading everything out.
  • Handling multi-turn state for the quiz, where the spoken answer has to be matched to the question that is currently open.
  • Keeping the server stateless while still remembering each user's deadlines and flashcards.

Accomplishments that I'm proud of

A working MCP server with tests that pass, clear error handling, and a demo that shows tool calls happening live.

What I learned

How MCP tools should be described and designed for an LLM or voice agent, and how voice interfaces change what a good response looks like.

What's next for StudyPilot

  • Connect it to real Alexa+ once preview access is set up
  • Replace the file-based store with a database
  • Calendar sync and reminders
  • Spaced-repetition scheduling for flashcards

Limitations

The Alexa+ side is simulated in this demo unless otherwise stated. The server has been tested with the official MCP client, not with a real Alexa+ device. StudyPilot gives no medical, legal or financial advice.

AI tool disclosure

Built with Claude (Anthropic) for code generation and review. I reviewed and ran the code myself.

Built With

Share this project:

Updates

Submission history