anki mcp server
Anki MCP Server 使用说明
项目简介
Anki MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,它连接到本地运行的 Anki 桌面应用,为支持 MCP 协议的 LLM 客户端(如 Claude)提供访问 Anki 知识卡片的功能。通过此服务器,LLM 可以检索 Anki 卡片进行学习或复习,也可以创建新的 Anki 卡片来扩展知识库。
主要功能点
- 资源 (Resources):
- anki://search/deckcurrent: 获取当前 Anki 牌组中的所有卡片。
- anki://search/isdue: 获取 Anki 中待复习和学习的卡片。
- anki://search/isnew: 获取 Anki 中所有未学习的新卡片。
- 工具 (Tools):
- update_cards: 更新 Anki 卡片的复习状态,根据用户对卡片的掌握程度(ease score)标记卡片为已回答。
- add_card: 在 Anki 默认牌组中创建新的卡片。
- Prompt 模板 (Prompts):
- high_quality_cards_prompt: 提供高质量 Anki 卡片创建指南的 Prompt,帮助 LLM 生成符合记忆规律的卡片内容。
安装步骤
- 安装 Node.js 和 npm: 确保你的电脑上已安装 Node.js 和 npm (Node 包管理器)。
- 克隆仓库: 将仓库 'scorzeth_anki-mcp-server' 克隆到本地。
git clone https://github.com/MCP-Mirror/scorzeth_anki-mcp-server.git cd scorzeth_anki-mcp-server - 安装依赖: 在仓库目录下运行以下命令安装项目依赖。
npm install - 构建服务器: 运行以下命令构建服务器代码。
npm run build
服务器配置
要将 Anki MCP Server 配置到 MCP 客户端(例如 Claude Desktop),你需要编辑客户端的配置文件。以 Claude Desktop 为例,配置文件路径如下:
- MacOS: '~/Library/Application Support/Claude/claude_desktop_config.json'
- Windows: '%APPDATA%/Claude/claude_desktop_config.json'
在配置文件中,添加 'mcpServers' 配置项,并指定 Anki MCP Server 的启动命令。请将 '/path/to/anki-server/build/index.js' 替换为 你本地仓库 'build/index.js' 文件的绝对路径。
{ "mcpServers": { "anki-server": { // 服务器名称,可以自定义 "command": "/path/to/anki-server/build/index.js" // Anki MCP Server 启动命令,指向构建后的 index.js 文件 } } }
注意:
- 确保 Anki 桌面应用已安装并正在本地运行,并且安装了 Anki-Connect 插件。
- '/path/to/anki-server/build/index.js' 需要替换为实际路径,例如 '/Users/yourusername/scorzeth_anki-mcp-server/build/index.js' (MacOS) 或 'C:\Users\YourUsername\scorzeth_anki-mcp-server\build\index.js' (Windows)。
- 如果你的 MCP 客户端支持,可以添加 'args' 字段来传递启动参数,但此 Anki MCP Server 示例中不需要额外的启动参数。
基本使用方法
- 启动 Anki MCP Server: 在 MCP 客户端配置完成后,客户端会自动启动 Anki MCP Server。无需手动运行服务器,它会作为客户端的后台服务运行。
- 在 MCP 客户端中使用: 在支持 MCP 协议的 LLM 客户端中,你可以通过以下方式使用 Anki MCP Server 提供的功能:
- 访问资源: 客户端可以请求 'anki://search/deckcurrent' 等 URI 来获取 Anki 卡片数据,用于上下文学习或知识检索。
- 调用工具: 客户端可以调用 'update_cards' 和 'add_card' 工具来更新卡片状态或创建新卡片,例如在学习复习后更新卡片掌握程度,或根据学习内容创建新的知识卡片。
- 使用 Prompt: 客户端可以获取 'high_quality_cards_prompt' Prompt 模板,用于指导 LLM 生成高质量的 Anki 卡片内容。
具体使用方式取决于 MCP 客户端的功能和界面设计,请参考你使用的 MCP 客户端的文档。