GoodNotes笔记本OCR服务

一个通过iCloud Drive让Claude访问GoodNotes笔记本的MCP服务器,包括使用Apple Vision框架对手写笔记进行OCR。

  • by hudsonmp
  • Python
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 hudsonmp/goodnotes-mcp

使用说明

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上运行,而不是直接在笔划数据上运行。

许可证

麻省理工学院