关于 Anki MCP Server
Anki MCP Server 通过 AnkiConnect 将 Claude Desktop 连接到 Anki,重点处理带有 leech 标签的卡片。它提供卡片数据供分析,并可为已复习卡片添加带日期的标签。
主要功能
- 01检索带 leech 标签的卡片
- 02返回详细卡片数据或 ID
- 03随机选取指定数量的卡片
- 04添加带日期的复习标签
- 05通过模拟模式运行操作
适用场景
- 01借助 Claude 分析复习 leech 卡片
- 02跟踪已用 Claude 复习的卡片
- 03在不更改 Anki 数据时测试集成
MCP 相关
它向 Claude Desktop 等 MCP 客户端提供卡片检索和标记工具,并通过 AnkiConnect 连接 Anki。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Anki MCP 服务
用于 Claude Desktop 的 MCP(Model Context Protocol)服务,通过 AnkiConnect 连接 Anki 并检索带有 leech 标签的卡片。
功能
- 通过 AnkiConnect API 连接 Anki
- 检索带有“leech”标签的卡片
- 为卡片添加带日期的复习标签
- 提供全面的卡片数据,供 Claude 分析
- 可与 Claude Desktop 搭配使用
前提条件
- 已安装并运行 Anki
- 已在 Anki 中安装 AnkiConnect 插件
- Node.js 和 npm
安装
-
克隆此仓库:
git clone https://github.com/yourusername/anki-mcp-server.git cd anki-mcp-server -
安装依赖:
npm install -
构建项目:
npm run build
配置
可以使用环境变量配置此服务。将提供的示例文件复制一份,创建自己的配置:
cp .env.example .env
然后编辑 .env 文件以自定义设置:
| 环境变量 | 描述 | 默认值 |
|---|---|---|
ANKI_CONNECT_URL | Anki Connect API 的 URL | http://localhost:8765 |
ANKI_CONNECT_VERSION | 要使用的 Anki Connect API 版本 | 6 |
ANKI_MOCK_MODE | 启用模拟模式以进行测试(true/false) | false |
如果未设置环境变量,服务将使用默认值。
查找 AnkiConnect 所需的本地 IP 地址
如果无法连接到 localhost,则需要改用计算机的本地 IP 地址。请在 .env 文件中进行如下配置:
ANKI_CONNECT_URL=http://YOUR_LOCAL_IP:8765
查找本地 IP 地址的方法:
- macOS:打开终端并运行
ifconfig或ipconfig getifaddr en0(适用于 WiFi) - Windows:打开命令提示符并运行
ipconfig - Linux:打开终端并运行
ip addr show或hostname -I
在输出中查找类似 192.168.x.x 或 10.x.x.x 的 IPv4 地址。
测试配置
此项目提供了单独的配置文件 .env.test 以供测试:
cp .env.example .env.test
编辑 .env.test 以设置测试专用值:
ANKI_CONNECT_URL=http://localhost:8765
ANKI_CONNECT_VERSION=6
ANKI_MOCK_MODE=true
要在测试模式下运行:
npm run start:test
用法
- 确保 Anki 正在运行且已安装 AnkiConnect
- 运行 MCP 服务:
npm start
配置 Claude Desktop
要在 Claude Desktop 中使用此 MCP 服务:
-
打开 Claude Desktop
-
编辑位于以下路径的 Claude Desktop 配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- macOS:
-
将以下配置添加到
mcpServers部分:
{
"mcpServers": {
"anki": {
"command": "node",
"args": ["path/to/anki-mcp-server/dist/index.js"]
}
}
}
将 "path/to/anki-mcp-server" 替换为克隆此仓库的实际路径。
MCP 工具用法
配置完成后,你可以在 Claude 中使用以下工具:
用法示例
Could you analyze my Anki leech cards and suggest ways to improve my study?
Claude 将使用 MCP 服务检索你的 leech 卡片并进行分析。
可用工具
get_leech_cards
从 Anki 中检索被标记为 leech 的卡片。
参数:
detailed(可选,布尔值,默认值:true):是否返回完整的卡片数据,还是仅返回 IDcount(可选,数字):要返回的随机卡片数量(默认为全部卡片)
tag_reviewed_cards
为指定卡片添加带日期的“reviewed”标签。这样你就可以跟踪哪些卡片已与 Claude 一起复习。
参数:
card_ids(必填,数字数组):要标记为已复习的卡片 ID 数组custom_tag_prefix(可选,字符串,默认值:"見直し"):标签的自定义前缀
标签格式为 見直し::YYYYMMDD(如果指定了自定义前缀,则使用该前缀)。
在 Claude 中的用法示例:
I've reviewed these cards, please tag them as reviewed: [1234567890, 1234567891]
故障排除
- “无法连接到 Anki”——确保 Anki 正在运行,并且已正确安装 AnkiConnect
- “未找到 leech 卡片”——你的 Anki 中没有标记为 “leech” 的卡片
- 无法连接到 localhost——如果无法使用
localhost连接:- 按照“配置”部分中的说明查找本地 IP 地址
- 更新
.env文件,使用ANKI_CONNECT_URL=http://YOUR_LOCAL_IP:8765 - 确保 AnkiConnect 已配置为允许来自你的 IP 地址的连接
- 完成这些更改后,重启 MCP 服务
- 未显示标签——确保为
tag_reviewed_cards工具提供有效的卡片 ID
测试模式
如需在不影响实际 Anki 数据的情况下进行测试,可以使用模拟模式:
- 在
.env文件中设置ANKI_MOCK_MODE=true,或使用提供的.env.test文件 - 使用
npm run start:test运行服务
在模拟模式下,服务会模拟所有 Anki 操作,而不会实际连接到 Anki。这适用于测试 Claude 集成,避免数据发生更改。
开发
如需在开发模式下运行服务并启用热重载:
npm run dev
如需在启用模拟模式的情况下进行开发:
npm run dev:test
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。