概要
What is Apple Notes Mcp?
Apple Notes Mcp is a Model Context Protocol server that integrates with macOS Apple Notes via JXA (JavaScript for Automation). It provides semantic search, hybrid search, and full CRUD operations, allowing Claude and other MCP clients to read, create, update, delete, and manage Apple Notes through natural language commands. It is intended for macOS users who want AI-assisted note management.
How to use Apple Notes Mcp?
Install globally via npm (npm install -g @disco_trooper/apple-notes-mcp) or clone and build from source with Bun. Run bun run setup to run the setup wizard, which configures embedding providers, API keys, indexing preferences, and optionally adds the server to Claude Code configuration. After setup, tools such as search-notes, create-note, update-note, delete-note, move-note, index-notes, and others are available via MCP clients like Claude Code.
Key features of Apple Notes Mcp
- Semantic search finds notes by meaning, not keywords.
- Hybrid search combines vector and keyword search.
- Full CRUD: create, read, update, delete, and move notes.
- Incremental indexing re-embeds only changed notes.
- Dual embedding support: local HuggingFace or OpenRouter API.
- Claude Code integration works with the Claude Code CLI.
Use cases of Apple Notes Mcp
- Search for notes by conceptual meaning (e.g., "meeting notes from last week").
- Create new notes in specific folders via natural language.
- Retrieve full content of a note by its title.
- Move notes between folders (e.g., archive old projects).
- Re-index notes after manual edits to keep search results current.
FAQ from Apple Notes Mcp
Why do I get "Note not found"?
Use the full path format Folder/Note Title when multiple notes share the same name.
Why is the first search slow?
Local embeddings download the model on first use (~200 MB). Subsequent searches run at normal speed.
How do I enable write operations when "READONLY_MODE is enabled"?
Set READONLY_MODE=false in your .env file.
Why are some notes missing from search results?
Run index-notes to update the search index. Use mode: full if incremental indexing misses changes.
Why do I see JXA errors?
Ensure Apple Notes is running and contains at least one note. Grant automation permissions when prompted by macOS.