article
README
🚀 OneNote的MCP(Microsoft Cloud Partner)项目
本项目是一个用于OneNote的MCP(Microsoft Cloud Partner)。它基于原始项目进行了重大修改,如今支持个人笔记本。不仅更新至最新MCP API版本,还实现了凭证缓存功能,为用户带来更便捷的使用体验。
🚀 快速开始
Azure应用注册指南
- 登录Azure Portal,进入应用注册界面。
- 为OneNoteMCP创建一个新的应用注册。
- 添加Microsoft Graph API权限:
- Notes.Read
- Notes.Read.All
- (可选)添加Notes.Write权限(存在笔记丢失风险)
- 创建客户端密钥。
- 复制获取的客户ID和密钥用于配置。
- 在应用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支持以实现本地直接测试能力。
扫码联系在线客服