OneNote MCP服务器

一个用于OneNote的MCP服务器,支持个人笔记本,提供API调用和认证缓存功能。

  • by swax
  • TypeScript
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 swax/OneNoteMCP

使用说明

分叉自 ZubeidHendricks/天蓝色onenote mcp服务器 请参阅该页面以获取原始README.md

关于

OneNote的MCP。经过广泛的修改和修订,现在可以与个人笔记本一起使用。 更新至最新的MCP API。支持缓存凭据。

改进

功能

  • 固定的 getPageContent 通过实现ReadableStream实现功能
  • 针对个人笔记本成功实施API调用
  • 更新索引和工具以使用最新的MCP版本

代码架构

  • 通过删除不必要的类简化了代码库
  • 删除了许多不必要的文件

身份验证和性能

  • 为身份验证凭据实现了磁盘缓存
  • 更新了包依赖关系
  • 添加了对直接测试功能的dotenv支持

Azure应用程序注册

  1. 转到Azure门户并导航到应用程序注册
  2. 为OneNoteMCP创建新注册
  3. 添加Microsoft Graph API权限:
    • 笔记。阅读
    • 笔记。读。全部
    • (可选择添加Notes.Write权限,但有丢失笔记的风险)
  4. 创建客户端密钥
  5. 复制客户端ID/密钥以进行配置
  6. 在清单集中 signInAudience 向 AzureADandPersonalMicrosoftAccount

MCP服务器设置

把客户ID/秘密放在你的 .env 本地文件以及Claude桌面文件。

这 AUTH_CACHE_DIR 应该是您希望存储生成的API访问令牌的目录。

AZURE_CLIENT_ID=\
AZURE_CLIENT_SECRET=
AUTH_CACHE_DIR="C:\\git\\azure-onenote-mcp-server\\.cache"

首先手动运行服务器以生成将缓存并由使用的凭据 稍后运行服务器时,Claude桌面。

npm install
npm build
npm run

您可以在服务器启动并登录后直接运行此命令来测试API的工作情况。

{"jsonrpc": "2.0", "id": 3, "method": "tools/call", "params": {"name": "listNotebooks", "arguments": {}}}

Claude MCP配置

{
  "mcpServers": {
    "onenote": {
      "command": "node",
      "args": ["C:\\git\\azure-onenote-mcp-server\\dist\\index.js"],
      "env": {
        "AZURE_CLIENT_ID": "...",
        "AZURE_CLIENT_SECRET": "...",
        "AUTH_CACHE_DIR": "C:\\git\\azure-onenote-mcp-server\\.cache"
      }
    }
  }
}