Recall
Provides a spaced-repetition tutor for Alexa+ by exposing MCP tools for adding flashcards, fetching due cards, grading answers, managing concepts, scoring spoken teach-back explanations, and summarizing study progress.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Recallquiz me on my due flashcards"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Recall: a spaced-repetition tutor for Alexa+ (MCP server)
Recall gives a voice assistant a memory it can't fake. You study by talking: the assistant quizzes you, grades your answers, and asks you to explain concepts in your own words (teach-back). A self-hosted MCP server owns the scheduling, so "what's due tomorrow?" is answered from real data instead of a guess.
Built for the Alexa+ track of the Amazon Developer Hackathon.
Why an MCP server
A chat model can't reliably remember what you studied last Tuesday or when a
card is next due. Recall keeps that state on the server and exposes it as MCP
tools. Every tool returns a short speech string (written to be said aloud)
plus structured data.
flowchart LR
U[You: voice or text] --> P[Simulated Alexa+ page]
P --> A[simulator.py: agent + MCP client]
A -->|MCP, Streamable HTTP| M[server.py: Recall MCP server]
M --> C[core.py: SM-2 scheduling + teach-back scoring]
C --> D[(SQLite: recall.db)]Related MCP server: Flashcard MCP
What it does
Tool | Purpose |
| Add flashcards (question and answer) to a deck |
| Get the next card that is due today |
| Record how well you recalled it ( |
| Add a concept with key points to explain aloud |
| Score a spoken explanation against the key points, then reschedule |
| Cards due, reviewed today, mastered, and day streak |
| Demo only ( |
Scheduling uses the SM-2 algorithm. Teach-back checks which key points your explanation covered and turns the coverage into a review rating.
How it uses the Alexa+ technology
server.pyis a self-hosted MCP server over Streamable HTTP (endpoint/mcp), built with the official Python SDK (mcp1.x,FastMCP).It was checked with MCP Inspector v2.11.0, which negotiated protocol version MCP 2025-11-25.
simulator.pyis an MCP client plus a rule-based agent that stands in for Alexa+, so the whole experience can be shown without a device. It prints every MCP call and its response time live.In the simulator, local tool calls take roughly 10 to 30 ms. A hosted deployment has not been measured yet.
Run it
Requires Python 3.10 or newer.
python -m venv .venv
.venv\Scripts\Activate.ps1 # Windows PowerShell
# source .venv/bin/activate # macOS / Linux
pip install -r requirements.txt
python tests/test_core.py # should end with: 11 passedTerminal 1, the MCP server (the demo flag enables advance_days):
$env:RECALL_DEBUG="1"; python server.py # Windows PowerShell
# RECALL_DEBUG=1 python server.py # macOS / LinuxIt listens on http://127.0.0.1:8787/mcp.
Terminal 2, the simulated Alexa+ page:
python simulator.pyOpen http://127.0.0.1:8000 in Chrome (voice input needs it). Click
Load demo deck, then Quiz me, and answer out loud or by typing.
Other ways to try the server:
python smoke_test.pyruns a scripted client against the running server.Point MCP Inspector (
npx @modelcontextprotocol/inspector) athttp://127.0.0.1:8787/mcpusing the Streamable HTTP transport.
To reset all data, stop the server and delete recall.db.
Project layout
core.py SM-2 scheduling, teach-back scoring, SQLite storage (no MCP code)
server.py the MCP server
simulator.py simulated Alexa+: MCP client, rule-based agent, web backend
index.html the simulator page (voice in and out, live MCP call panel)
smoke_test.py scripted MCP client for a quick check
tests/ unit tests for the scheduler and teach-back
FRICTION.md friction log and product feedbackStatus and limits
Built from scratch during the hackathon submission period (started 17 Oct 2026).
Single user and a local SQLite file. Per-user accounts are the next step before a real multi-user deployment.
The simulator's agent uses simple rules to understand speech. It is a stand-in for Alexa+'s own language understanding, not a replacement for it.
License
MIT. See LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Spaced-repetition flashcards your AI writes, quizzes you on by voice, and schedules with FSRS.
Voice-led, FSRS-scheduled flashcards from YouTube, PDFs, web, or text. Auto-graded quizzes.
- FlipnemOAuthcom.flipnem
Build and study spaced-repetition flashcards with your agent.
- LexicaOAuthcom.uselexica
Language flashcards in your AI assistant: build decks, edit cards and review what's due in the chat.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceImplements cognitive science-backed interleaved learning techniques to create study plans, generate mixed-topic quizzes, manage flashcard decks, and track learning progress for optimal knowledge retention.1-
- AlicenseNot gradedqualityCmaintenanceEnables users to create, review, and manage flashcards using the SM-2 spaced repetition algorithm for optimized learning. It supports organizing cards into projects and automatically handles review scheduling based on user performance.9 npm2MIT
- AlicenseNot gradedqualityBmaintenanceEnables voice-native spaced repetition for Alexa+ by quizzing users aloud and grading spoken answers for meaning, allowing hands-free review while cooking, driving, or doing other tasks.MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI clients to create spaced-repetition flashcards from material being learned, quiz users aloud, grade answers, and schedule reviews using the FSRS algorithm through a self-hosted MCP server.3AGPL 3.0