小贴士:按下Ctrl+D 或 ⌘+D,一键收藏本站,方便下次快速访问!
2
最近更新:3个月前

MCP服务器,用于通过浏览器自动化浏览并与OneNote网页应用交互

OneNote MCP Server

一个用于通过浏览器自动化浏览和操作OneNote网页应用的MCP(模型上下文协议)服务器。该服务器使AI助手和其他MCP兼容客户端能够以编程方式浏览和操作通过网页链接共享的OneNote笔记本。

功能特性

  • 导航OneNote的层级结构(笔记本、分区、页面)
  • 读取OneNote页面内容
  • 向现有页面添加新内容
  • 创建新页面
  • 在OneNote内搜索
  • 截取当前视图的屏幕截图
  • 保持会话状态

系统要求

  • Python 3.10或更高版本
  • browser-use 0.1.40或更高版本
  • MCP SDK 1.2.0或更高版本
  • Playwright
  • 网络连接
  • 共享的OneNote笔记本URL(必须无需认证即可访问)

安装指南

bash 复制代码
# 克隆仓库或创建项目结构
# 然后进入项目目录
cd onenote-mcp

# 安装包及其依赖项
pip install -e .

# 安装Playwright浏览器
playwright install

使用方法

独立运行模式

可直接运行服务器:

bash 复制代码
python -m onenote_mcp

与Claude Desktop或其他MCP主机集成

  1. 通过编辑配置文件配置Claude Desktop使用OneNote MCP服务器:
json 复制代码
{
  "mcpServers": {
    "onenote": {
      "command": "python",
      "args": ["-m", "onenote_mcp"]
    }
  }
}
  1. 启动Claude Desktop,将自动启动OneNote MCP服务器
  2. 在与Claude对话时使用可用工具:
复制代码
能否帮我导航我的OneNote笔记本(位于https://example.com/my-shared-notebook)?
首先请用此URL启动OneNote并告诉我有哪些可用笔记本。

可用工具

  • launch_onenote(shared_url):使用共享笔记本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响应速度而异

故障排除

  • 如果服务器无法连接OneNote,请确保共享链接无需登录即可访问
  • 如果选择器失效,可能是OneNote UI已更改 - 检查服务器代码
  • 对于其他问题,查看服务器日志获取错误详情

许可证

MIT