使用说明
OneNote MCP服务器
一 MCP(模型上下文协议) 允许Claude访问您本地Microsoft OneNote笔记本的服务器。上面写着 .one 文件直接从磁盘,并通过COM API写入OneNote-无需Azure注册,无需API密钥,无需身份验证。
它的作用
此服务器解析桌面应用程序本地存储的OneNote备份文件,并将其作为Claude可以用来浏览、读取和写入笔记的工具公开。
阅读工具
| 工具 | 说明 |
|---|---|
list_notebooks |
列出所有本地可用的OneNote笔记本(来自备份文件) |
list_sections |
列出特定笔记本中的所有部分 |
read_section |
阅读一节的全文内容 |
search_notes |
在所有笔记本和分区中搜索文本 |
list_all_sections |
列出每个笔记本的每个部分 |
get_notebook_summary |
通过内容预览获取笔记本概述 |
书写工具
| 工具 | 说明 |
|---|---|
list_live_notebooks |
列出正在运行的OneNote应用程序中的笔记本/分区 |
create_page |
在任何笔记本分区中创建新页面 |
list_live_pages |
在一个部分中列出页面(带有用于附加的ID) |
append_to_page |
将内容附加到现有页面 |
书写工具使用OneNote COM API,并且要求OneNote桌面应用程序在Windows上运行。
先决条件
- Python 3.12+
- 紫外线 (推荐)或pip
- Microsoft OneNote桌面应用程序(带本地备份文件)
安装
git clone https://github.com/mhzarem/onenote-mcp.git
cd onenote-mcp
uv sync
或者使用pip:
git clone https://github.com/mhzarem/onenote-mcp.git
cd onenote-mcp
pip install "mcp[cli]" pyOneNote
设置
克劳德代码
claude mcp add --transport stdio onenote -- uv --directory /path/to/onenote-mcp run server.py
验证它是否已连接:
claude mcp list
克劳德桌面版
将此添加到您的 claude_desktop_config.json:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 视窗:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"onenote": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/onenote-mcp",
"run",
"server.py"
]
}
}
}
在Windows上,使用完整路径 uv.exe 双反睫毛:
{
"mcpServers": {
"onenote": {
"command": "C:\\Users\\YOUR_USER\\.local\\bin\\uv.exe",
"args": [
"--directory",
"C:\\path\\to\\onenote-mcp",
"run",
"server.py"
]
}
}
}
保存后重新启动Claude Desktop。
从何处读取文件
默认情况下,服务器从OneNote桌面应用程序的本地备份目录读取:
C:\Users\<user>\AppData\Local\Microsoft\OneNote\16.0\Backup\
要使用其他位置,请设置 ONENOTE_BACKUP_DIR 环境变量:
# Claude Code
claude mcp add --transport stdio --env ONENOTE_BACKUP_DIR=/path/to/notes onenote -- uv --directory /path/to/onenote-mcp run server.py
# Or export it
export ONENOTE_BACKUP_DIR=/path/to/your/onenote/files
使用示例
连接后,您可以问Claude:
阅读:
- “列出我的OneNote笔记本”
- “显示我的机器学习笔记本中的部分”
- “阅读我的算法笔记”
- “在我的笔记中搜索变压器”
- “给我一份编程笔记本的摘要”
写作:
- “在我的笔记本/快速笔记中创建一个名为“会议笔记”的新页面”
- “将我的面试准备笔记添加到OneNote”
- “将今天的摘要添加到我现有的页面”
运作原理
阅读:
- 扫描OneNote备份目录以查找
.one文件 - 按笔记本和分区组织它们(将备份版本分组在一起)
- 用途 pyOneNote 解析二进制文件
.one格式 - 提取物
RichEditTextUnicode每个部分的文本内容
写作:
- 通过COM API连接到正在运行的OneNote桌面应用程序
- 使用PowerShell子进程调用创建页面和更新内容
- 支持页面内容中的HTML格式
局限性
- 阅读:使用OneNote桌面备份文件,而不是没有本地备份的仅支持OneDrive的笔记本
- 阅读:仅提取文本内容;不包括图像和嵌入文件
- 写作:需要安装了OneNote桌面应用程序的Windows
- 写作:必须安装OneNote应用程序(它不需要打开-COM API将启动它)
许可证
麻省理工学院