Anki MCP 服务器

一个模型上下文协议(MCP)服务器,通过AnkiConnect API使LLMs能够与Anki闪卡软件交互。

  • by ethangillani
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 ethangillani/anki-mcp-server

使用说明

Anki MCP服务器

模型上下文协议(MCP)服务器,使LLM能够通过AnkiConnect API与Anki闪存卡软件交互。

特性

  • 在Anki中创建新甲板
  • 向现有甲板添加注释
  • 列出可用的甲板和笔记型号
  • 使用Anki的搜索语法搜索笔记
  • 获取有关笔记模型及其字段的详细信息
  • 一次批量添加多个笔记

先决条件

  • Node.js (v14或更高版本)
  • 安基 随着 AnkiConnect 已安装附加组件
  • 与模型上下文协议兼容的客户端(例如支持Anthropic MCP的Claude)

安装

  1. 确保您已使用AnkiConnect插件安装了Anki

    • 通过转到“工具”>“附加组件”>“获取附加组件”并输入代码来安装AnkiConnect: 2055492159
  2. 克隆此存储库:

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

    npm install
    
  4. 构建项目:

    npm run build
    

用法

  1. 确保Anki在启用AnkiConnect的计算机上运行

  2. 启动MCP服务器:

    npm start
    
  3. 将您的MCP客户端(例如Claude)连接到此服务器

可用工具

服务器为MCP客户端提供以下工具:

  • listDecks:获取Anki所有甲板的列表
  • list型号:获取Anki中所有音符型号/类型的列表
  • createDeck:在Anki中创建新甲板
  • getModel:获取特定钞票型号/类型的详细信息
  • addNote:在套牌中添加一个音符
  • addNotes 的:一次添加多个注释
  • 搜索备注:使用Anki的搜索语法搜索笔记

例子

创建新甲板

{
  "name": "createDeck",
  "arguments": {
    "name": "My New Deck"
  }
}

添加注释

{
  "name": "addNote",
  "arguments": {
    "deckName": "My New Deck",
    "modelName": "Basic",
    "fields": {
      "Front": "What is the capital of France?",
      "Back": "Paris"
    },
    "tags": ["geography", "europe"]
  }
}

搜索笔记

{
  "name": "searchNotes",
  "arguments": {
    "query": "deck:\"My New Deck\" tag:geography"
  }
}

配置

服务器配置位于 config 对象在 src/index.ts。您可以修改:

  • ankiConnectUrl:AnkiConnect API的URL(默认值: http://localhost:8765)
  • apiVersion:AnkiConnect的API版本(默认值: 6)
  • defaultDeckName:如果未指定,则使用默认甲板(默认值: Default)

故障排除

  1. 无法连接到Anki

    • 确保Anki正在跑步
    • 检查AnkiConnect插件是否已安装并正常工作
    • 验证AnkiConnect URL是否正确(默认值:http://localhost:8765)
  2. AnkiConnect的权限问题

    • 当服务器尝试添加卡时,AnkiConnect可能会提示用户请求权限。在Anki中查找弹出窗口。

许可证

MIT许可证