
Vocabit
io.github.JohnBilousov由 GitHub 账号 JohnBilousov 发布v0.1.3更新于 Oct 24, 2026
Create flashcard sets in the Vocabit app and read back how the learner actually did.
概览
把助手连接到 Vocabit 闪卡应用,可将学习卡片组发布到学习者手机,并读回其真实学习表现。
- 可以做什么
- 检查连接状态以及服务器当前运行模式
- 创建、列出、读取和更新学习卡片组,并返回可在设备上打开该组的深链接
- 读取每张卡片的结果:困难卡、未触及卡、到期卡、复习次数与完成情况
- 通过 Telegram 通知学习者有新的卡片组待学
- 删除卡片组,同时保留学习历史
- 以可列出的资源形式提供卡片组,并提供走完整学习闭环的提示词
- 适用场景
- 适合让助手把某个主题做成闪卡,由真实学习者在 Vocabit 应用中学习,再依据应用的间隔重复结果来调整下一组卡片,而不是凭空猜测。在还没有后端或凭据时,可用演示模式先体验完整闭环。
- 运行要求
- 通过 npx 在本地运行,需要 Node.js。实时模式需要一个启用了 agent API 的 Vocabit 后端:VOCABIT_BASE_URL 与 VOCABIT_AGENT_KEY(以 X-Agent-Key 发送)。可选:VOCABIT_USER_ID、语言默认值、VOCABIT_TELEGRAM_ID、VOCABIT_TIMEOUT_MS。两者都不设置则进入演示模式;只设置其中一个会拒绝启动。
安装
在 SourceWeft 中
- 打开 控制台中的 Vocabit,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
vocabit-mcp
An MCP server for Vocabit, a flashcard app. It lets an AI assistant write a study set into a real app on a real phone, and then read back how the learner actually did with it.
Most MCP servers read from an API. This one closes a loop:
The interesting tool is not create_study_set — anything can generate flashcards.
It is get_set_results: which cards the learner marked hard, which they never reached,
how many reviews each one took. The next set is built out of that, not out of a guess.
Try it in 30 seconds
No backend, no account, no API key:
Demo mode runs the same server against an in-memory Vocabit with two seeded sets. Create a set, ask for results, and a deterministic stand-in learner will have worked through it — flagged in the response as simulated, so it is never mistaken for real data.
To poke at it with a UI:
Install
Listed in the MCP Registry as io.github.JohnBilousov/vocabit-mcp, so clients that read the registry can find it on their own.
Claude Code
Claude Desktop / any MCP client
Drop the env block to run in demo mode.
Tools
Also exposed: the vocabit://set/{setId} resource (a set as JSON, listable) and a
study-session prompt that walks the whole loop.
Card states
Progress comes from the app's spaced-repetition engine, not from the assistant:
A set reports completed: true once no card is left in new.
Live mode
Point the server at a Vocabit backend that has the agent API enabled:
Set neither URL nor key and the server starts in demo mode. Set exactly one and it refuses to start — half a configuration is a mistake, not a hint.
Design notes
Demo mode is a first-class client, not a stub. HttpVocabitClient and
DemoVocabitClient implement the same VocabitClient interface, so no tool has a
branch for "are we pretending?". A reviewer can run the server before they have
credentials, and the test suite exercises the real tool surface over a real MCP
transport rather than mocking the SDK.
Errors are recoverable, not fatal. A failed call comes back as isError with the
backend's own message plus a hint aimed at the model — 404 says "call
list_study_sets to see which sets exist", 401 says "or run with VOCABIT_DEMO=1".
Mutually exclusive arguments are rejected with an explanation instead of a guess.
Output schemas stay loose on the edges. Identifying fields are required; everything else is optional, so a backend that grows a field does not turn a working tool into a validation error.
Annotations are honest. delete_study_set is marked destructiveHint, the read
tools readOnlyHint. notify_learner messages a real person, and its description says
to use it sparingly.
Development
CI runs typecheck, lint, format:check, test, and build on every push and pull request.
Releasing
Publishing uses npm's trusted publishing (OIDC) —
no NPM_TOKEN secret, nothing that can leak or expire. One-time setup on npmjs.com, under the
package's Settings → Trusted publishing → GitHub Actions: organization JohnBilousov, this
repository, workflow filename publish.yml.
To cut a release: bump the version in package.json, server.json, and VERSION in
src/server.ts together (a test asserts they can't drift), commit, push, then publish a GitHub
Release with a matching vX.Y.Z tag. That triggers
.github/workflows/publish.yml, which runs the test suite and
publishes to npm with provenance — the
package page shows a verified link back to this exact commit and workflow run, not just a name on
the registry.
Roadmap
- Streamable HTTP transport alongside stdio
- Multi-learner support without a backend default UID
- Audio pronunciation cards
License
MIT © Ivan Bilousov
来源:README.md,提交 b0bc8fd
工具
0版本历史
1- v0.1.3最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分