mcpField
A
Anki MCP Server

Anki MCP Server

本地服务
github.com/captain-blue210科研与教育081 周前更新

关于 Anki MCP Server

Anki MCP Server 通过 AnkiConnect 将 Claude Desktop 连接到 Anki,重点处理带有 leech 标签的卡片。它提供卡片数据供分析,并可为已复习卡片添加带日期的标签。

主要功能

  1. 01检索带 leech 标签的卡片
  2. 02返回详细卡片数据或 ID
  3. 03随机选取指定数量的卡片
  4. 04添加带日期的复习标签
  5. 05通过模拟模式运行操作

适用场景

  1. 01借助 Claude 分析复习 leech 卡片
  2. 02跟踪已用 Claude 复习的卡片
  3. 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

安装

  1. 克隆此仓库:

    git clone https://github.com/yourusername/anki-mcp-server.git
    cd anki-mcp-server
    
  2. 安装依赖:

    npm install
    
  3. 构建项目:

    npm run build
    

配置

可以使用环境变量配置此服务。将提供的示例文件复制一份,创建自己的配置:

cp .env.example .env

然后编辑 .env 文件以自定义设置:

环境变量描述默认值
ANKI_CONNECT_URLAnki Connect API 的 URLhttp://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

用法

  1. 确保 Anki 正在运行且已安装 AnkiConnect
  2. 运行 MCP 服务:
    npm start
    

配置 Claude Desktop

要在 Claude Desktop 中使用此 MCP 服务:

  1. 打开 Claude Desktop

  2. 编辑位于以下路径的 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
  3. 将以下配置添加到 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):是否返回完整的卡片数据,还是仅返回 ID
  • count(可选,数字):要返回的随机卡片数量(默认为全部卡片)
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 连接:
    1. 按照“配置”部分中的说明查找本地 IP 地址
    2. 更新 .env 文件,使用 ANKI_CONNECT_URL=http://YOUR_LOCAL_IP:8765
    3. 确保 AnkiConnect 已配置为允许来自你的 IP 地址的连接
    4. 完成这些更改后,重启 MCP 服务
  • 未显示标签——确保为 tag_reviewed_cards 工具提供有效的卡片 ID

测试模式

如需在不影响实际 Anki 数据的情况下进行测试,可以使用模拟模式:

  1. 在 .env 文件中设置 ANKI_MOCK_MODE=true,或使用提供的 .env.test 文件
  2. 使用 npm run start:test 运行服务

在模拟模式下,服务会模拟所有 Anki 操作,而不会实际连接到 Anki。这适用于测试 Claude 集成,避免数据发生更改。

开发

如需在开发模式下运行服务并启用热重载:

npm run dev

如需在启用模拟模式的情况下进行开发:

npm run dev:test

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。