article
README
🚀 OneNote MCP 服务器
OneNote MCP 服务器是一个基于 Model Context Protocol (MCP) 的服务器,它借助浏览器自动化技术,让用户能通过浏览器对 OneNote 网页应用进行浏览和交互操作。该服务器为 AI 助手和其他兼容 MCP 的客户端提供支持,使其可以通过编程的方式,对通过网络链接共享的 OneNote 笔记本进行浏览和交互。
🚀 快速开始
OneNote MCP 服务器能让您轻松地以编程方式与 OneNote 网页应用进行交互。以下是使用该服务器的大致步骤:
- 完成服务器的安装。
- 依据需求选择单独运行模式或者与 Claude Desktop 等 MCP 主机集成。
- 运用提供的工具开展各种操作。
✨ 主要特性
- 可浏览 OneNote 的分层结构,涵盖笔记本、部分和页面。
- 能够从 OneNote 读取页面内容。
- 支持向现有页面添加新内容。
- 可以创建新页面。
- 能在 OneNote 中进行搜索。
- 可截取当前视图的屏幕截图。
- 能维护会话中的状态。
📦 安装指南
# 克隆仓库或创建项目结构
# 然后导航到项目目录
cd onenote-mcp
# 安装包和依赖项
pip install -e .
# 安装 Playwright 浏览器
playwright install
💻 使用示例
基础用法
单独运行模式
可以直接运行服务器:
python -m onenote_mcp
与 Claude Desktop 或其他 MCP 主机集成
- 配置您的 Claude Desktop 使用 OneNote MCP 服务器,通过编辑配置文件:
{
"mcpServers": {
"onenote": {
"command": "python",
"args": ["-m", "onenote_mcp"]
}
}
}
- 启动 Claude Desktop,它会自动启动 OneNote MCP 服务器。
- 在与 Claude 的聊天中使用提供的工具:
你能帮我导航到我的 OneNote 笔记本 https://example.com/my-shared-notebook 吗?
首先,请打开此 URL 的 OneNote 并告诉我有哪些笔记本可用。
高级用法
您可以根据具体需求,灵活组合使用以下可用工具,实现更复杂的操作:
launch_onenote(shared_url): 使用共享的 notebook URL 打开 OneNote 网页应用get_all_notebooks(): 列出所有可用的笔记本get_all_sections(): 列出当前笔记本中的所有部分get_all_pages(): 列出当前部分中的所有页面navigate_to_notebook_by_name(notebook_name): 跳转到特定的笔记本navigate_to_section_by_name(section_name): 跳转到特定的部分navigate_to_page_by_name(page_name): 跳转到特定的页面get_current_page_content(): 获取当前页面的内容add_content_to_page(content): 向当前页面添加内容create_new_page_with_name(page_name): 创建一个新页面search_in_onenote(search_term): 在 OneNote 中搜索特定术语take_screenshot(): 截取当前视图的屏幕截图get_onenote_state(): 获取当前状态信息close_onenote(): 关闭 OneNote 会话并清理资源
🔧 技术细节
此 MCP 服务器使用 browser-use(一个浏览器自动化框架)来与 OneNote 网页界面交互。它在 MCP 兼容 AI 助手和 OneNote 网络应用之间创建了桥梁,实现了对 OneNote 功能的程序化控制。
📚 详细文档
局限性
- 仅适用于通过公共链接共享(无需身份验证)的 OneNote 笔记本。
- 如果 OneNote 网页界面发生变化,服务器可能需要调整。
- 浏览器自动化在某种程度上可能脆弱且依赖于 UI 结构。
- 性能可能会因网络条件和 OneNote 的响应速度而有所不同。
注意事项
⚠️ 重要提示
请确保安装了所有必需的依赖项(Python、browser-use、MCP SDK 和 Playwright),在运行服务器之前,请确保您有有效的 OneNote 笔记本 URL,如果遇到任何问题,请检查日志或查阅相关文档。
扫码联系在线客服