项目简介
这是一个基于 Model Context Protocol (MCP) 实现的服务器,旨在集成 Microsoft OneNote 服务,使支持 MCP 的 LLM 客户端能够访问、管理和创建 OneNote 中的内容。
主要功能点
- 访问 OneNote 内容:允许 LLM 客户端获取 OneNote 中的笔记本列表、笔记本下的分区列表、分区下的页面列表,以及读取指定页面的内容(包括文本和 HTML)。
- 创建 OneNote 内容:支持 LLM 客户端创建新的笔记本、在指定笔记本中创建新的分区、在指定分区中创建新的页面。
- 保存图表:一个特殊功能,允许 LLM 客户端生成 Mermaid 格式的图表,并将其渲染为图片后保存到 OneNote 的指定位置。
- 能力声明:通过 MCP 标准接口向客户端暴露其提供的 OneNote 工具和预设的 Prompt 模板。
安装步骤
- 克隆仓库:将 GitHub 仓库克隆到本地。
git clone https://github.com/rajvirtual/MCP-Servers.git cd MCP-Servers/onenote - 安装依赖:进入 'onenote' 目录并安装所需的 Node.js 依赖。
npm install # 或使用 yarn install / pnpm install - 配置认证:创建 '.env.local' 文件在 'onenote' 目录下,并填写 Microsoft Azure 应用的客户端 ID。
(如何获取 CLIENT_ID 请参考 Microsoft Azure 文档创建应用并授予 Microsoft Graph API 权限)CLIENT_ID=YOUR_AZURE_CLIENT_ID - 运行并认证:首次运行服务器时,它会尝试通过设备代码流进行 Microsoft 认证。请按照终端输出的指示,在浏览器中打开特定 URL,输入设备代码完成认证。认证成功后,服务器会保存认证信息以供后续使用。认证指示也可能被写入 'onenote/device-code.txt' 文件。
服务器配置
MCP 服务器通过标准输入输出 (Stdio) 与客户端通信。对于 MCP 客户端来说,需要配置连接到此服务器的启动命令和参数。典型的配置信息需要包含:
- 'name': 给这个连接起一个容易识别的名称,例如 "OneNote MCP Server"。
- 'connection': 描述连接细节。
- 'type': 固定为 "stdio",表示使用标准输入输出。
- 'command': 启动服务器进程的命令。对于此 Node.js 项目,通常是 'node' 或 'ts-node'。
- 'args': 传递给命令的参数,即服务器入口文件的路径。例如,如果项目被编译到 'dist' 目录,入口文件可能是 'dist/index.js';如果直接运行 TypeScript,可能是 'src/index.ts'。你需要提供到这个文件在你系统中的完整路径。
例如,一个配置示例可能指示客户端运行 'node' 命令,参数是 '/path/to/your/MCP-Servers/onenote/dist/index.js'(请将 '/path/to/your/' 替换为你实际的仓库路径,并根据你是否编译了代码调整入口文件路径)。
基本使用方法
配置好 MCP 客户端并连接到 OneNote MCP 服务器后,LLM 就可以通过客户端发现和调用服务器提供的工具(如 'onenote-read', 'onenote-create', 'onenote-diagram')以及使用相关的 Prompt 模板(如获取笔记本、创建页面等),从而实现与 OneNote 的交互。具体的交互方式取决于你的 LLM 客户端如何集成和利用 MCP 能力。
信息
分类
生产力应用