Skip to main content
Glama

Anki MCP 服务器

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

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} - 特定笔记类型的详细结构信息

Related MCP server: Anki MCP Server

先决条件

  1. 系统中已安装 Anki

  2. Anki 中已安装 AnkiConnect 插件

配置

通过桌面扩展 (.mcpb) 安装

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

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

npm run pack
  1. 打开 Claude Desktop 设置 → 扩展,拖入生成的 .mcpb 文件,然后点击安装。

这将验证 manifest.json 并输出一个可按上述方式安装的 .mcpb 归档文件。了解更多关于桌面扩展的信息,请参阅 Anthropic 的公告:桌面扩展:为 Claude Desktop 提供一键式 MCP 服务器安装

在 Claude Desktop 中使用

将服务器添加到你的 claude_desktop_config.json 中:

{
  "mcpServers": {
    "anki": {
      "command": "npx",
      "args": ["--yes", "anki-mcp-server"]
    }
  }
}

使用自定义 AnkiConnect 端口

如果你的 AnkiConnect 运行在不同的端口上,可以使用 --port 参数指定它:

{
  "mcpServers": {
    "anki": {
      "command": "npx",
      "args": ["--yes", "anki-mcp-server", "--port", "8080"]
    }
  }
}

Cline 配置

将服务器添加到 VSCode 设置文件 cline_mcp_settings.json 中的 Cline MCP 设置里:

{
  "mcpServers": {
    "anki": {
      "command": "npx",
      "args": ["--yes", "anki-mcp-server"]
    }
  }
}

使用自定义 AnkiConnect 端口

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

{
  "mcpServers": {
    "anki": {
      "command": "npx",
      "args": ["--yes", "anki-mcp-server", "--port", "8080"]
    }
  }
}

智能体技能 (Claude Code)

安装 Anki 技能,让 Claude Code 具备所有 Anki 工具和工作流的内置知识:

npx skills add nailuoGG/anki-mcp-server@anki

安装完成后,当你要求 Claude Code 创建抽认卡、管理牌组或批量导入笔记时,它会自动使用该技能。

注意: 不要将 .mcpb 打包版本用作 MCP 服务器 — 它会将 Electron 元数据输出到标准输出 (stdout),这会破坏 MCP stdio 协议。请改用 npx -y anki-mcp-server

开发

打包桌面扩展 (.mcpb)

为 Claude Desktop 创建可分发的桌面扩展捆绑包:

npm run pack

这将构建项目并从当前仓库生成一个 .mcpb 归档文件,同时验证 manifest.json。通过将其拖入 Claude Desktop 的扩展设置中进行测试。参考:桌面扩展:为 Claude Desktop 提供一键式 MCP 服务器安装

发布到 MCP 注册表

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

  1. 自动化 CI/CD:GitHub Actions 在成功发布时会自动发布到 NPM 和 MCP 注册表

  2. 模式验证server.json 文件在发布前会根据 MCP 模式进行验证

  3. 版本同步package.jsonmanifest.jsonserver.json 之间的版本保持同步

  4. 全面测试:在发布前进行多版本 Node.js 测试、代码检查和验证

  5. Beta 支持:用于测试新功能的自动化 Beta 版本发布

手动验证

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

npm run validate-mcp

这将下载最新的 MCP 模式并验证你的 server.json 文件。

手动发布

如果你需要手动发布,可以使用 MCP 发布者 CLI:

# 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. 安装依赖:

npm install
  1. 构建服务器:

npm run build
  1. 用于自动重建的开发模式:

npm run watch

测试

运行测试套件:

npm test

这将执行以下测试:

  • 服务器初始化

  • AnkiConnect 通信

  • 笔记操作(创建/读取/更新/删除)

  • 牌组管理

  • 错误处理

调试

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

npm run inspector

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

  • 监控 MCP 消息

  • 测试工具调用

  • 查看服务器日志

  • 调试通信问题

使用示例

  1. 创建一个新牌组:

Create a new Anki deck called "Programming"
  1. 添加一张基础卡片:

Create 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. 添加一张填空题卡片:

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

贡献

  1. Fork 本仓库

  2. 创建你的功能分支

  3. 运行测试:npm test

  4. 提交 Pull Request

星标历史

Star History Chart

致谢

图标由 macOS Icons 提供

许可证

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

Install Server
F
license - not found
-
quality - not tested
F
maintenance

Maintenance

Maintainers
Response time
5moRelease cycle
2Releases (12mo)
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nailuoGG/anki-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server