Apple Notes MCP Server
Apple Notes MCP Server
An MCP (Model Context Protocol) server that lets Claude interact with Apple Notes on macOS. Since Apple Notes has no REST API, this server uses AppleScript (via osascript) to automate Notes.app.
Features
Notes: List, read, create, update, and delete notes
Folders: List and create folders
Search: Full-text search across all notes
Accounts: List available accounts (iCloud, On My Mac, etc.)
Move: Move notes between folders
Prerequisites
macOS (Apple Notes is macOS-only)
Node.js 18+
Apple Notes.app
Installation
git clone https://github.com/bfeeny/Apple-Notes-MCP.git
cd Apple-Notes-MCP
npm install
npm run buildmacOS Permissions
The first time you run the server, macOS will prompt you to grant Automation access. You can also configure this manually:
Open System Settings → Privacy & Security → Automation
Find your terminal app (Terminal, iTerm2, VS Code, etc.)
Enable the toggle for Notes
If you see Not authorized to send Apple events errors, this permission hasn't been granted.
Usage with Claude Desktop
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"apple-notes": {
"command": "node",
"args": ["<path-to-repo>/dist/index.js"]
}
}
}Usage with Claude Code
claude mcp add apple-notes node <path-to-repo>/dist/index.jsAvailable Tools
Tool | Description |
| List notes, optionally filtered by folder/account |
| Get the full content of a note by ID |
| Create a new note in a specified folder |
| Update the title or body of an existing note |
| Permanently delete a note |
| List all folders, optionally filtered by account |
| Create a new folder |
| Move a note to a different folder |
| Search notes by text content |
| List all available Notes accounts |
Development
npm run dev # Run with ts-node
npm run build # Compile TypeScript
npm start # Run compiled outputKnown Limitations
Tags are not exposed in the macOS AppleScript dictionary
Pinned notes cannot be pinned/unpinned programmatically
Rich text, tables, and drawings are not accessible — only text content
Large note libraries may be slow due to AppleScript iteration
Password-protected notes cannot be read or modified
License
MIT