
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 分