← 返回目录
A

ai.ankimcp/anki-mcp-server

社区
用 AI 对话管理 Anki 学习。
GitHub 源仓库 ↗
★ 403 Stars 分类 · 其他 非常热门
62FMRS · C
可靠性
9/20
安全与权限
14/20
维护活跃度
11/20
文档质量
15/20
安装易用性
13/20

基于提供的仓库、清单和 README:这是一个独立的 Anki MCP 集成,使用 MIT 许可证,通过 AnkiConnect 提供 42 个 MCP 工具。清单版本为 0.18.4,README 的当前状态部分写为 0.22.0,版本信息存在不一致。

查看 FMRS 评分方法 →

Anki MCP Server 通过 AnkiConnect 将 Anki 闪卡、牌组、笔记、媒体和复习流程连接到 AI 助手。服务器支持复习、内容管理、模型与模板管理、统计分析及部分 Anki 桌面界面操作。项目处于 Beta 活跃开发阶段,API 和功能可能变化。

工具能力

sync
与 AnkiWeb 同步数据。
get_due_cards
获取待复习卡片,可按牌组筛选。
get_cards
按状态和牌组灵活筛选卡片。
present_card
展示卡片的问题或正面。
rate_card
记录复习评价并安排下一次复习。
listDecks
列出牌组,可附带卡片统计。
deckStats
获取单个牌组的综合统计。
createDeck
创建空牌组,支持最多两级层级。
changeDeck
移动卡片到其他牌组,目标不存在时创建。
addNote
创建单条笔记及其字段和标签。
addNotes
批量创建最多100条共享牌组和模型的笔记。
findNotes
使用 Anki 查询语法搜索笔记。
notesInfo
获取笔记字段、标签和样式等详细信息。
updateNoteFields
更新笔记字段,支持 HTML 并保留样式。
deleteNotes
删除笔记及其关联卡片,需要确认。
getTags
获取集合中的所有标签。
addTags
为指定笔记添加标签。
removeTags
从指定笔记移除标签。
replaceTags
在指定笔记中重命名标签。
clearUnusedTags
删除未被笔记使用的孤立标签。
getMediaFilesNames
列出媒体目录中的文件名,可按模式筛选。
retrieveMediaFile
以 Base64 内容读取媒体文件。
storeMediaFile
从 Base64、绝对路径或 URL 上传媒体。
deleteMediaFile
删除媒体目录中的媒体文件。
modelNames
列出可用笔记类型。
modelFieldNames
获取指定笔记类型的字段名。
modelStyling
获取笔记类型的 CSS 样式。
modelTemplates
获取笔记类型的卡片模板。
createModel
创建带自定义字段、模板和 CSS 的笔记类型。
updateModelStyling
更新笔记类型 CSS,并应用到其所有卡片。
updateModelTemplates
更新卡片模板,并应用到其所有卡片。
addModelField
向笔记类型添加字段。
removeModelField
删除笔记类型字段,需要明确确认。
renameModelField
重命名笔记类型字段。
repositionModelField
调整字段在笔记类型中的位置。
collection_stats
获取所有牌组的汇总统计和分牌组明细。
review_stats
分析复习历史、保留率和学习连续记录。
guiBrowse
打开卡片浏览器并搜索卡片。
guiSelectCard
在卡片浏览器中选择卡片。
guiSelectedNotes
获取当前选中的笔记 ID。
guiAddCards
打开添加卡片窗口并填入预设笔记信息。
guiEditNote
打开指定笔记的编辑器。
guiDeckOverview
打开指定牌组的概览窗口。
guiDeckBrowser
打开牌组浏览器窗口。
guiCurrentCard
获取复习模式当前卡片信息。
guiShowQuestion
显示当前卡片的问题面。
guiShowAnswer
显示当前卡片的答案面。
guiUndo
撤销 Anki 中的上一个操作。

安装接入

先安装 Anki 和 AnkiConnect,并确认 AnkiConnect 使用 http://localhost:8765。安装 Node.js 22.12.0 或更高版本。使用 npx 运行服务器,并将上方配置加入支持 STDIO 的 MCP 客户端;Claude Desktop 也可安装项目发布的 MCPB bundle。

claude_desktop_config.json
{"mcpServers":{"anki-mcp":{"command":"npx","args":["-y","@ankimcp/anki-mcp-server","--stdio"],"env":{"ANKI_CONNECT_URL":"http://localhost:8765"}}}}

选型与风险

适合谁

  • 已使用 Anki 和 AnkiConnect 的个人学习者。
  • 需要 AI 辅导式复习、解释和动态创建卡片的用户。
  • 需要通过 Claude Desktop、Cursor、Cline 或 Zed 使用本地 Anki 的用户。

不适合谁

  • 不使用 Anki 桌面应用或 AnkiConnect 的用户。
  • 需要官方 Anki 支持或官方集成的组织。
  • 只需要纯复习流程的远程用户;GUI 工具面向编辑和创建,不面向复习会话。

所需权限

  • 需要连接配置的 AnkiConnect URL,默认访问本机 http://localhost:8765。
  • 写入操作可创建、修改、移动和删除 Anki 内容;删除工具要求明确确认。
  • 媒体导入可读取指定文件路径或 URL,具体范围受媒体安全配置限制。
  • 启用 AnkiWeb 同步时,Anki 应用会直接与 AnkiWeb 同步。

风险与副作用

  • 项目明确处于 Beta 阶段,API 和功能可能变化。
  • 删除笔记会永久删除其关联卡片;清理未使用标签、删除媒体和字段删除也可能造成数据损失。
  • updateNoteFields 在 Anki 浏览器正在查看该笔记时可能静默失败。
  • ngrok 模式未认证,任何获得 URL 的人都可能访问 Anki;托管 Tunnel 需要登录认证。
  • 远程暴露 HTTP 服务需要正确配置 ALLOWED_HOSTS;错误配置会导致拒绝请求或扩大暴露范围。

常见排障

  1. 确认 Anki 正在运行且 AnkiConnect 已安装。
  2. 检查 ANKI_CONNECT_URL、API 版本、API 密钥和 5000 毫秒默认超时设置。
  3. 确认 Node.js 版本至少为 22.12.0。
  4. STDIO 客户端应使用 --stdio;HTTP 模式默认监听 127.0.0.1:3000。
  5. 更新笔记前关闭 Anki 浏览器中的该笔记,或切换到其他笔记。
  6. 远程或非回环访问时检查 ALLOWED_HOSTS、ALLOWED_ORIGINS 及隧道配置。

使用场景

用自然语言复习指定牌组并记录 Again、Hard、Good 或 Easy 评价。
批量创建带自定义字段、卡片模板和 RTL 样式的词汇卡。
搜索、编辑笔记并管理标签和媒体文件。
查看牌组、集合和复习历史统计。

支持客户端

Claude Desktop完整支持
Cursor IDE完整支持
Cline完整支持
Zed Editor完整支持