使用说明
项目简介
本项目 'anki-mcp-server' 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在使大型语言模型 (LLM) 能够与流行的闪卡记忆软件 Anki 进行交互。通过 AnkiConnect 插件,该服务器允许 LLM 执行诸如创建、搜索、更新和删除 Anki 闪卡等操作,从而将 Anki 的知识库能力整合到 LLM 应用中。
主要功能点
- 管理Anki卡组 (Decks): 列出所有卡组、创建新的卡组。
- 管理Anki笔记 (Notes): 创建各种类型的笔记(基础型、填空型),批量创建笔记,搜索笔记,获取笔记信息,更新和删除笔记。
- 管理Anki笔记类型 (Note Types): 列出所有笔记类型、创建新的笔记类型。
- 工具集成: 通过 MCP 协议将上述 Anki 功能以工具 (Tools) 的形式暴露给 LLM 客户端,方便 LLM 调用和使用。
总而言之,通过此 MCP 服务器,LLM 可以方便地利用 Anki 作为知识库,实现知识的存储、检索和复习等功能,极大地扩展了 LLM 在知识管理和学习辅助方面的应用场景。
安装步骤
- 安装 Anki: 确保您的系统上已安装 Anki 闪卡软件。
- 安装 AnkiConnect 插件: 在 Anki 中安装 AnkiConnect 插件。这是 MCP 服务器与 Anki 软件通信的桥梁。
- 安装 Node.js 和 npm: 确保您的开发环境已安装 Node.js 和 npm (Node Package Manager)。
- 下载仓库代码: 从 GitHub 仓库 https://github.com/nailuoGG/anki-mcp-server 下载代码到本地。
- 安装依赖: 在项目根目录下,打开终端并执行命令 'npm install',安装项目所需的依赖包。
- 构建服务器: 执行命令 'npm run build',编译 TypeScript 代码生成可执行的 JavaScript 服务器代码。
服务器配置
MCP 客户端需要配置以下 JSON 信息才能连接到 'anki-mcp-server' 服务器。请根据您的实际环境调整 'command' 和 'args' 字段。
{ "serverName": "anki-mcp-server", // 服务器名称,可以自定义 "command": "node", // 启动服务器的命令,这里使用 node "args": [ // 启动命令的参数 "build/index.js" // 指向编译后的服务器入口文件 (src/index.ts 编译后生成) ] }
配置说明:
- 'serverName': 为您的 MCP 服务器指定一个名称,方便在客户端识别和管理。
- 'command': 运行服务器程序的可执行命令。由于本项目是 Node.js 应用,因此这里设置为 'node'。
- 'args': 传递给 'command' 的参数数组。这里指向了 'npm run build' 命令生成的服务器入口文件 'build/index.js'。请确保此路径相对于 MCP 客户端的运行环境是正确的。
注意:
- 确保 Anki 软件和 AnkiConnect 插件已正确安装并运行。
- 首次运行服务器前,请务必执行 'npm run build' 命令构建项目。
- 如果您在开发环境中,可以使用 'npm run watch' 命令,它会在代码更改时自动重新构建服务器,方便调试。
基本使用方法
- 启动 MCP 服务器: 在配置好 MCP 客户端后,启动客户端,客户端会根据您提供的配置信息尝试连接 'anki-mcp-server'。
- LLM 客户端请求: 在 LLM 应用中,您可以指示 LLM 调用 'anki-mcp-server' 提供的工具来操作 Anki。例如:
- 让 LLM 调用 'list_decks' 工具,获取当前 Anki 中所有卡组的列表。
- 让 LLM 调用 'create_note' 工具,创建一个新的闪卡到指定的卡组中。
- 让 LLM 调用 'search_notes' 工具,根据关键词搜索 Anki 中的笔记。
- 更多工具的使用方法请参考仓库 'README.md' 文件中 "Features - Tools" 部分的描述和 'src/index.ts' 中的工具定义。
- 查看结果: MCP 服务器会将工具执行的结果以 MCP 响应的形式返回给 LLM 客户端,LLM 应用可以解析这些响应并进行后续处理,例如将卡组列表展示给用户,或者根据搜索结果进行知识检索等。
通过以上步骤,您就可以利用 'anki-mcp-server' 将 Anki 闪卡软件的功能集成到您的 LLM 应用中,实现更强大的知识管理和交互能力。
信息
分类
生产力应用