项目简介
Anki MCP 是一个实现了 Model Context Protocol (MCP) 的服务器,旨在让大语言模型 (LLM) 或其他 MCP 客户端能够与 Anki 闪卡应用进行交互。它通过调用 AnkiConnect 插件暴露的功能,将 Anki 的各项操作封装成标准化的 MCP 工具。
主要功能点
该服务器将 AnkiConnect 的功能划分为不同的服务,提供了丰富的操作能力:
- 牌组服务 (Deck Service): 管理 Anki 中的牌组,如获取牌组列表、创建、删除、修改牌组配置或移动闪卡到不同牌组。
- 笔记服务 (Note Service): 管理 Anki 中的笔记(Note 是闪卡的基础),如按查询条件查找笔记、获取笔记信息、添加、更新、删除笔记或修改笔记标签。
- 闪卡服务 (Card Service): 管理 Anki 中的闪卡(Card 是基于 Note 生成的),如按查询条件查找闪卡、获取闪卡信息、暂停、取消暂停闪卡或修改闪卡属性。
- 模型服务 (Model Service): 管理 Anki 中的模型(Model 或称笔记类型,定义了笔记的字段和闪卡模板),如获取模型列表、查找模型信息、获取字段/模板/样式信息、创建或更新模型。
- 媒体服务 (Media Service): 管理 Anki 中的媒体文件,如获取媒体文件内容、列出媒体文件、存储或删除媒体文件。
安装步骤
在安装和运行 Anki MCP 服务器之前,请确保您已经安装了 Anki 桌面应用,并且在 Anki 中安装并配置了 AnkiConnect 插件。
- 克隆仓库:
git clone https://github.com/ujisati/anki-mcp.git cd anki-mcp - 安装依赖: 推荐使用 'uv' 包管理工具(请确保您已安装 Python 3.8+ 和 'uv')。
如果您没有安装 'uv',也可以使用标准的 'pip':uv pip install -e .pip install -e .
服务器配置 (供 MCP 客户端使用)
MCP 客户端需要知道如何启动 Anki MCP 服务器并与其建立连接。以下是一个标准的 MCP 客户端配置示例(通常是 JSON 格式):
{ "mcpServers": { "anki": { // 服务器名称,客户端通过此名称引用该服务器 "command": "uv", // 启动服务器的可执行命令 "args": [ // 传递给命令的参数列表 "run", // uv 的子命令,用于运行项目模块 "anki-mcp" // 项目模块名称,uv 会在当前环境中查找并运行 ] // 注意: 如果您不是在 anki-mcp 项目的根目录下运行客户端, // 可能需要指定项目目录,例如: // "args": [ // "--directory", // "/ABSOLUTE/PATH/TO/anki-mcp", // 将此替换为 anki-mcp 仓库的绝对路径 // "run", // "anki-mcp" // ] } // 客户端可能配置其他 MCP 服务器... } }
基本使用方法
- 运行 Anki 桌面应用并确保 AnkiConnect 插件正在运行。 服务器将通过 AnkiConnect 与 Anki 通信(默认地址 'http://127.0.0.1:8765')。
- 在 Anki MCP 仓库目录下,运行服务器:
服务器启动后,将监听 MCP 客户端的请求。uv run anki-mcp - 配置并运行您的 MCP 客户端。 客户端会根据您在配置中提供的 'command' 和 'args' 启动或连接到 Anki MCP 服务器,并通过 MCP 协议调用其提供的工具。
信息
分类
生产力应用