关于 Anki MCP
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
25收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| operation | enum | 是 | 要执行的闪卡操作create | create_batch | update | delete | find | get_info | add_tags | remove_tags | clear_empty |
| deckName | string | 否 | 牌组名称(用于创建操作) |
| modelName | string | 否 | 笔记类型/模型名称(用于创建操作) |
| fields | object | 否 | 用于创建/更新的字段名-值对 |
| tags | array | 否 | 要添加、移除或设置的标签 |
| notes | array | 否 | 要创建的备注数组(用于 create_batch) |
| noteId | number | 否 | 备注 ID(用于更新/删除单条备注) |
| noteIds | array | 否 | 备注 ID(用于批量删除) |
| query | string | 否 | Anki 搜索查询(用于 find 操作) |
| includeDetails | boolean | 否 | 包含备注详细信息(用于 find) |
| limit | number | 否 | 返回结果的最大数量(默认值:50,建议设置以防止上下文溢出) |
| offset | number | 否 | 分页时要跳过的结果数量(默认值:0) |
| cardIds | array | 否 | 要获取信息的卡片 ID |
详细介绍
🧠 Anki MCP
借助 AI,焕新你的 Anki 闪卡体验!这个 MCP(Model Context Protocol) 服务将你的 Anki 闪卡收藏与 Claude 等 AI 助手连接起来,让你能围绕学习材料进行自然对话。
🚀 你可以做什么?
想象一下,拥有一位了解你全部闪卡收藏的 AI 家教,它可以:
📚 互动式学习
- “考考我 3 天没见过的日语词汇。”
- “测试我医学牌组中的难题卡片。”
- “展示我最近一直难以掌握的卡片。”
✨ 智能内容创作
- “制作关于光合作用并带有图示的闪卡。”
- “将这份 PDF 章节转换成间隔重复卡片。”
- “根据我的讲义笔记生成填空删除卡片。”
🔍 强大的分析功能
- “我最难掌握哪些主题?”
- “展示我上个月的学习规律。”
- “不同卡片类型的记忆保留率是多少?”
🎯 批量操作
- “为我所有的化学卡片添加 ‘exam-prep’ 标签。”
- “将记忆保留率较低的卡片移到强化复习牌组。”
- “查找并修复不同牌组中的重复卡片。”
🎯 功能特性
- 🎯 智能工具设计:专为 AI Agent 打造的直观、高层级工具
- 💬 自然对话:像和学习伙伴聊天一样,与 Claude 讨论你的闪卡
- ⚡ 极速响应:高效操作,不会拖慢你的 AI 助手
- 📦 批量操作:通过简单命令一次更新数千张卡片
- 📊 学习洞察:深入分析你的学习进度和规律
- 🎨 丰富媒体:全面支持卡片中的图像、音频及其他媒体
- 🔍 强大的搜索功能:通过自然语言使用 Anki 的高级搜索语法
- 🔒 稳定可靠:使用完整类型的 TypeScript,并提供全面的错误处理
🛠 技术栈
- Node.js:运行时环境(需要 18+)
- TypeScript:类型安全和开发体验
- MCP SDK:Model Context Protocol 实现
- yanki-connect:🙏 类型完整、同构的 AnkiConnect API 客户端
- tsup:快速的 TypeScript 打包工具
- PNPM:高效的包管理器
特别感谢 yanki-connect 库提供强大的 AnkiConnect 接口,为此集成提供支持!
📋 前置条件
1. 安装 Anki
如果你尚未安装,请下载并安装 Anki。
2. 安装 AnkiConnect 插件
- 打开 Anki
- 前往 工具 → 插件
- 点击 获取插件...
- 输入代码:
2055492159 - 重启 Anki
**📋 版本要求:**此服务需要 AnkiConnect 版本 25.2.25.0 或更高版本(于 2025-02-25 发布),才能完全兼容。大多数功能可在较旧版本中使用,但我们建议更新以获得最佳体验。
3. 配置 AnkiConnect(可选)
AnkiConnect 开箱即用,但你可以自定义设置:
- 前往 工具 → 插件
- 选择 AnkiConnect 并点击 配置
- 默认设置通常适用于大多数用户
🚀 快速开始
选项 1:与 Claude Desktop 配合使用(推荐)
-
安装软件包
npm install -g @arielbk/anki-mcp -
配置 Claude Desktop
编辑 Claude Desktop 配置文件:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:%APPDATA%\Claude\claude_desktop_config.json添加以下配置:
{ "mcpServers": { "anki": { "command": "anki-mcp", "args": [] } } } -
重启 Claude Desktop
-
开始使用!
- 确保 Anki 正在运行,并已启用 AnkiConnect
- 向 Claude 提问:“Show me my Anki decks” 或 “Quiz me with 5 cards”
💡 专业提示: 你可以向 Claude 提出简单问题来测试设置,例如 “How many Anki decks do I have?” 或 “What's in my largest deck?”
选项 2:开发环境设置
-
克隆代码库
git clone https://github.com/arielbk/anki-mcp.git cd anki-mcp -
安装依赖项
pnpm install -
构建项目
pnpm build -
测试服务
# Use the MCP inspector to test functionality pnpm inspect
选项 3:与其他 MCP 客户端配合使用
此服务适用于任何兼容 MCP 的客户端。你也可以将其用于:
- MCP Inspector:交互式调试工具
- Cline:用于 AI 编码的 VS Code 扩展
- 自定义 MCP 客户端:使用 MCP SDK 构建自己的客户端
对于 stdio 传输,运行:
node dist/index.js
对于 localhost HTTP(Streamable HTTP)传输,运行:
node dist/index.js --http --host=127.0.0.1 --port=3000
# The MCP endpoint will be at http://127.0.0.1:3000/mcp
支持 Streamable HTTP 的客户端可以直接连接。旧版 SSE 客户端仍可能通过客户端回退机制正常工作。
🎮 使用示例
在 Claude Desktop 中完成配置后,你可以进行如下自然对话:
📖 学习会话
You: "I have a Japanese exam tomorrow. Can you quiz me on Hiragana cards I haven't reviewed in a week?"
Claude: I'll find your Hiragana cards that need review and start a quiz session...
📝 内容创建
You: "Create flashcards for the major battles of World War II with dates and significance"
Claude: I'll create comprehensive flashcards covering the key WWII battles...
📊 学习分析
You: "How am I doing with my medical terminology deck? Show me my weak areas."
Claude: Let me analyze your performance on the medical terminology deck...
🏷️ 整理
You: "Tag all cards about cardiovascular system with 'cardiology' and move them to my MCAT prep deck"
Claude: I'll help you organize those cards...
🔧 可用工具
此服务提供 7 个直观的工具,涵盖你所需的一切:
📝 管理闪卡
创建、更新、删除和搜索闪卡。非常适合内容创建、批量更新和整理。
🎯 学习会话
开展交互式测验、管理卡片的复习计划,并跟踪需要复习的卡片。
📚 管理牌组
创建和整理牌组、移动卡片以及配置牌组设置。
📊 获取分析数据
深入了解学习统计数据、复习历史和学习模式。
🎨 管理模型
自定义笔记类型、添加字段、修改模板以及设置卡片样式。
🔧 Anki 操作
处理同步、媒体文件、导入/导出及其他实用操作。
🖼️ 获取媒体文件
从 Anki 收藏中获取媒体文件(图片、音频等)。AI 助手可以直接分析图片(但图片不会显示在 UI 中)。
💡 专业提示: 许多操作都支持分页,以避免占用过多上下文窗口。处理大量结果时,请使用
limit和offset参数。
🛠 开发
# Run in development mode with auto-reloading
pnpm dev
# Lint the code
pnpm lint
# Format the code
pnpm format
# Test with MCP inspector
pnpm inspect
🔧 配置
AnkiConnect 设置
此服务默认连接到 localhost:8765 上的 AnkiConnect。如果你自定义了 AnkiConnect 配置,可能需要调整连接设置。
重要:使用 MCP 服务前,请确保 Anki 正在运行且已安装 AnkiConnect。如果无法访问 AnkiConnect,服务将无法连接。
💡 注意: 底层的 yanki-connect 库支持在 macOS 上自动启动 Anki,但此功能目前未在 MCP 服务配置中开放。你需要手动启动 Anki。
Claude Desktop 高级配置
对于高级用户,可以传入其他参数:
{
"mcpServers": {
"anki": {
"command": "anki-mcp",
"args": ["--verbose"],
"env": {
"ANKI_CONNECT_HOST": "localhost",
"ANKI_CONNECT_PORT": "8765"
}
}
}
}
故障排除
常见问题:
- “Failed to connect to AnkiConnect”:确保 Anki 正在运行且已安装 AnkiConnect 插件
- “No decks found”:确保 Anki 中至少有一个牌组
- Claude 没有响应:更改配置后重启 Claude Desktop
- 权限错误:使用
npm list -g @arielbk/anki-mcp检查全局 npm 安装是否成功
🤝 贡献
欢迎参与贡献!请:
- Fork 此代码库
- 创建功能分支
- 进行更改
- 视情况添加测试
- 提交拉取请求
📜 许可证
MIT - 详情请参见 LICENSE 文件。
🙏 致谢
- yanki-connect - 出色的 AnkiConnect TypeScript 客户端
- AnkiConnect - 让 Anki 自动化成为可能的插件
- Model Context Protocol - 实现无缝 AI 集成
借助 AI 驱动的对话,焕新你的闪卡体验!🚀
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。