Back to MCP directory
publicPublicdnsLocal runtime

OneNoteMCP

一个改进版的OneNote MCP服务器,支持个人笔记本,优化了认证和性能

article

README

🚀 OneNote的MCP(Microsoft Cloud Partner)项目

本项目是一个用于OneNote的MCP(Microsoft Cloud Partner)。它基于原始项目进行了重大修改,如今支持个人笔记本。不仅更新至最新MCP API版本,还实现了凭证缓存功能,为用户带来更便捷的使用体验。

🚀 快速开始

Azure应用注册指南

  1. 登录Azure Portal,进入应用注册界面。
  2. 为OneNoteMCP创建一个新的应用注册。
  3. 添加Microsoft Graph API权限:
    • Notes.Read
    • Notes.Read.All
    • (可选)添加Notes.Write权限(存在笔记丢失风险)
  4. 创建客户端密钥。
  5. 复制获取的客户ID和密钥用于配置。
  6. 在应用manifest中将signInAudience设置为AzureADandPersonalMicrosoftAccount

MCP服务器搭建

将客户ID和密钥放入本地.env文件,并在Claude桌面也进行相应配置。AUTH_CACHE_DIR应指定缓存凭证的存放目录。

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"
      }
    }
  }
}

✨ 主要特性

功能改进

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

代码架构优化

  • 简化了代码库,移除了不必要的类。
  • 删除了很多冗余文件。

认证与性能优化

  • 实现了磁盘缓存用于存储认证凭证。
  • 更新依赖项包。
  • 加入dotenv支持以实现本地直接测试能力。
help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client