
About

2025.04.22
0
TypeScript笔记管理云服务集成交流协作
OneNoteMCP是一个针对Microsoft OneNote的MCP(Microservice Communication Protocol)服务,主要用于与OneNote个人笔记本进行交互。它通过Azure应用注册和Microsoft Graph API权限实现认证,支持缓存凭证以提高性能。该服务简化了代码架构,移除了不必要的类,并更新了依赖项以支持最新的MCP API。
View on GitHub
Overview
基本能力
产品定位
OneNoteMCP是一个专为Microsoft OneNote设计的MCP服务,旨在通过API与OneNote个人笔记本进行交互,提供数据读取和写入功能。
核心功能
- 实现
getPageContent
功能,支持ReadableStream - 支持对个人笔记本的API调用
- 更新至最新的MCP版本
- 实现磁盘缓存认证凭证
- 添加dotenv支持以直接测试能力
适用场景
- 需要自动化管理OneNote笔记的场景
- 开发与OneNote集成的应用程序
- 需要批量读取或写入OneNote内容的场景
工具列表
listNotebooks
: 列出所有笔记本
常见问题解答
- 如何设置Azure应用注册?
- 在Azure门户中导航到应用注册
- 为OneNoteMCP创建新注册
- 添加Microsoft Graph API权限:Notes.Read和Notes.Read.All
- 创建客户端密钥
- 复制客户端ID/密钥以进行配置
- 在清单中将
signInAudience
设置为AzureADandPersonalMicrosoftAccount
使用教程
使用依赖
- Node.js环境
- Azure账户和应用注册
安装教程
- 克隆仓库
- 安装依赖
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"
}
}
}
}