Anki闪卡管理服务

一个通过AnkiConnect插件实现AI助手创建和管理Anki闪卡的模型上下文协议(MCP)服务器。

  • by AndrewGEvans95
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 andrewgevans95/anki-mcp-server

使用说明

Anki MCP服务器

一个模型上下文协议(MCP)服务器,使AI助手能够通过AnkiConnect插件创建和管理Anki闪卡。

特性

  • ✅ 创建个人Anki笔记/抽认卡
  • ✅ 创建完形填空删除卡
  • ✅ 一次性批量创建多个笔记
  • ✅ 创建新甲板
  • ✅ 列出可用的套牌和音符类型
  • ✅ 获取模型字段信息
  • ✅ 支持标签和重复处理

先决条件

  1. 安基 -从下载并安装 ankiweb.net
  2. AnkiConnect附加组件 -安装AnkiConnect插件(代码: 2055492159)
    • 在Anki:工具→ 附加组件→ 获取附加组件→ 输入代码 2055492159
    • 安装后重新启动Anki

安装

  1. 克隆此存储库:
git clone https://github.com/yourusername/anki-mcp-server.git
cd anki-mcp-server
  1. 安装依赖项:
npm install
  1. 构建项目:
npm run build

用法

运行服务器

启动MCP服务器:

npm start

或用于开发:

npm run dev

可用工具

create_anki_note

创建新的Anki抽认卡。

参数:

  • deckName (字符串,必填):甲板名称
  • modelName (字符串,可选):注释类型(默认:“基本”)
  • fields (object,必填):字段值(例如。, {"Front": "Question", "Back": "Answer"})
  • tags (数组,可选):要添加的标签
  • allowDuplicate (布尔值,可选):允许重复卡

例子:

{
  "deckName": "Spanish Vocabulary",
  "fields": {
    "Front": "¿Cómo estás?",
    "Back": "How are you?"
  },
  "tags": ["spanish", "greetings"]
}

create_cloze_note

创建完形填空删除卡。

参数:

  • deckName (字符串,必填):甲板名称
  • text (string,必填):删除了完形填空的文本(例如,“{{c1::Paris}}是法国的首都”)
  • extra (字符串,可选):附加信息
  • tags (数组,可选):要添加的标签

例子:

{
  "deckName": "Geography",
  "text": "{{c1::Paris}} is the capital of {{c2::France}}",
  "tags": ["geography", "capitals"]
}

bulk_create_notes

一次创建多个笔记。

参数:

  • notes (array,必填):注释对象数组

例子:

{
  "notes": [
    {
      "deckName": "Math",
      "fields": {"Front": "2 + 2", "Back": "4"}
    },
    {
      "deckName": "Math", 
      "fields": {"Front": "3 × 3", "Back": "9"}
    }
  ]
}

create_anki_deck

创建新甲板。

参数:

  • deckName (string,必填):新甲板的名称

list_anki_decks

列出所有可用的甲板。

list_anki_models

列出所有可用的钞票类型/型号。

get_anki_model_fields

获取特定模型的字段名称。

参数:

  • modelName (string,必填):模型名称

与AI助手集成

此MCP服务器可以与支持模型上下文协议的AI助手集成。然后,助理可以:

  • 根据学习材料制作抽认卡
  • 从文本生成完形填空删除卡
  • 将问题和答案转换为Anki卡
  • 将卡片组织成适当的牌组
  • 批量进口抽认卡套装

配置

服务器连接到AnkiConnect http://localhost:8765 默认情况下。确保:

  1. Anki正在奔跑
  2. AnkiConnect插件已安装并启用
  3. 没有防火墙阻止连接

故障排除

“无法连接到AnkiConnect”

  • 确保Anki正在运行
  • 验证是否安装了AnkiConnect插件(代码: 2055492159)
  • 检查AnkiConnect是否正在侦听端口8765

“AnkiConnect错误:找不到甲板”

  • 指定的甲板不存在
  • 使用 create_anki_deck 第一或 list_anki_decks 查看可用甲板

“AnkiConnect错误:找不到模型”

  • 指定的笔记类型不存在
  • 使用 list_anki_models 查看可用的笔记类型
  • 常见类型:“基本”、“基本(和反向卡)”、“完形填空”

发展

项目结构

anki-mcp-server/
├── src/
│   └── index.ts          # Main server code
├── dist/                 # Compiled JavaScript
├── package.json
├── tsconfig.json
└── README.md

建筑

npm run build

发展模式

npm run dev

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 如果适用,添加测试
  5. 提交拉取请求

许可证

MIT许可证-有关详细信息,请参阅许可证文件。

相关项目