About

About

site icon
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账户和应用注册

安装教程

  1. 克隆仓库
  2. 安装依赖
npm install
  1. 构建项目
npm build
  1. 运行服务器
npm run

调试方式

  1. 确保服务器已启动并登录
  2. 测试API是否工作
{"jsonrpc": "2.0", "id": 3, "method": "tools/call", "params": {"name": "listNotebooks", "arguments": {}}}
  1. 配置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"
      }
    }
  }
}

许可证

该项目遵循 None 开源许可条款。