Flashcards, quizzes, and cloze cards with spaced repetition, as an inline MCP App.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
Turn any conversation into an interactive study session, right inside Claude Desktop. Ask Claude to make a deck and it generates the cards, then renders them as an inline review you can click through: flip flashcards, answer multiple-choice quizzes, and fill in cloze blanks. Every answer updates a spaced-repetition schedule, and your results flow back to Claude so it can drill what you missed.
Keywords: Model Context Protocol, MCP server, MCP Apps, Claude Desktop, flashcards, quizzes, spaced repetition, SRS, FSRS, Anki alternative.
Built on the MCP Apps extension (SEP-1865): core MCP spec 2025-11-25 plus the Apps extension 2026-01-26.
Three ways to study, all rendered inline and all graded the same way:
[...] in a card front and it becomes a cloze card automatically.Spaced repetition: every grade updates a per-card FSRS schedule (via ts-fsrs), so weak cards resurface sooner and due cards come first. Ask "what's due today?" for a summary across all your decks.
Organize with categories: name decks with :: to nest them (e.g. LLM::Attention). Browse the category tree, or the same tree as an interactive mind map, and study a whole branch in one merged session. Quiz decks are flagged with a badge.
Manage your decks: create, append to, edit, rename, and delete decks and cards without leaving the chat. Pass reverse when creating a deck to also drill each card back-to-front (handy for vocabulary).
Just JSON: decks live in data/decks.json, read live on every call. Hand-edit them or let Claude build them. No database, no external service.
| Tool | What it does |
|---|---|
review_deck | Open one deck for review (due cards first). |
study | Review a whole category subtree, merged into one session. |
create_deck | Generate flashcards or cloze cards; reverse also adds back-to-front cards. |
create_quiz | Generate multiple-choice questions. |
grade_card | Record a review result and update the card's FSRS schedule (called by the UI). |
due_today | Summarize what is due across all decks. |
edit_card | Change a card's front and/or back. |
rename_deck | Rename a deck (also moves it in the category tree). |
delete_card | Remove a single card. |
delete_deck | Remove a whole deck. |
Card generation follows Memora's quality rules (atomic single-concept cards, 1-5 word answers, active recall, unambiguous), based on Wozniak's 20 Rules of Formulating Knowledge.
A tool declares a ui:// resource. When Claude calls the tool, the host (Claude Desktop) fetches that resource, renders its HTML in a sandboxed iframe, passes the tool result to the UI, and the UI talks back to the host over JSON-RPC (to grade cards and report progress to the model).
Open Settings > Developer > Edit Config and add Memora under mcpServers:
Then fully quit Claude Desktop (from the system tray) and relaunch. memora appears under Settings > Developer, pre-loaded with a few sample decks.
Your decks are stored in ~/.memora/decks.json (override the path with the MEMORA_DECKS environment variable). Hand-edit that file or let Claude manage it.
Point the config at the built entry with an absolute path (decks then live in the repo's data/decks.json):
review my World Capitals deckmake me a deck of 10 Spanish travel phrasesmake a reversible deck of 10 Spanish words (drills both directions)make a fill-in-the-blank deck about the water cycle (cloze cards)quiz me with 10 multiple-choice questions on the solar systemturn what we just discussed into a deck called "Photosynthesis"study my LLM categorywhat's due today?@modelcontextprotocol/sdk plus @modelcontextprotocol/ext-apps, stdio transport (Streamable HTTP also available).vite-plugin-singlefile.ts-fsrs (FSRS).node once built (no bun or tsx needed).~/.memora/decks.json when installed (or data/decks.json from source); override with MEMORA_DECKS.create_deck, create_quiz, and grade_card write here atomically."options": ["...", "..."]; its back is the correct option.[...] in the front, with the hidden term as the back.due date and an FSRS srs block as you review them; cards without them are treated as new.For fast local iteration you can also run the app against the MCP Apps reference host (basic-host) from the ext-apps repo.
See TODO.md for the backlog: npm + MCP Registry publishing, cross-client hosting (Streamable HTTP), tests around parsing and scheduling, and a real screen-capture demo GIF.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/memora)<a href="https://allmcps.com/mcp/memora"><img src="https://allmcps.com/api/badge/memora?style=directory" alt="Memora on AllMCPs" /></a>