小贴士:按下Ctrl+D 或 ⌘+D,一键收藏本站,方便下次快速访问!
MIT License
1
最近更新:2个月前

Anki MCP 服务器,允许 LLM 通过 Anki Connect 创建和管理 Anki 卡牌组

Anki MCP 服务器

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

功能

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

前提条件

  • Node.js(v14 或更高版本)
  • 安装了 AnkiConnect 插件的 Anki
  • 一个兼容 Model Context Protocol 的客户端(例如支持 Anthropic MCP 的 Claude)

安装

  1. 确保你已经安装了带有 AnkiConnect 插件的 Anki

    • 通过进入工具 > 插件 > 获取插件并输入代码 2055492159 来安装 AnkiConnect
  2. 克隆此仓库:

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

    复制代码
    npm install
  4. 构建项目:

    复制代码
    npm run build

使用

  1. 确保你的计算机上运行着带有 AnkiConnect 的 Anki

  2. 启动 MCP 服务器:

    复制代码
    npm start
  3. 将你的 MCP 客户端(例如 Claude)连接到此服务器

可用工具

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

  • listDecks: 获取 Anki 中所有牌组的列表
  • listModels: 获取 Anki 中所有笔记模型/类型的列表
  • createDeck: 在 Anki 中创建一个新的牌组
  • getModel: 获取特定笔记模型/类型的详细信息
  • addNote: 向牌组中添加一个单个笔记
  • addNotes: 一次添加多个笔记
  • searchNotes: 使用 Anki 的搜索语法搜索笔记

示例

创建新牌组

json 复制代码
{
  "name": "createDeck",
  "arguments": {
    "name": "My New Deck"
  }
}

添加笔记

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

搜索笔记

json 复制代码
{
  "name": "searchNotes",
  "arguments": {
    "query": "deck:\"My New Deck\" tag:geography"
  }
}

配置

服务器配置在 src/index.ts 中的 config 对象中。你可以修改:

  • 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 许可证