OneNote MCP 让大模型管理笔记

共计 4826 个字符,预计需要花费 13 分钟才能阅读完成。

我一直用 OneNote 记笔记,几年下来攒了几百篇,但 OneNote 的搜索功能实在让人头疼——搜个关键词经常找不到,跨笔记本搜索更是几乎不可能。之前就想过能不能用大模型来帮我管理这些笔记,试了好几个方案都不行:直接用 OneNote API 写脚本太麻烦,Copilot 又只支持 Microsoft 365 订阅用户,而且只能操作当前页面。

直到最近发现了 OneNote MCP Server,终于跑通了:Claude 直接读取我的 OneNote 笔记本,搜索、创建、整理笔记全靠自然语言驱动。踩了不少坑(原仓库认证已失效,必须用修复分支),把成功的方法记录下来分享给大家
。

现在有了 MCP(Model Context Protocol),大模型可以直接操作你的 OneNote,搜索、创建、编辑笔记全靠自然语言驱动。本文将介绍如何通过 OneNote MCP Server,让 Claude 等 AI 助手成为你的笔记管家。

OneNote MCP 让大模型管理笔记
OneNote MCP 让大模型管理笔记

整体架构

先说下整体的技术架构:

用户自然语言指令 → AI 助手(Claude/Cursor) → MCP Client → OneNote MCP Server → Microsoft Graph API → OneNote

核心组件:

  1. AI 助手(MCP Host):Claude Desktop、Cursor 等,负责理解用户意图,决定调用哪个工具
  2. MCP Client:通信中间件,处理 JSON-RPC 协议交互
  3. OneNote MCP Server:暴露 OneNote 操作为 MCP 工具,通过 Microsoft Graph API 与 OneNote 交互
  4. Microsoft Graph API:OneNote 的官方 API,所有数据操作都走这里

关键点:MCP Server 是桥梁,它把 OneNote 的 API 能力"翻译"成大模型能理解的标准工具描述,AI 助手根据描述自动选择合适的工具执行操作。

MCP 协议简介

MCP(Model Context Protocol)是 Anthropic 推出的开放协议,现已移交 Linux Foundation 维护。简单理解,它就是 AI 应用的 USB 接口——为 AI 模型连接不同数据源和工具提供标准化方法。

MCP 解决了什么问题

没有 MCP 之前,让大模型调用外部服务需要:

  1. 手动获取各 API 的描述信息(入参、出参、使用场景)
  2. 把用户问题和工具描述拼成 Prompt 发给大模型
  3. 大模型返回结构化调用请求
  4. 开发者写代码把请求发给对应 API
  5. 把结果整合后返回给用户

痛点:每个 API 都要单独适配,功能升级后应用必须改代码,维护成本高。

有了 MCP 之后:

  • AI 助手启动时自动发现 MCP Server 的能力(list_tools)
  • 根据用户意图自动选择工具和参数(call_tool)
  • 功能升级无需人工干预,客户端自动感知新能力

MCP 核心架构

MCP 采用客户端-服务器架构,包含三个角色:

角色 说明 示例
MCP Host AI 应用,用户交互入口 Claude Desktop、Cursor、Cline
MCP Client 协议中间件,与 Server 一对一连接 内嵌在 Host 中
MCP Server 工具集,暴露资源和能力 OneNote MCP、Filesystem MCP

MCP Server 对外暴露三种能力:

  • Tools:可调用的工具函数(如搜索笔记、创建页面)
  • Resources:可访问的数据资源(如文件路径、API 端点)
  • Prompts:预定义的提示词模板

通信方式有两种:stdio(本地通信,命令行调用)和 SSE + HTTP(远程通信,跨网络)。

OneNote MCP Server 实操

OneNote MCP Server 是一个开源项目,基于 MCP 协议让 AI 助手能够与 Microsoft OneNote 交互。它基于 azure-onenote-mcp-server 改进,简化了认证流程。

安装与认证

⚠️ 认证问题:原项目 danosb/onenote-mcp 的认证流程已失效(约一年前编写)。开发者 morbificagent 提交了 PR #4 修复认证问题,但原仓库维护者未合并。必须使用 morbificagent 的分支代码才能正常认证。

步骤一:克隆修复分支并安装依赖

git clone https://github.com/morbificagent/onenote-mcp.git
cd onenote-mcp
npm install

步骤二:完成微软账号认证

node authenticate.js

终端会提示打开一个 URL 并输入设备码,在浏览器中用微软账号授权即可。授权成功后,token 自动保存到 .access-token.txt 文件。

步骤三:启动 MCP Server

node onenote-mcp.mjs

与 Claude Desktop 集成

在 Claude Desktop 的配置文件中添加 OneNote MCP Server:

{
  "mcpServers": {
    "onenote": {
      "command": "node",
      "args": ["/path/to/onenote-mcp/onenote-mcp.mjs"]
    }
  }
}

配置文件位置:

  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json

与 Cursor 集成

在 Cursor 的 MCP 设置中添加同样的配置,指向 onenote-mcp.mjs 文件路径即可。

可用工具一览

认证成功后,AI 助手可使用以下工具操作 OneNote:

工具名 功能
authenticate 启动微软认证流程
listNotebooks 列出所有 OneNote 笔记本
getNotebook 获取特定笔记本详情
listSections 列出笔记本中的分区
listPages 列出分区中的页面
getPage 获取页面完整内容(含 HTML 格式)
createPage 创建新页面(HTML 内容)
searchPages 跨笔记本搜索页面

此外,增强版还支持:追加文本、替换文字、添加待办事项、插入表格、格式化注释等高级操作。

典型使用场景

场景一:智能搜索与摘要

用户:帮我找一下关于"项目排期"的所有笔记,并总结要点
AI:(调用 searchPages) 找到 5 篇相关笔记
AI:(调用 getPage 逐篇读取) 生成摘要...
AI:以下是关于"项目排期"的笔记摘要:
    1. Q1排期表:包含3个核心里程碑...
    2. 开发排期讨论:前端2周、后端3周...

传统方式:打开 OneNote → 手动搜索 → 逐篇阅读 → 自己总结。现在一句话搞定。

场景二:会议纪要自动归档

用户:把这段会议纪要保存到"工作"笔记本的"会议记录"分区,标题用今天的日期
AI:(调用 listNotebooks → listSections → createPage)
AI:已创建页面 "2026-05-22" 在 工作/会议记录 分区

场景三:跨笔记本知识整理

用户:我"项目"笔记本里有哪些笔记是跟机器学习相关的?整理一份清单
AI:(调用 searchPages 跨笔记本搜索)
AI:找到 3 篇相关笔记:
    1. 模型选型对比(项目/Active Projects)
    2. 训练数据清洗方案(项目/Ideas)
    3. ML Pipeline 架构设计(项目/Active Projects)

场景四:笔记内容改写与润色

用户:帮我把"项目需求"这篇笔记整理成更清晰的格式,加上待办事项
AI:(调用 getPage 读取 → 处理 → createPage 或更新)
AI:已整理完成,添加了 5 个待办事项,重新组织了章节结构

坑点与注意事项

Token 过期问题

OneNote MCP Server 的访问令牌存储在 .access-token.txt 文件中,Token 会过期。过期后需要重新运行 node authenticate.js 完成认证。建议:

  • 不要删除 .access-token.txt 文件
  • Token 过期时 AI 助手会调用 authenticate 工具提示重新认证
  • 如果频繁过期,考虑写个定时脚本刷新 Token

认证分支选择

⚠️ 这是最大的坑:原仓库的认证已失效,必须用修复分支。

  • ❌ 原仓库:https://github.com/danosb/onenote-mcp(认证失效)
  • ✅ 修复分支:https://github.com/morbificagent/onenote-mcp/tree/main
  • 修复 PR:PR #4

如果你 clone 了原仓库然后认证失败,大概率就是这个问题。

安全注意事项

  • .access-token.txt 包含微软账号的访问令牌,不要提交到 Git 仓库
  • 建议在 .gitignore 中添加 .access-token.txt
  • 所有数据操作都通过 Microsoft Graph API 完成,走的是官方 API,数据安全性有保障
  • AI 助手只能访问你授权范围内的笔记本和页面

大模型的准确性与稳定性

MCP 让大模型具备了操作 OneNote 的能力,但大模型本身存在一些固有问题:

  • 准确性:大模型可能误解用户意图,比如你说"整理笔记",它可能删除了某些内容而不是重新组织
  • 稳定性:同样的指令,两次执行的任务流程可能不一致
  • 建议:对于删除、修改等不可逆操作,先让 AI 确认再执行;重要笔记做好备份

复杂表格编辑有限

OneNote MCP Server 对复杂表格的编辑能力有限,如果笔记中包含大量复杂表格,AI 操作可能不够精准。建议对这类内容先导出备份再让 AI 处理。

替代方案

OneNote MCP 并不是唯一选择,根据你的笔记工具,还有以下方案:

方案 适用场景 特点
OneNote MCP OneNote 用户 开源免费,功能全面,需自行部署
OneNote Copilot Microsoft 365 订阅用户 官方内置,无需配置,但需付费订阅
Obsidian MCP Obsidian 用户 本地 Markdown 笔记,社区活跃
Apple Notes MCP Apple 生态用户 本地数据库访问,仅 macOS
Notion MCP Notion 用户 API 完善,协作友好

如果你已经在用 Microsoft 365 Copilot 订阅,OneNote 内置的 Copilot 也能实现类似功能(摘要、创建、改写),但它的操作范围仅限于当前笔记本页面,不如 MCP 方案灵活。

总结

这套方案的核心优势在于:

  • 自然语言交互:不用记快捷键和操作路径,说句话就能管理笔记
  • 跨笔记本操作:搜索、整理不再受限于单个笔记本
  • AI 增强能力:摘要、改写、分类、待办提取,这些 OneNote 本身做不好的事,AI 轻松搞定
  • 标准化协议:MCP 是开放标准,未来更多 AI 助手和工具会支持

当然也有一些注意事项:

  • 认证分支要选对,原仓库已失效
  • Token 会过期,需要定期重新认证
  • 大模型的操作不是 100% 可靠,重要操作建议先确认
  • 复杂表格编辑能力有限

总的来说,如果你是 OneNote 重度用户,又想让 AI 帮你管理笔记,OneNote MCP 是目前最实用的方案。配置一次,长期受益。

参考资料

正文完
 
root
版权声明:本站原创文章,由 root 2026-05-22发表,共计4826字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。