Anki MCP Server
Anki MCP 服务器
一个模型上下文协议 (MCP) 服务器,通过 AnkiConnect 使 LLM 能够与 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
先决条件
系统中已安装 Anki
Anki 中已安装 AnkiConnect 插件
配置
通过桌面扩展 (.mcpb) 安装
本仓库支持 Anthropic 桌面扩展 (MCPB)。在 Claude Desktop 中使用此服务器最简单的方法是安装打包好的 .mcpb 捆绑包。
使用提供的脚本在本地生成
.mcpb文件:
npm run pack打开 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 注册表。发布过程包括:
自动化 CI/CD:GitHub Actions 在成功发布时会自动发布到 NPM 和 MCP 注册表
模式验证:
server.json文件在发布前会根据 MCP 模式进行验证版本同步:
package.json、manifest.json和server.json之间的版本保持同步全面测试:在发布前进行多版本 Node.js 测试、代码检查和验证
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设置
安装依赖:
npm install构建服务器:
npm run build用于自动重建的开发模式:
npm run watch测试
运行测试套件:
npm test这将执行以下测试:
服务器初始化
AnkiConnect 通信
笔记操作(创建/读取/更新/删除)
牌组管理
错误处理
调试
由于 MCP 服务器通过 stdio 进行通信,我们建议使用 MCP Inspector:
npm run inspector它提供了一个基于浏览器的界面,用于:
监控 MCP 消息
测试工具调用
查看服务器日志
调试通信问题
使用示例
创建一个新牌组:
Create a new Anki deck called "Programming"添加一张基础卡片:
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.添加一张填空题卡片:
Create a cloze card in the "Programming" deck with:
Text: In JavaScript, {{c1::const}} declares a block-scoped variable that cannot be {{c2::reassigned}}.贡献
Fork 本仓库
创建你的功能分支
运行测试:
npm test提交 Pull Request
星标历史
致谢
图标由 macOS Icons 提供
许可证
MIT 许可证 - 详情请参阅 LICENSE 文件
Maintenance
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