Goodnotes MCP Server
Community-built MCP server that gives Claude access to GoodNotes notebooks from iCloud Drive, with OCR of handwritten notes via Apple's Vision framework.
goodnotes-mcp is a community-built MCP server (not officially maintained by Goodnotes Ltd) that lets Claude read GoodNotes notebooks stored in iCloud Drive and run OCR on handwritten content. It uses Apple's Vision framework for text recognition and Quartz for page rendering, so all processing happens locally on the user's Mac with no API keys, no GoodNotes account access, and no network requests.
The server exposes five tools for listing notebooks, checking which ones have full PDF export available, running OCR, searching OCR results, and fetching thumbnail previews. It uses a two-path OCR strategy: a fast thumbnail path that extracts and upscales the embedded .goodnotes preview to OCR the first page immediately, and a full PDF path that activates when a matching exported PDF sits alongside the notebook, rendering each page at 2x scale before running Vision OCR for full multi-page accuracy.
Because the server depends on Apple's Vision and Quartz frameworks, it is macOS only. Users need macOS 12 or later, Python 3.11+, and notebooks synced via iCloud. To unlock full multi-page OCR, the user exports each notebook to PDF inside GoodNotes (··· then Export then PDF to iCloud Drive).
Tools
| Tool | Description |
|---|---|
list_notebooks |
Locates all .goodnotes files synced to iCloud Drive. |
list_notebooks_with_export_status |
Lists notebooks and shows which ones have a matching exported PDF for full multi-page OCR. |
ocr_notebook |
Runs OCR on a notebook's handwriting, equations, and typed text using Apple Vision. Uses the thumbnail path or the full PDF path depending on availability. |
search_notebook_ocr |
Searches OCR'd content across notebooks for a specific term or phrase. |
get_notebook_thumbnail |
Extracts the first-page thumbnail of a notebook and returns it as a base64-encoded JPEG. |
Prerequisites
- macOS 12 or later (Apple Vision and Quartz frameworks)
- Python 3.11+
uvpackage manager (or pip)- GoodNotes notebooks synced to iCloud Drive
- For full multi-page OCR: export each notebook to PDF inside GoodNotes (··· then Export then PDF to iCloud Drive)
Install
git clone https://github.com/hudsonmp/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 Desktop config
Edit ~/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"]
}
}
}
Replace /path/to/goodnotes-mcp with the absolute path to your cloned repo. Restart Claude Desktop.
Claude Code
Use claude mcp add with the same Python interpreter and server.py paths.
Notes
- No API keys or GoodNotes account access required.
- The server reads local iCloud Drive files only. Make sure your notebooks are actually downloaded locally, not just placeholders.
- Search across all handwritten notebooks for a topic, then pull the relevant passages into a summary
- Convert lecture or meeting notebooks into typed text for sharing or further editing
- Extract handwritten equations or formulas from math and physics notes for review with an AI tutor
- Build a knowledge base by OCR'ing class notebooks and letting Claude answer questions grounded in them
- Quickly preview a notebook's first page as an image when scanning many files in iCloud Drive
- "List all my GoodNotes notebooks and tell me which ones have full multi-page OCR available."
- "Run OCR on my 'Physics 101' notebook and summarize the key concepts I wrote down."
- "Search across all my notebooks for anything I wrote about gradient descent."
- "Show me the thumbnail of my 'Q3 Planning' notebook so I can confirm it's the right one."
- "OCR my 'Calculus Lecture 4' notebook, extract any equations, and rewrite them in LaTeX."
- Fully local: no API keys, no network calls, no GoodNotes account access required
- Uses Apple's Vision framework, which handles handwriting, equations, and typed text well
- Two OCR paths balance speed (thumbnail) with full coverage (exported PDF)
- Simple setup with
uvand a standard Claude Desktop config block
- macOS only, since it depends on Apple Vision and Quartz frameworks
- Without an exported PDF alongside each notebook, OCR is limited to the first-page thumbnail
- Community project, not officially maintained or endorsed by Goodnotes Ltd
- mcp-apple-notes for AI access to Apple Notes on macOS
- MCPNotes for a simple AI-managed note-taking server
- Notion or Obsidian MCP servers for typed (non-handwritten) note search and retrieval