← 返回目录
A

Anki MCP Server Addon

社区
将Anki与AI助手无缝集成,通过本地MCP服务器暴露您的卡片集合。
分类
其他 第 106 / 230
Stars
★ 85 热门
传输方式
Streamable HTTP
运行环境
Node.js · Python 3.10+
凭据
无需凭据
许可证
其他 / 未声明
最近提交
工具数
41
55FMRS · C

AnkiMCP Server是一个功能强大的Anki插件,通过MCP协议将Anki与AI助手连接,提供丰富的工具和安全性措施。它适合希望利用AI提升学习的用户,但需要一定的技术配置。

最强项 · 文档质量 16/20 最弱项 · 可靠性 6/20

可靠性
6/20
安全与权限
11/20
维护活跃度
9/20
文档质量
16/20
安装易用性
13/20
查看各项评分依据
可靠性 6/20
提供的材料中没有源代码、测试或 CI 工作流文件,因此无法核实运行时行为、MCP 初始化与工具列表握手,以及工具声明与真实实现是否一致。README 描述了连贯的架构和大量工具清单,但按证据规则,README 不能作为行为证据。扣分点:首次运行需从 PyPI 下载 pydantic_core(启动路径存在外部依赖)、要求 Anki ≥25.07 使运行环境矩阵变窄、清单版本 0.19.0 与 README 中 Nix 示例 0.20.0 不一致,存在版本漂移。happy path 看似可行,但缺乏可验证的执行证据。
安全与权限 11/20
未发现红线问题:安装示例中没有真实令牌,没有窃取凭据或隐蔽外传行为,数据流(经 WebSocket 中继到 tunnel.ankimcp.ai、凭据存于 user_files/credentials.json)有明确披露且为可选启用。README 描述了较周到的安全设计:默认仅回环绑定、DNS 重绑定白名单、可选 Bearer API 密钥、CORS 独立分层、破坏性工具默认隐藏、媒体导入的 SSRF/路径穿越校验,并披露了已报告的漏洞。扣分点:以上均无源码可验证;delete_notes 等可改变状态的工具默认对 AI 客户端开放且未提及确认提示;API 密钥仅覆盖 HTTP 传输,隧道认证委托给第三方中继。分数反映“主要风险可见,实现无法验证”。
维护活跃度 9/20
仓库未被归档、开放 issue 数量少,但提供材料中没有提交历史、发布节奏、issue 响应记录或 CI 配置。Star 数仅为发现信号,不计分。扣分点:清单中许可证为 NOASSERTION(README 声称 AGPL-3.0-or-later,但仓库元数据未确认);清单版本 0.19.0 与 README 中 Nix 示例 0.20.0 不一致;除零星的漏洞致谢外,没有文档化的安全响应渠道。看似活跃,但存在治理与版本管理缺口。
文档质量 16/20
待评审的文档本体(README)质量较高:分层安装路径(AnkiWeb、GitHub Releases、NixOS flake)、主流客户端配置示例(Claude Desktop、Claude Code、opencode)、带示例的完整配置参考、安全加固章节、工具/资源/提示词清单、环境要求与架构说明。限制条件也有披露(不支持 Python 3.9、首次运行下载 pydantic_core、升级后 DNS 重绑定行为变化、隧道数据流)。扣分点:没有专门的故障排查/FAQ 章节;工具参数停留在表格级而非完整 schema 或示例;与清单的版本不一致在严谨的文档中留下瑕疵。
安装易用性 13/20
主流安装路径清晰且步骤少:输入代码安装插件、重启 Anki、服务器自动启动,再在客户端中注册 HTTP 端点——并提供了确切的配置 JSON。静态校准规定在缺少已提交的 CI/测试证据时 setup 上限为 15 分,而材料中没有这类证据。扣分点:Claude Desktop 需要 npx mcp-remote 的 stdio 桥接而非原生 HTTP;首次运行从 PyPI 下载 pydantic_core,离线时会失败;要求 Anki ≥25.07 收窄了兼容范围;NixOS 路径相对复杂且 hash 为占位符。

静态评测 · 未实际运行收录于 2026-08-07

查看 FMRS 评分方法 →

选型与风险

能访问什么读取本地文件访问网络连接数据库

适合谁

  • 使用Anki进行间隔重复学习并希望利用AI自动化学习流程的用户
  • 需要批量管理卡片、笔记和标签的高级用户
  • 希望将Anki数据集成到AI工作流中的开发者

不适合谁

  • 不需要AI交互且仅希望使用Anki基本功能的普通用户
  • 对技术配置感到不适且希望即插即用的用户
  • 需要官方支持或企业级安全保证的用户

所需权限

  • 读取和修改Anki集合数据(卡片、笔记、牌组、标签)
  • 执行同步操作,与AnkiWeb通信
  • 访问和修改媒体文件(导入、删除)
  • 在Anki界面中执行UI操作(如打开对话框、浏览)

风险与副作用

  • 通过隧道暴露可能增加未经授权访问的风险,但内置DNS重绑定保护和可选API密钥可缓解
  • 破坏性工具(如字段删除)默认隐藏,但用户可选择启用,可能导致数据丢失
  • 媒体文件导入存在路径遍历和SSRF风险,已内置验证,但若配置宽松可能引发安全问题
  • 自动同步可能意外覆盖或修改集合,建议定期备份

安装接入

准备工作

运行环境:Node.js · Python 3.10+

  1. 打开Anki,进入工具→附加组件→获取附加组件...,输入代码124672614并重启。
  2. 或者从GitHub Releases下载anki_mcp_server.ankiaddon并双击安装。
  3. 对于Claude Desktop,在配置文件(如macOS的~/Library/Application Support/Claude/claude_desktop_config.json)中添加MCP服务器配置,使用npx mcp-remote连接http://127.0.0.1:3141。
  4. 对于Claude Code,运行:claude mcp add anki --transport http http://127.0.0.1:3141/。
claude_desktop_config.json
{
  "mcpServers": {
    "anki": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "http://127.0.0.1:3141"
      ]
    }
  }
}

以 Claude Desktop 为例。其他客户端的配置文件位置或字段可能不同(如 VS Code 使用 servers 字段),可用下方配置生成器转换。

.vscode/mcp.json
{
  "servers": {
    "anki": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "http://127.0.0.1:3141"
      ]
    }
  }
}

写入项目的 .vscode/mcp.json(VS Code 使用 servers 字段)。

Terminal
claude mcp add anki -- npx mcp-remote http://127.0.0.1:3141

在终端运行;先把 <…> 占位符换成你自己的值。

验证是否装好

安装并重启 Anki 后,在 AI 客户端的工具列表中应能看到 sync、list_decks、add_note 等工具;用 list_decks 询问牌组列表,若能返回你的牌组即证明连接成功。

常见排障

  1. 首次运行会下载pydantic_core,若失败请检查网络连接并重试
  2. 如果HTTP服务器未启动,检查Anki版本是否>=25.07,并确认配置中http_enabled为true
  3. 若客户端连接失败,确认HTTP端口未被占用,且Host/Origin在允许列表中(启用隧道时)
  4. 查看日志文件(启用log_to_file后)或使用诊断复制按钮收集信息以排查问题

试试这样问

连接成功后,可以直接对 AI 助手这样说:

  • 列出我所有的牌组,并告诉我每个牌组今天有多少张到期卡片。
  • 在默认牌组里帮我加一张卡片:正面是「MCP 是什么?」,背面是「模型上下文协议,一种让 AI 助手连接工具的标准协议。」
  • 搜索所有包含「history」标签的笔记,并把它们都加上「review-later」标签。
  • 给我展示当前卡片的正面,然后帮我评一下这张卡(记为 Good)。

工具能力 41

sync 写入
与AnkiWeb同步集合,支持异步状态和全同步冲突解决
list_decks 只读
列出集合中的所有牌组
create_deck 写入
创建新牌组
find_notes 只读
使用Anki搜索语法搜索笔记
notes_info 只读
获取笔记的详细信息
add_note 写入
向牌组添加新笔记
add_notes 写入
批量添加笔记,最多max_notes_per_batch条
card_management 写入
管理卡片,包括重新定位、移动牌组、搁置/取消搁置、暂停/取消暂停、设置标记、设置截止日期和遗忘卡
展开其余 33 个工具
tag_management 写入
管理标签,包括添加、移除、替换、获取、清除未使用和批量操作
filtered_deck 写入
管理筛选牌组,包括创建/更新、重建、清空和删除
update_note_fields 写入
更新现有笔记的字段
update_notes 写入
批量更新多个笔记的字段,支持部分成功
delete_notes 破坏性
从集合中删除笔记
get_due_cards 只读
获取下一张到期卡片,支持跳过图片/音频
cards_stats 只读
获取牌组(含子牌组)的批量每卡片调度统计
present_card 只读
获取卡片内容用于复习
rate_card 写入
复习后评价卡片(再次/困难/良好/简单)
model_names 只读
列出可用的笔记类型
model_field_names 只读
获取笔记类型的字段名和描述
model_styling 只读
获取笔记类型的CSS样式
update_model_styling 写入
更新笔记类型的CSS样式
model_templates 只读
读取笔记类型中每种卡片类型的前/后HTML模板
update_model_templates 写入
更新前/后模板HTML
model_fields 写入
管理笔记类型字段,包括添加、重命名、重新定位和删除(破坏性)
create_model 写入
创建新的笔记类型
store_media_file 写入
通过base64、文件路径或URL存储媒体文件,防止路径遍历和SSRF
get_media_files_names 只读
列出匹配模式的媒体文件
delete_media_file 破坏性
将媒体文件移动到Anki的回收站
get_fsrs_params 只读
获取牌组预设的FSRS调度参数
set_fsrs_params 写入
更新FSRS参数(权重、期望保留率、最大间隔)
get_card_memory_state 只读
获取卡片的FSRS记忆状态(稳定性、难度、可提取性)
optimize_fsrs_params 写入
使用Anki内置优化器运行FSRS参数优化
gui_browse 写入
打开卡片浏览器并执行搜索查询
gui_add_cards 写入
打开添加卡片对话框
gui_edit_note 写入
打开特定笔记的编辑器
gui_current_card 只读
获取当前显示的卡片信息
gui_show_question 写入
显示当前卡片的问题面
gui_show_answer 写入
显示当前卡片的答案面
gui_select_card 写入
在复习器中选择特定卡片
gui_deck_browser 写入
导航到牌组浏览器
gui_undo 写入
撤销上一个操作

使用场景

通过AI助手进行智能复习会话,包括交互式、快速和语音模式
批量创建和编辑卡片、笔记和标签
分析卡片统计数据和FSRS调度参数
通过GUI工具控制Anki界面,如浏览、添加和编辑卡片
通过远程隧道在外出时访问您的卡片集合

支持客户端

Claude Desktop
Claude Code
OpenCode

依据项目文档列出,未经本站实测。

详细介绍

AnkiMCP Server是一个Anki插件,它在Anki内部运行一个本地MCP服务器,允许AI助手(如Claude)通过模型上下文协议(MCP)与您的卡片集合交互。该插件支持本地HTTP服务器和远程隧道,提供多种工具管理卡片、笔记、标签、模型和媒体文件,并支持FSRS调度参数和GUI交互。

同类可选方案

BioMCP 75 · B

统一的命令行语法,接入约30个可信生物医学数据源。

★ 654 · 工具数 11 与当前对比 →

源版本 b67c914b4560 数据同步于 2026-10-12 查看 FMRS 评分方法