返回市场
一线笔记-MCP

一线笔记-MCP

作者:danosb25 星标更新:2025-04-12

项目介绍

OneNote MCP 服务器

这是一个实现了模型上下文协议(MCP)的服务器,使像Claude和其他大型语言模型(LLMs)能够与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数据进行交互:

你能给我展示我的OneNote笔记本吗?
在我的第一个笔记本中创建一个新页面,包含这次对话的摘要
查找我OneNote中与“项目规划”相关的笔记

第一次询问关于OneNote时,AI会引导你完成认证过程。

Claude Desktop(或其他兼容MCP的助手)设置

  1. 克隆此仓库并按照以下安装步骤操作

  2. 启动MCP服务器:npm start

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

    • 名称:onenote
    • 命令:node
    • 参数:["/path/to/your/onenote-m- 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安装)

第一步:克隆仓库

git clone https://github.com/yourusername/onenote-mcp.git
cd onenote-mcp

第二步:下载TypeScript SDK

此项目需要单独下载的MCP TypeScript SDK:

git clone https://github.com/modelcontextprotocol/typescript-sdk.git
cd typescript-sdk
npm install
npm run build
cd ..

第三步:安装项目依赖

npm install

第四步:启动MCP服务器

npm start

这将启动MCP服务器,并显示消息:

服务器成功启动。
使用“authenticate”工具开始认证流程,
或者如果你已经有令牌,使用“saveAccessToken”。

第五步:通过你的AI助手进行认证

一旦服务器运行,你可以直接通过你的AI助手进行认证:

  1. 在Cursor、Anthropic的Claude Desktop或其他兼容MCP的助手中,请求与OneNote账户进行认证:

    你能与我的OneNote账户进行认证吗?
    
  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进行交互的例子:

用户:你能给我展示我的OneNote笔记本吗?
AI:(使用listNotebooks)我发现有3个笔记本:“工作”,“个人”和“项目”

用户:我的项目笔记本有哪些部分?
AI:(使用listSections)你的项目笔记本有以下部分:“正在进行的项目”,“想法”和“已完成”

用户:在项目笔记本中创建一个新页面,标题为今天的日期
AI:(使用createPage)我已经在你的项目笔记本中创建了一个标题为“2025-04-12”的新页面

用户:找到我所有关于机器学习的笔记
AI:(使用searchPages)我找到了5页与机器学习相关的内容...

用户:你能阅读并总结我在“项目需求”页面上的笔记吗?
AI:(使用getPage)根据你的“项目需求”页面,这是总结:项目需要Python 3.8+,与AWS服务集成,并在第三季度完成。主要交付物包括一个网页仪表板、API和文档...

用户:提取我“团队会议”笔记中的所有行动项
AI:(使用getPage)这是你“团队会议”笔记中的所有行动项:
1. John要在周五前完成API文档
2. Sarah要安排设计审查会议
3. 团队要在月底前最终确定第三季度路线图

用户:总结我所有OneNote页面的内容
AI:(运行get-all-page-contents.js)这是你所有页面的总结:
- 问题:包含有关竞争对手分析的战略业务问题
- 2025-04-12:讨论银行转账的货币化策略
- 角色说明:首席支付官职位的细节
...

用户:我想阅读所有我的OneNote页面,以便我可以就它们提问
AI:(运行read-all-pages.js)我已经以可读格式检索了你所有页面的完整内容。现在你可以问我关于任何内容的具体问题。

高级:直接脚本使用

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

# 与Microsoft进行认证
npm run auth

# 列出你的笔记本
npm run list-notebooks

# 列出你第一个笔记本中的部分
npm run list-sections

# 列出第一个部分中的页面
npm run list-pages

# 创建一个新页面
npm run create-page

# 总结所有页面的内容
node get-all-page-contents.js

# 读取所有页面的完整内容
node read-all-pages.js

故障排除

认证问题

  • 如果认证失败,请确保你使用的是没有追踪阻止功能的现代浏览器
  • 尝试清除浏览器的cookies和缓存
  • 如果收到“过期令牌”错误,请重新启动认证过程

服务器无法启动

  • 验证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文件获取详情