mcp-apple-notes
Provides tools to list, read, create, update, delete, and search notes in Apple Notes on macOS, with Markdown content conversion and support for folders and iCloud accounts.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-apple-notessearch my notes for meeting notes"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-apple-notes
An MCP (Model Context Protocol) server that exposes Notes.app on macOS as tools for LLM agents — list, read, create, update, delete, and search notes.
Part of the migo-mcp monorepo of independent MCP servers for Apple apps.
Requirements
macOS (uses JXA/
osascriptto automate Notes.app — there's no other public API for Notes)Node.js 18+
A single iCloud account in Notes.app (multi-account is not supported)
Related MCP server: Apple Notes MCP
Install
npm install
npm run buildTools
Tool | Description |
| List notes ( |
| Read a note's full content (Markdown) by |
| Create a note from Markdown |
| Replace a note's entire |
| Delete a note by |
| Case-insensitive substring search over title + content. Optional |
Notes:
Content is exchanged as Markdown, not HTML. Notes.app stores bodies as HTML internally; this server converts both ways.
Images embedded in a note's body are replaced with a
[imagen adjunta]placeholder instead of being inlined as base64 — attachments are out of scope."Recently Deleted" is excluded from
list_notes/search_notesresults.
Running it from Claude Desktop
Add it to your Claude Desktop MCP config with a local path (this package isn't published to npm):
{
"mcpServers": {
"apple-notes": {
"command": "node",
"args": ["/absolute/path/to/mcp-apple-notes/dist/index.js"]
}
}
}The first call that touches Notes.app triggers a macOS Automation permission prompt. If it's denied or the process runs non-interactively, grant access manually in System Settings → Privacy & Security → Automation, then retry.
Development
npm run build # compile TypeScript (tsc) to dist/
npm test # run unit tests (node --test) against dist/**/*.test.js
npm start # run the compiled server directly (stdio transport)Only pure logic (Markdown↔HTML conversion, error formatting) has automated tests. Anything that touches Notes.app itself is verified manually, since it requires real macOS automation and mutates real data.
See CHANGELOG.md for release history and the repository root CLAUDE.md for architecture notes.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/santiago-migoni/mcp-apple-notes'
If you have feedback or need assistance with the MCP directory API, please join our Discord server