Recall MCP
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., "@Recall MCP make flashcards for these 20 CET-4 words in a new deck called cet4"
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-mcp
给 AI agent 用的间隔重复记忆卡片工具。 一个零依赖的 MCP 服务器:让 Claude Code、Cursor、Codex 等编程 agent 直接帮你建卡、复习、按 SM-2 算法排下一次出现的时间。数据存在本地单个 SQLite 文件里,不联网、不花钱、没有账号。
A zero-dependency MCP server for spaced-repetition flashcards. Pure Python standard library — SM-2 scheduling, SQLite storage, no SDK, no network, no cost.
为什么做这个
背单词、记概念,最难的不是记,是知道今天该复习哪些。间隔重复算法(SM-2,SuperMemo 提出、Anki 沿用)按你的遗忘曲线排复习节奏。这个项目把这套算法包成 MCP 工具,agent 就能:
把你随手丢给它的单词、知识点做成卡片
每天告诉你哪些卡到期了
按你的评分(0–5)算好每张卡下次出现的日子
服务器只用 Python 标准库手写了 MCP 的 stdio 协议部分,没有第三方依赖,Python 3.10+ 任何环境都能跑——顺便也适合拿来读:一个最小可用的 MCP 服务器到底长什么样,这里就是完整答案。
Related MCP server: flashcard-mcp
快速开始
git clone https://github.com/mindnext-ai/recall-mcp.git
cd recall-mcp
pip install .把服务器注册到你的 agent(Claude Code / Cursor / Codex 等 MCP 客户端通用格式):
{
"mcpServers": {
"recall": {
"command": "python",
"args": ["-m", "recall_mcp"],
"env": { "RECALL_MCP_DB": "~/.recall-mcp/recall.db" }
}
}
}然后就可以对 agent 说:「把这 20 个四级单词做成卡片放进 cet4 牌组」「今天有哪些卡要复习」「这张卡我完全忘了,评 1 分」。
MCP 工具一览
工具 | 作用 |
| 新建牌组 |
| 列出牌组及卡片数、今日到期数 |
| 加一张卡(正面问题、背面答案) |
| 列出牌组里的卡 |
| 取今天到期的卡(可跨牌组) |
| 记录一次复习评分(0–5),SM-2 自动排期 |
| 牌组统计:总数、到期、新卡、平均难度系数 |
| 删卡 |
命令行(给人用的)
同一个数据库还有一套 CLI,不通过 agent 也能用:
recall deck create cet4 --description "四级词汇"
recall card add cet4 --front "abandon" --back "v. 放弃;抛弃"
recall import cet4 examples/cet4_sample.json # 附带 20 个四级词示例
recall due
recall review 3 5 # 卡片 id 3,评分 5
recall stats cet4SM-2 排期规则
评分 ≥ 3 算记住:间隔依次为 1 天、6 天、之后按
上次间隔 × 难度系数增长评分 < 3 算忘记:回到 1 天后重来,难度系数下调
难度系数(ease factor)随评分浮动,下限 1.3,答得越稳间隔拉得越长
实现在 recall_mcp/sm2.py,是纯函数,配有单元测试。
项目结构
recall_mcp/
server.py MCP 服务器(stdio JSON-RPC,标准库手写协议)
store.py SQLite 存储层
sm2.py SM-2 算法
cli.py 命令行界面
examples/ 示例牌组与客户端配置
tests/ 单元测试 + 协议级端到端测试测试
python -m unittest discover -s tests -v协议
MIT
Available Tools
8 toolsadd_cardB
Add a flashcard to a deck. New cards are due immediately.
Inputs: back (required), deck (required), front (required), tags.
create_deckC
Create a new flashcard deck.
Inputs: name (required), description.
deck_statsB
Statistics for one deck: total cards, due today, new cards, average ease factor.
Inputs: deck (required).
delete_cardC
Delete a card by id.
Inputs: card_id (required).
due_cardsA
Get cards due for review today, oldest due first. Omit deck to get due cards across all decks.
Inputs: deck, limit.
list_cardsC
List cards in a deck.
Inputs: deck (required), limit.
list_decksB
List all decks with card counts and how many cards are due today.
Inputs: no named parameters.
review_cardA
Record a review of a card and schedule its next appearance with the SM-2 algorithm. Grade 0-5: 5 perfect recall, 3 barely recalled, below 3 forgotten.
Inputs: grade (required), card_id (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 8 tools
Most tools are cleanly separated by resource and action: deck creation/listing, card add/list/delete, due-card retrieval, and review recording each have a distinct purpose. The main soft spot is list_decks vs deck_stats, which both surface counts and due-today numbers, and list_cards vs due_cards, which could be confused at a glance, though the descriptions resolve both.
Seven of eight names follow a predictable verb_noun snake_case pattern (list_decks, create_deck, add_card, list_cards, review_card, delete_card). The two noun-only names, due_cards and deck_stats, deviate from that pattern but remain readable and unambiguous.
Eight tools is well within the ideal range and every one earns its place: deck management, card management, review scheduling, and stats. Nothing feels redundant or missing at the structural level.
The review lifecycle is fully covered (add -> due -> review -> reschedule -> delete), but deck management is incomplete: there is no delete_deck or rename/update_deck, and cards cannot be edited after creation. An agent asked to rename a deck, remove a deck, or fix a typo in a card would hit a dead end.
Maintenance
Related MCP Connectors
Build and study spaced-repetition flashcards with your agent.
Spaced-repetition flashcards your AI writes, quizzes you on by voice, and schedules with FSRS.
Build study flashcards and exam-prep decks from your AI chat, all stored locally.
Spaced-repetition flashcards in Markdown: create cards, manage decks and study with FSRS.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables agents to perform spaced-repetition learning with FSRS scheduling, including adding cards, reviewing due cards, and grading recall, using a headless SQLite or Postgres backend.92MIT
- AlicenseNot gradedqualityCmaintenanceA lightweight MCP server that adds spaced-repetition flashcards (SM-2) to AI assistants, storing data locally in SQLite and enabling card creation, review, and scheduling.MIT
- AlicenseAqualityDmaintenanceProvides spaced-repetition scheduling with the SM-2 algorithm as MCP tools, enabling agents to manage review items like flashcards or vocab locally. It supports adding, grading, and listing due items, plus optional pro features for export and forecast.6MIT
- AlicenseNot gradedqualityBmaintenanceEnables an AI assistant to create, search, and manage locally stored spaced-repetition flashcards, quiz users in chat with front-only prompts, and grade their answers using SM-2 scheduling.MIT