Skip to main content
Glama

Study Pilot — an Alexa+ study planner that remembers

Track: Alexa+ (self-hosted MCP server) · MCP spec: 2025-11-25 · Transport: Streamable HTTP

Students tell Alexa about their exams once. Study Pilot remembers the exams, syllabus topics and every study session across conversations, and answers the question students actually ask every day: "I have an hour — what should I study?"

What it does

Tool

What you'd say to Alexa+

What happens

add_exam

"My Calculus exam is on 16 November: limits, derivatives…"

Saves the exam and its topics

log_study_session

"I did 45 minutes of Calculus and finished limits"

Logs time, ticks off the topic

what_should_i_study

"I've got an hour, what should I study?"

Picks the most urgent subject + topic

plan_revision

"Plan the next 5 days, 2 hours a day"

Day-by-day timetable in 15-min blocks

progress_report

"How am I doing?"

Days left, topics done, minutes studied

remove_exam

"Remove Physics, the exam's over"

Deletes it (marked destructiveHint)

Every tool returns structured output plus a short speech field written to be read aloud. Also exposes a resource (studypilot://exams) and a prompt (daily_checkin).

How "what should I study" decides

urgency = (topics left + 1) / (days left + 1) / (1 + minutes studied in last 3 days / 60)

More topics left and fewer days left push a subject up; studying it recently pushes it down, so subjects rotate. In plan_revision, the day before an exam is reserved entirely for that subject.

Related MCP server: Syllabuddy

Run it (Python 3.10+)

python -m venv .venv
# Windows: .venv\Scripts\activate      macOS/Linux: source .venv/bin/activate
pip install -r requirements.txt

python server.py --reset        # server at http://127.0.0.1:8000/mcp

In a second terminal (same venv):

python demo_alexa.py            # simulated Alexa+ conversation against the real server

Health check: http://127.0.0.1:8000/health. Change host/port with the HOST and PORT environment variables. Data is stored in data/study_data.json (override with STUDY_PILOT_DATA).

Connect any MCP client

Point a Streamable HTTP MCP client at http://127.0.0.1:8000/mcp. For example, with MCP Inspector:

npx @modelcontextprotocol/inspector
# Transport: Streamable HTTP, URL: http://127.0.0.1:8000/mcp

About the demo

Alexa+ turns speech into MCP tool calls. demo_alexa.py plays that orchestrator role with scripted turns so judges can see each tools/call and the spoken reply. The server is real: it negotiates protocol 2025-11-25 and the second conversation opens a new MCP session to show that memory survives across sessions.

Files

  • server.py — the MCP server (tools, resource, prompt, health route, JSON storage)

  • demo_alexa.py — simulated Alexa+ conversation using the official MCP Python client

  • requirements.txt — pinned mcp[cli]==1.30.0

License

MIT

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables students to ask by voice whether a specific topic is examinable on their exam — the digital SAT and PSAT, ACT, 24 AP courses, Alberta Diploma, and Singapore-Cambridge A-Level — returning the official syllabus's own wording, objective codes, and quoted exclusions rather than a guess. It also remembers which exams a student is taking and when, quizzes them on objectives, and reports weakest topics and days remaining for revision.
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    Enables AI apps to turn exam dates and available study hours into day-by-day study plans, spaced repetition review dates, pomodoro work/break schedules, and dated milestones for large assignments. All date math is computed by tested code rather than guessed by the model, running locally with no account or network needed.
    11
    96 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables a voice assistant to quiz users on flashcards, grade answers, score spoken teach-back explanations, and schedule reviews with SM-2 while returning speech-ready responses.
    1
    MIT