mcp
一个MCP(模型上下文协议)服务器,允许克劳德通过iCloud Drive访问您的GoodNotes笔记本电脑,包括使用苹果的Vision框架(与iPhone Live Text相同的引擎)对手写笔记进行OCR。
它做什么
| 工具 | 说明 |
|---|---|
list_notebooks | 查找全部 .goodnotes 已同步到iCloud Drive的文件 |
list_notebooks_with_export_status | 显示哪些笔记本具有可用的完整多页OCR |
ocr_notebook | OCR笔记本——手写、方程式、打字文本 |
search_notebook_ocr | 在OCR内容中搜索术语 |
get_notebook_thumbnail | 以base64 JPEG格式返回第一页缩略图 |
OCR策略
GoodNotes .goodnotes 文件是zip存档。手写笔划数据是专有的protobuf,不能直接解析。服务器使用两条路径:
路径1--缩略图OCR (立即生效,仅限第一页): 提取物 thumbnail.jpg 从拉链开始,用Lanczos放大3倍,跑步 VNRecognizeTextRequest 准确的水平。
路径2——导出的PDF OCR (所有页面,精度更高): 如果旁边存在同名PDF .goodnotes Quartz以2倍的比例渲染每个页面,然后Vision OCR渲染每个图像。
在iPad/iPhone上的GoodNotes中启用路径2→ ··· → 出口 → PDF → 保存到iCloud Drive。
需求
- macOS 12+(使用Apple Vision和Quartz框架)
- Python 3.11+
uv(推荐)或pip- GoodNotes笔记本已同步到iCloud Drive
安装
git clone https://github.com/YOUR_USERNAME/goodnotes-mcp
cd goodnotes-mcp
uv venv --python 3.13 .venv
uv pip install --python .venv/bin/python mcp pypdf pyobjc-framework-Vision pyobjc-framework-Quartz Pillow使用克劳德代码注册
claude mcp add goodnotes -s user -- \
/path/to/goodnotes-mcp/.venv/bin/python \
/path/to/goodnotes-mcp/server.py在Claude Desktop注册
添加 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"goodnotes": {
"command": "/path/to/goodnotes-mcp/.venv/bin/python",
"args": ["/path/to/goodnotes-mcp/server.py"]
}
}
}无需凭据
服务器读取 .goodnotes 文件直接从iCloud驱动器-没有API密钥,没有GoodNotes帐户访问,没有网络请求。iCloud同步处理保持文件最新。
GoodNotes文件的工作原理
notebook.goodnotes (zip archive)
├── thumbnail.jpg ← rendered first-page preview (OCR path 1)
├── attachments/UUID ← original imported PDF background
├── notes/UUID ← handwriting strokes (proprietary protobuf)
├── index.notes.pb ← page metadata
└── index.search.pb ← search index这 notes/UUID 二进制存储矢量笔划路径——坐标、压力、颜色——而不是渲染像素。这就是为什么Vision OCR在缩略图或导出的PDF上运行,而不是直接在笔划数据上运行。
许可证
麻省理工学院
