Anki MCP Server

MIT License
819
  • Apple
  • Linux

Integrations

  • Connects to Anki via AnkiConnect API to retrieve cards with leech tags, add date-stamped review tags to cards, and provide comprehensive card data for analysis.

Anki MCP 服务器

Claude Desktop 的 MCP(模型上下文协议)服务器通过 AnkiConnect 连接到 Anki 并检索带有水蛭标记的卡片。

特征

  • 通过 AnkiConnect API 连接到 Anki
  • 检索带有“leech”标签的卡片
  • 在卡片上添加带有日期戳的评论标签
  • 提供全面的卡片数据供 Claude 分析
  • 可与 Claude Desktop 一起使用

先决条件

安装

  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启用模拟模式进行测试(真/假)false

如果未设置环境变量,服务器将使用默认值。

查找 AnkiConnect 的本地 IP 地址

如果连接到localhost不起作用,则需要使用计算机的本地 IP 地址。使用以下命令配置.env文件:

ANKI_CONNECT_URL=http://YOUR_LOCAL_IP:8765

要查找您的本地 IP 地址:

  • macOS :打开终端并运行ifconfigipconfig getifaddr en0 (适用于 WiFi)
  • Windows :打开命令提示符并运行ipconfig
  • Linux :打开终端并运行ip addr showhostname -I

在输出中查找 IPv4 地址,例如192.168.xx10.xxx

测试配置

为了测试,提供了一个单独的配置文件.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 桌面

要将此 MCP 服务器与 Claude Desktop 一起使用:

  1. 打开 Claude 桌面
  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?

克劳德将使用 MCP 服务器检索您的吸血卡并对其进行分析。

可用工具

获取借贷卡

从 Anki 中检索标记为水蛭的卡片。

参数:

  • detailed (可选,布尔值,默认值:true):是否返回综合卡数据或仅返回 ID
  • count (可选,数字):返回的随机卡片数量(默认为所有卡片)

标签_已审阅_卡片

为指定卡片添加带有日期标记的“已审阅”标签。这样您就可以追踪哪些卡片已由 Claude 审阅过。

参数:

  • card_ids (必需,数字数组):要标记为已审核的卡片 ID 数组
  • custom_tag_prefix (可选,字符串,默认:“见直し”):标签的自定义前缀

标签的格式为見直し_YYYYMMDD (或您的自定义前缀,如果指定)。

Claude 中的用法示例:

I've reviewed these cards, please tag them as reviewed: [1234567890, 1234567891]

故障排除

  • “无法连接到 Anki” - 确保 Anki 正在运行并且 AnkiConnect 已正确安装
  • “未找到吸血鬼卡片” ——你在 Anki 中没有任何标记为“吸血鬼”的卡片
  • 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

执照

麻省理工学院

-
security - not tested
A
license - permissive license
-
quality - not tested

将 Claude Desktop 连接到 Anki,允许检索和分析带有水蛭标签的卡片,并通过自然语言请求添加评论标签。

  1. Features
    1. Prerequisites
      1. Installation
        1. Configuration
          1. Finding Your Local IP Address for AnkiConnect
          2. Test Configuration
        2. Usage
          1. Configuring Claude Desktop
            1. MCP Tool Usage
              1. Example Usage
            2. Available Tools
              1. get_leech_cards
              2. tag_reviewed_cards
            3. Troubleshooting
              1. Testing Mode
                1. Development
                  1. License
                    ID: sx01vssegn