
Anki Server
Anki MCP 服务器,允许 LLM 通过 Anki Connect 创建和管理 Anki 卡牌组
概述
Anki MCP 服务器
一个模型上下文协议 (MCP) 服务器,通过 AnkiConnect API 使 LLM 能够与 Anki 闪卡软件进行交互。
功能
- 在 Anki 中创建新牌组
- 向现有牌组添加笔记
- 列出可用的牌组和笔记模型
- 使用 Anki 的搜索语法搜索笔记
- 获取有关笔记模型及其字段的详细信息
- 一次批量添加多个笔记
前提条件
- Node.js(v14 或更高版本)
- 安装了 AnkiConnect 插件的 Anki
- 一个兼容 Model Context Protocol 的客户端(例如支持 Anthropic MCP 的 Claude)
安装
-
确保你已经安装了带有 AnkiConnect 插件的 Anki
- 通过进入工具 > 插件 > 获取插件并输入代码
2055492159
来安装 AnkiConnect
- 通过进入工具 > 插件 > 获取插件并输入代码
-
克隆此仓库:
git clone https://github.com/yourusername/anki-mcp-server.git cd anki-mcp-server
-
安装依赖项:
npm install
-
构建项目:
npm run build
使用
-
确保你的计算机上运行着带有 AnkiConnect 的 Anki
-
启动 MCP 服务器:
npm start
-
将你的 MCP 客户端(例如 Claude)连接到此服务器
可用工具
服务器为 MCP 客户端提供以下工具:
- listDecks: 获取 Anki 中所有牌组的列表
- listModels: 获取 Anki 中所有笔记模型/类型的列表
- createDeck: 在 Anki 中创建一个新的牌组
- getModel: 获取特定笔记模型/类型的详细信息
- addNote: 向牌组中添加一个单个笔记
- addNotes: 一次添加多个笔记
- searchNotes: 使用 Anki 的搜索语法搜索笔记
示例
创建新牌组
json
{
"name": "createDeck",
"arguments": {
"name": "My New Deck"
}
}
添加笔记
json
{
"name": "addNote",
"arguments": {
"deckName": "My New Deck",
"modelName": "Basic",
"fields": {
"Front": "What is the capital of France?",
"Back": "Paris"
},
"tags": ["geography", "europe"]
}
}
搜索笔记
json
{
"name": "searchNotes",
"arguments": {
"query": "deck:\"My New Deck\" tag:geography"
}
}
配置
服务器配置在 src/index.ts
中的 config
对象中。你可以修改:
ankiConnectUrl
: AnkiConnect API 的 URL(默认:http://localhost:8765
)apiVersion
: AnkiConnect 的 API 版本(默认:6
)defaultDeckName
: 如果未指定,则使用的默认牌组名称(默认:Default
)
故障排除
-
无法连接到 Anki
- 确保 Anki 正在运行
- 检查是否已安装并正常工作的 AnkiConnect 插件
- 验证 AnkiConnect URL 是否正确(默认:http://localhost:8765)
-
AnkiConnect 的权限问题
- 当服务器尝试添加卡片时,AnkiConnect 可能会提示权限。请在 Anki 中查找弹出窗口。
许可证
MIT 许可证