使用说明
anki mcp服务器
一个连接Claude和Anki的模型上下文协议(MCP)服务器,允许您通过自然语言创建、管理和丰富抽认卡组,而无需打开Anki UI。
需求
- Python 3.9或更高版本
- Anki 2.1.x或更高版本
- AnkiConnect 附加装置
- Claude Desktop(或任何兼容MCP的客户端)
安装
1.设置Anki和AnkiConnect
- 安装 Anki.
- 安装AnkiConnect插件:
- 在安基,去
Tools > Add-ons > Get Add-ons - 输入代码
2055492159然后单击“确定” - 重新启动Anki
- 在安基,去
- 通过访问验证其是否有效
http://localhost:8765--你应该看看AnkiConnect v.6.
2.安装anki-mcp服务器
git clone https://github.com/dhkim0124/anki-mcp-server.git
cd anki-mcp-server
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
3.配置克劳德桌面
编辑您的Claude Desktop配置文件:
- 窗户:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"anki-mcp": {
"command": "python",
"args": ["/absolute/path/to/anki_server.py"]
}
}
}
用法
当Anki在后台运行时,你可以问Claude一些事情,比如:
- “创建一个具有代码风格的Python套牌,并添加10张关于装饰器的卡片”
- “给我看看我的甲板和它们的统计数据”
- “搜索标记为‘sql’的卡片,并更新关于索引的卡片”
- 使用以下字段创建自定义暗模式面板:单词、定义、示例、音频
- “上传此图像并将其附加到我的生物牌中的新卡上”
- “将我的收藏与AnkiWeb同步”
服务器引导对话——在创建任何内容之前,它会询问有关牌组、风格和卡片类型的澄清问题,并在破坏性操作之前始终要求确认。
可用工具
甲板管理
| 工具 | 说明 |
|---|---|
list_decks |
列出所有带有统计数据的牌组(总数、新牌、到期牌、学习卡) |
create_deck |
创建新甲板(支持嵌套甲板 ::) |
delete_deck |
删除甲板——需要明确确认 |
卡操作
| 工具 | 说明 |
|---|---|
create_card |
创建一张基本卡(正面/背面) |
create_card_batch |
在一次通话中创建多张卡 |
create_card_custom |
使用自定义笔记类型创建卡片,并可选择音频/图像附件 |
search_cards |
使用Anki的查询语法(标签、文本、甲板过滤器)进行搜索 |
update_card |
编辑现有卡片的字段和标签 |
delete_cards |
删除一张或多张卡片——需要明确确认 |
注释类型和样式
| 工具 | 说明 |
|---|---|
create_note_type |
使用所选字段、CSS样式和HTML模板创建自定义注释类型 |
get_note_types |
列出所有可用的笔记类型及其字段 |
update_note_type_style |
更新现有注释类型的CSS |
update_note_type_template |
更新现有笔记类型的HTML模板 |
媒体与同步
| 工具 | 说明 |
|---|---|
add_media |
将图像或音频文件(base64)上传到Anki的媒体文件夹 |
sync_anki |
将您的本地收藏与AnkiWeb同步 |
样式模板
四种内置样式可通过 style 参数在 create_note_type:
| 风格 | 关键 | 最适合 |
|---|---|---|
| 默认值 | "default" |
一般用途 |
| Duolingo | "duolingo" |
语言学习,游戏化的感觉 |
| 暗模式 | "dark" |
夜间学习,减轻眼睛疲劳 |
| 代码 | "code" |
编程、算法 |
| 自定义 | "custom" |
完全控制——你提供CSS |
对于 自定义风格,用自然语言描述你想要什么,Claude生成CSS:
深蓝色背景,薄荷绿色调,动画平滑渐变
所有自定义CSS都经过验证以阻止 javascript: URL, <script> 在发送到Anki之前。
项目结构
anki-mcp-server/
├── anki_server.py # MCP tool definitions and AnkiConnect client
├── config.py # Constants: URL, API version, media limits
├── instructions.py # LLM system instructions for conversational behavior
├── templates.py # Built-in CSS themes, CSS validation, HTML generators
└── tests/
├── test_anki_server.py # Tests for all tools (mocked AnkiConnect)
└── test_templates.py # Tests for template logic and CSS validation
运行测试
pip install pytest pytest-asyncio
pytest tests/ -v
所有测试均模拟AnkiConnect httpx --不需要运行Anki实例。
故障排除
- Anki必须打开: MCP服务器要求Anki正在运行。
- AnkiConnect没有响应: 访问
http://localhost:8765以确认其处于活动状态。 - Windows防火墙: 您可能需要允许Anki通过防火墙才能使AnkiConnect工作。
- 重新启动所有内容: 如果问题仍然存在,请重新启动Anki、Claude Desktop,并重新检查配置文件路径。
贡献
分叉存储库并打开拉取请求。欢迎在以下方面捐款:
- 新卡类型或模板样式
- 附加语言支持
- 界面和用户体验改进
- 文档
许可证
MIT许可证——见 许可证 了解详情。
