mcpField
O
OneNote MCP Server

OneNote MCP Server

本地服务
github.com/danosb生产力13381 周前更新

关于 OneNote MCP Server

OneNote MCP Server 是一个 MCP 服务,让 Claude 等 LLM 通过 AI 助手访问 Microsoft OneNote 中的笔记本、分区和页面。它基于 azure-onenote-mcp-server 修改,重点简化了认证流程。

主要功能

  1. 01设备码流程认证,无需配置 Azure
  2. 02列出笔记本、分区和页面
  3. 03读取页面内容,包括 HTML 格式
  4. 04创建包含 HTML 内容的新页面
  5. 05搜索笔记并汇总页面内容

适用场景

  1. 01让 AI 助手列出并查看 OneNote 笔记本结构
  2. 02在笔记本中创建会议摘要或工作记录页面
  3. 03根据“项目规划”等关键词查找相关笔记

MCP 相关

该项目是一个 MCP 服务,向 MCP 客户端暴露 authenticate、listNotebooks、getPage、createPage、searchPages 等工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

OneNote MCP 服务

一种模型上下文协议(MCP)服务实现,可让 Claude 等 AI 语言模型和其他大模型与 Microsoft OneNote 交互。

本项目基于 Zubeid Hendricks 的 azure-onenote-mcp-server,并进行了修改,以简化身份验证并提升易用性。

这是做什么的?

此服务允许 AI 助手:

  • 访问你的 OneNote 笔记本、分区和页面
  • 在笔记本中创建新页面
  • 搜索笔记
  • 读取完整的笔记内容,包括 HTML 格式和文本
  • 直接分析并总结笔记

所有操作都可直接通过 AI 界面完成,无需切换上下文。

与 AI 助手搭配使用

Cursor 设置
  1. 克隆此代码库并按照下方的安装步骤操作

  2. 启动 MCP 服务:npm start

  3. 在 Cursor 中注册此服务:

    • 打开 Cursor 首选项(Mac 上按 Cmd+,,Windows 上按 Ctrl+,)
    • 转到“MCP”选项卡
    • 添加一个新的 MCP 服务,并使用以下设置:
      • 名称:onenote
      • 命令:node
      • 参数:["/path/to/your/onenote-mcp.mjs"](使用绝对路径)

    以下是完整的 JSON 配置示例:

    {
      "mcpServers": {
        "onenote": {
          "command": "node",
          "args": ["/absolute/path/to/your/onenote-mcp.mjs"],
          "env": {}
        }
      }
    }
    
  4. 重启 Cursor

  5. 现在,你可以在 Cursor 中使用自然语言与 OneNote 数据交互:

Can you show me my OneNote notebooks?
Create a new page in my first notebook with a summary of this conversation
Find notes related to "project planning" in my OneNote

第一次询问 OneNote 相关内容时,AI 会引导你完成身份验证流程。

Claude Desktop(或其他兼容 MCP 的助手)设置
  1. 克隆此代码库并按照下方的安装步骤操作

  2. 启动 MCP 服务:npm start

  3. 在 Claude Desktop 设置中添加 OneNote MCP 服务:

    • 名称:onenote
    • 命令:node
    • 参数:["/path/to/your/onenote-mcp.mjs"](使用绝对路径)

    JSON 配置示例:

    {
      "mcpServers": {
        "onenote": {
          "command": "node",
          "args": ["/absolute/path/to/your/onenote-mcp.mjs"],
          "env": {}
        }
      }
    }
    
  4. 现在,你可以让 Claude 与 OneNote 数据交互

功能

  • 通过设备代码流程验证 Microsoft OneNote 身份(无需 Azure 设置)
  • 列出所有笔记本、分区和页面
  • 使用 HTML 内容创建新页面
  • 读取完整页面内容,包括 HTML 格式
  • 提取文本内容,供 AI 分析和总结
  • 一次性总结所有页面的内容
  • 以易读格式读取所有页面的完整内容
  • 搜索笔记

安装

前提条件
  • Node.js 16 或更高版本(从 nodejs.org 安装)
  • 拥有 OneNote 访问权限的有效 Microsoft 帐户
  • Git(从 git-scm.com 安装)
步骤 1:克隆代码库
git clone https://github.com/yourusername/onenote-mcp.git
cd onenote-mcp
步骤 2:下载 TypeScript SDK

本项目需要 MCP TypeScript SDK,需单独下载:

git clone https://github.com/modelcontextprotocol/typescript-sdk.git
cd typescript-sdk
npm install
npm run build
cd ..
步骤 3:安装项目依赖
npm install
步骤 4:启动 MCP 服务
npm start

这将启动 MCP 服务,你会看到一条消息:

Server started successfully.
Use the "authenticate" tool to start the authentication flow,
or use "saveAccessToken" if you already have a token.
步骤 5:通过 AI 助手进行身份验证

服务运行后,你可以直接通过 AI 助手进行身份验证:

  1. 在 Cursor、Anthropic 的 Claude Desktop 或任何兼容 MCP 的助手中,要求通过 OneNote 身份验证:

    Can you authenticate with my OneNote account?
    
  2. AI 会启动身份验证流程,并提供:

    • 一个 URL(通常为 microsoft.com/devicelogin)
    • 一个需要输入的代码
  3. 前往该 URL,输入代码,然后使用 Microsoft 帐户登录

  4. 成功完成身份验证后,即可开始通过 AI 助手使用 OneNote

可用的 MCP 工具

完成身份验证后,AI 助手可以使用以下工具:

工具名称描述
authenticate启动 Microsoft 身份验证流程
listNotebooks获取所有 OneNote 笔记本的列表
getNotebook获取特定笔记本的详细信息
listSections列出笔记本中的所有分区
listPages列出分区中的所有页面
getPage获取特定页面的完整内容,包括 HTML 格式
createPage创建包含 HTML 内容的新页面
searchPages搜索所有笔记本中的页面

交互示例

以下是通过 AI 助手与 OneNote MCP 交互的一些示例:

User: Can you show me my OneNote notebooks?
AI: (uses listNotebooks) I found 3 notebooks: "Work", "Personal", and "Projects"

User: What sections are in my Projects notebook?
AI: (uses listSections) Your Projects notebook has the following sections: "Active Projects", "Ideas", and "Completed"

User: Create a new page in Projects with today's date as the title
AI: (uses createPage) I've created a new page titled "2025-04-12" in your Projects notebook

User: Find all my notes about machine learning
AI: (uses searchPages) I found 5 pages with content related to machine learning...

User: Can you read and summarize my notes on the "Project Requirements" page?
AI: (uses getPage) Based on your "Project Requirements" page, here's a summary: The project requires Python 3.8+, integration with AWS services, and completion by Q3. Key deliverables include a web dashboard, API, and documentation...

User: Extract all the action items from my "Team Meeting" notes
AI: (uses getPage) Here are all the action items from your "Team Meeting" notes:
1. John to complete API documentation by Friday
2. Sarah to schedule design review meeting
3. Team to finalize Q3 roadmap by end of month

User: Summarize content of all my OneNote pages
AI: (runs get-all-page-contents.js) Here's a summary of all your pages:
- Questions: Contains strategic business questions about competitor analysis
- 2025-04-12: Discussion about monetization strategy for bank transfers
- Role Specification: Details about the Chief Payments Officer position
...

User: I want to read through all my OneNote pages so I can ask questions about them
AI: (runs read-all-pages.js) I've retrieved the full content of all your pages in a readable format. Now you can ask me specific questions about any of the content.

进阶:直接使用脚本

出于测试或开发目的,你也可以直接使用提供的脚本:

# Authenticate with Microsoft
npm run auth

# List your notebooks
npm run list-notebooks

# List sections in your first notebook
npm run list-sections

# List pages in the first section
npm run list-pages

# Create a new page
npm run create-page

# Summarize content of all pages
node get-all-page-contents.js

# Read full content of all pages
node read-all-pages.js

故障排除

身份验证问题
  • 如果身份验证失败,请确保使用未启用跟踪防护的现代浏览器
  • 尝试清除浏览器 Cookie 和缓存
  • 如果遇到 "expired_token" 错误,请重新启动身份验证流程
服务无法启动
  • 确认已安装 Node.js(版本 16+):node --version
  • 确保已安装所有依赖项:npm install
  • 检查 TypeScript SDK 是否已正确构建
AI 无法连接到服务
  • 确保 MCP 服务正在运行(npm start)
  • 检查 AI 助手的设置,确保已配置为使用 MCP
  • 对于 Cursor,请确保使用的是支持 MCP 的最新版本

安全说明

  • 身份验证令牌本地存储在 .access-token.txt 中
  • 令牌可访问你的 OneNote 数据,请妥善保管
  • 令牌会在一段时间后过期,需要重新进行身份验证
  • 无需进行 Azure 设置或使用 API 密钥

致谢

本项目基于 Zubeid Hendricks 的 azure-onenote-mcp-server 构建,重点在于简化身份验证流程,并改善 AI 助手的使用体验。

许可证

本项目采用 MIT 许可证,详情请参阅 LICENSE 文件

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。