Anki闪卡交互服务

一个通过AnkiConnect实现LLM与Anki闪卡软件交互的模型上下文协议(MCP)服务器,支持闪卡创建、管理和查询等功能。

作者 By nailuoGG
本地部署 闪卡管理 LLM集成
GitHub

Anki MCP 服务器

一个模型上下文协议(MCP)服务器,它使大型语言模型(LLM)能够通过AnkiConnect与Anki记忆卡片软件进行交互。

特点/特性

工具

  • list_decks - 列出所有可用的Anki牌组
  • create_deck - 创建一个新的Anki卡片组
  • create_note - 创建一个新的笔记(基础型或填空型)
  • batch_create_notes - 一次性创建多个笔记
  • search_notes - 使用Anki查询语法搜索笔记
  • get_note_info - 获取有关笔记的详细信息
  • update_note - 更新现有笔记
  • delete_note - 删除一条笔记
  • list_note_types - 列出所有可用的笔记类型
  • create_note_type - 创建一个新的笔记类型
  • get_note_type_info - 获取笔记类型的详细结构

资源

  • anki://decks/all - 可用卡组的完整列表
  • anki://note-types/all - 所有可用笔记类型的列表
  • anki://note-types/all-with-schemas - 所有笔记类型的详细结构信息
  • anki://note-types/{modelName} - 某种特定记账类型的具体结构信息

先决条件

  1. Anki(注:Anki是一个记忆卡片软件,常用于辅助记忆,这里直接保留原名,不做具体翻译) 安装在您的系统上
  2. AnkiConnect 在Anki中安装的插件

配置

通过桌面扩展程序(.mcpb)进行安装

这个仓库支持Anthropic Desktop扩展(MCPB)。在Claude Desktop中使用此服务器的最简单方法是安装打包好的扩展 .mcpb 捆绑包。

  1. 生成 .mcpb 使用提供的脚本在本地文件中操作:

BASH``` 1npm run pack


1. 打开Claude桌面设置 → 扩展并拖动生成的 `.mcpb` 导入文件,然后点击安装。


这证实了 `manifest.json` 并输出一个 `.mcpb` 您可以按照上述步骤安装存档。有关Anthropic公告中桌面扩展的更多信息,请参阅: [桌面扩展:一键安装Claude桌面的MCP服务器](https://www.anthropic.com/engineering/desktop-extensions)。


### 与Claude桌面版的使用


将服务器添加到您的 claude_desktop_config.json 文件中:


JSON```
1
2
3
4
5
6
7
8{
  "mcpServers": {
    "anki": {
      "command": "npx",
      "args": ["--yes", "anki-mcp-server"]
    }
  }
}

使用自定义的AnkiConnect端口

如果你的AnkiConnect运行在不同的端口上,你可以通过以下方式指定它: --port 参数:

JSON``` 1 2 3 4 5 6 7 8{ “mcpServers”: { “anki”: { “command”: “npx”, “args”: [“—yes”, “anki-mcp-server”, “—port”, “8080”] } } }


### 克林(Cline)的配置


在VSCode的设置中,将服务器添加到您的Cline MCP设置文件中 `cline_mcp_settings.json`


JSON```
1
2
3
4
5
6
7
8{
  "mcpServers": {
    "anki": {
      "command": "npx",
      "args": ["--yes", "anki-mcp-server"]
    }
  }
}

使用自定义的AnkiConnect端口

对于Cline,你也可以指定一个自定义端口:

JSON``` 1 2 3 4 5 6 7 8{ “mcpServers”: { “anki”: { “command”: “npx”, “args”: [“—yes”, “anki-mcp-server”, “—port”, “8080”] } } }


## 发展


### 打包桌面扩展程序(.mcpb)


为Claude Desktop创建一个可分发的桌面扩展包:


BASH```
1npm run pack

这将构建项目并生成一个 .mcpb 从当前存储库中存档,进行验证 manifest.json通过将其拖入Claude桌面版的扩展设置中进行测试。参考: 桌面扩展:一键安装Claude桌面版的MCP服务器

发布到MCP注册表

当新版本发布时,此服务器会自动发布到MCP注册表中。发布过程包括:

  1. **自动化持续集成/持续交付(CI/CD)**GitHub Actions 在成功发布时会自动将内容发布到 NPM 和 MCP 注册表
  2. 模式验证这个(或:这些) server.json 在发布之前,文件已根据MCP模式进行了验证
  3. 版本同步版本之间保持同步 package.jsonmanifest.json,和 server.json
  4. 全面测试在发布前进行多版本Node.js的测试、代码检查和验证
  5. Beta 支持自动化测试版发布以测试新功能

手动验证

您可以在本地验证MCP服务器配置:

BASH``` 1npm run validate-mcp


这将下载最新的MCP(消息传递中间件/多协议转换器等,具体含义根据上下文确定)模式并验证您的(配置/数据等,具体根据上下文确定) `server.json` 文件。


#### 手动发布


如果您需要手动发布,可以使用MCP发布者命令行界面(CLI):


BASH```
1
2
3
4
5
6
7
8# Install MCP Publisher
curl -L "https://github.com/modelcontextprotocol/registry/releases/download/v1.1.0/mcp-publisher_1.1.0_$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/').tar.gz" | tar xz mcp-publisher
chmod +x mcp-publisher
sudo mv mcp-publisher /usr/local/bin/
# Login to MCP Registry
mcp-publisher login github-oidc
# Publish to MCP Registry
mcp-publisher publish

设置

  1. 安装依赖项:

BASH``` 1npm install


1. 构建服务器:


BASH```
1npm run build
  1. 对于需要自动重建的开发:

BASH``` 1npm run watch


### 测试


运行测试套件:


BASH```
1npm test

这执行以下测试:

  • 服务器初始化
  • AnkiConnect通信
  • 笔记操作(创建/读取/更新/删除)
  • 甲板管理
  • 错误处理

调试

由于MCP服务器通过stdio进行通信,我们建议使用 MCP 检测器:

BASH``` 1npm run inspector


这提供了一个基于浏览器的界面,用于:


- 监控MCP消息
- 测试工具调用
- 查看服务器日志
- 调试通信问题


## 示例用法


1. 创建一个新的牌组:

1Create a new Anki deck called “Programming”


1. 添加一张基本卡片:

1 2 3Create an Anki card in the “Programming” deck with: Front: What is a closure in JavaScript? Back: A closure is the combination of a function and the lexical environment within which that function was declared.


1. 添加一张完形填空卡片:

1 2Create a cloze card in the “Programming” deck with: Text: In JavaScript, {{c1::const}} declares a block-scoped variable that cannot be {{c2::reassigned}}.


## 做出贡献


1. 为仓库创建分支(或:克隆仓库)
2. 创建你的特性分支
3. 运行测试: `npm test`
4. 提交拉取请求


## 明星历史


[![](https://api.star-history.com/svg?repos=nailuoGG/anki-mcp-server&type=Date)](https://star-history.com/#nailuoGG/anki-mcp-server&Date)


## 功劳;学分;资历


图标由……提供 [macOS 图标](https://macosicons.com/#/?icon=mWDBpVXqbc)


## 许可证


MIT 许可证 - 详情请参见 LICENSE 文件