Anki上下文协议服务器
一种模型上下文协议服务器,使大型语言模型(LLMs)能够通过AnkiConnect与Anki闪卡软件交互,从而实现对闪卡、卡组和笔记类型的创建与管理。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"anki": {
"args": [
"--yes",
"anki-mcp-server"
],
"command": "npx"
}
}
}
可用工具 (10 个)
该服务在 MCP 协议中暴露的工具,AI 可按需调用
list_decks
List all available Anki decks
该工具无需必填参数,直接调用即可
create_deck 1 个参数 需填 1 项
Create a new Anki deck
必填参数:name
create_note 8 个参数 需填 2 项
Create a new note (Basic or Cloze)
必填参数:type、deck
batch_create_notes 2 个参数 需填 1 项
Create multiple notes at once
必填参数:notes
search_notes 1 个参数 需填 1 项
Search for notes using Anki query syntax
必填参数:query
get_note_info 1 个参数 需填 1 项
Get detailed information about a note
必填参数:noteId
update_note 3 个参数 需填 2 项
Update an existing note
必填参数:id、fields
delete_note 1 个参数 需填 1 项
Delete a note
必填参数:noteId
list_note_types
List all available note types
该工具无需必填参数,直接调用即可
create_note_type 4 个参数 需填 3 项
Create a new note type
必填参数:name、fields、templates
服务介绍
Anki MCP 服务器
一个模型上下文协议 (MCP) 服务器,通过 AnkiConnect 使 LLM 能够与 Anki 闪卡软件进行交互。
![]()
功能
工具
list_decks- 列出所有可用的 Anki 卡组create_deck- 创建一个新的 Anki 卡组create_note- 创建一个新的笔记(基础或Cloze)batch_create_notes- 一次性创建多个笔记search_notes- 使用 Anki 查询语法搜索笔记get_note_info- 获取关于某个笔记的详细信息update_note- 更新现有笔记delete_note- 删除笔记list_note_types- 列出所有可用的笔记类型create_note_type- 创建新的笔记类型get_note_type_info- 获取特定笔记类型的详细结构
资源
anki://decks/all- 所有可用卡组的完整列表anki://note-types/all- 所有可用笔记类型的列表anki://note-types/all-with-schemas- 所有笔记类型的详细结构信息anki://note-types/{modelName}- 特定笔记类型的详细结构信息
前提条件
- 系统上安装了 Anki
- 在 Anki 中安装了 AnkiConnect 插件
配置
与 Claude Desktop 一起使用
将服务器添加到您的 claude_desktop_config.json 文件中:
{
"mcpServers": {
"anki": {
"command": "npx",
"args": ["--yes","anki-mcp-server"]
}
}
}
Cline 的配置
在 VSCode 的设置文件 cline_mcp_settings.json 中添加服务器至 Cline MCP 设置:
{
"mcpServers": {
"anki": {
"command": "npx",
"args": ["--yes","anki-mcp-server"]
}
}
}
开发
设置
- 安装依赖项:
npm install
- 构建服务器:
npm run build
- 开发时自动重建:
npm run watch
测试
运行测试套件:
npm test
这会执行以下方面的测试:
- 服务器初始化
- 与 AnkiConnect 的通信
- 笔记操作(创建/读取/更新/删除)
- 卡组管理
- 错误处理
调试
由于 MCP 服务器通过 stdio 进行通信,我们建议使用 MCP Inspector:
npm run inspector
它提供了基于浏览器的界面来:
- 监控 MCP 消息
- 测试工具调用
- 查看服务器日志
- 调试通信问题
使用示例
- 创建一个新的卡组:
Create a new Anki deck called "Programming"
- 添加一张基础卡片:
Create an Anki card in the "Programming" deck with:
Front: What is a closure in JavaScript?
Back: A closure is the combination of a function and the lexical environment within which that function was declared.
- 添加一张Cloze删除卡片:
Create a cloze card in the "Programming" deck with:
Text: In JavaScript, {{c1::const}} declares a block-scoped variable that cannot be {{c2::reassigned}}.
贡献
- 叉分仓库
- 创建你的功能分支
- 运行测试:
npm test - 提交拉取请求
致谢
图标来自 macOS Icons
许可证
MIT 许可证 - 详情请参阅 LICENSE 文件