You have a folder in Notes called “Misc” with 200 notes in it. You know the thing you need is in there. You do not know what you titled it, and Notes search only matches words that are actually on the page.
Apple Notes MCP fixes the retrieval half of that problem. Not by making Notes smarter, but by handing the search job to something that can read all 200 notes and tell you which three are relevant.
- There is no official server. Apple has not built one, and everything here is community work.
- sweetrb/apple-notes-mcp is the one to install. Actively maintained, 40-plus tools, one command to set up.
- RafalWilinski/mcp-apple-notes pioneered semantic search over Notes, but the repository has been quiet since December 2024.
- macOS only, no exceptions. Both servers depend on AppleScript or JXA, which do not exist on Windows or iPadOS.
- Everything runs locally. Nothing leaves your Mac unless you ask Claude to quote a note back to you.
What it actually changes
Notes is a fine place to jot something down and a bad place to find it again later. The built-in search only matches literal text, so if you wrote “meeting recap” and later search for “what did we decide about pricing,” you get nothing, even if the answer is sitting in that exact note.
An AI assistant reading your Notes library changes the question you can ask from “what did I title this” to “what did I actually say.” That is a bigger shift than it sounds, because most people do not title notes. They just start typing.
The Model Context Protocol, or MCP, is the open standard that makes this connection possible. Anthropic introduced it in late 2024, and it gives any AI client a common way to call out to a local tool. For Apple Notes, that tool reads (and in one case, writes) the notes database on your Mac, and hands the result back into the conversation.
The two servers worth knowing
Search “apple notes mcp” and you get a scattering of small repos, most of them abandoned after a weekend. Two are worth your time, and they are not really competing for the same job.
sweetrb/apple-notes-mcp is the broad, actively maintained option. It exposes more than 40 tools, covering create, search, read, update, delete, move and append notes; folder management with nested paths; multiple Notes accounts (iCloud, Gmail, Exchange); batch-delete or batch-move; export to JSON or Markdown; and list, save, or fetch attachments. It talks to Notes primarily through AppleScript, with optional Full Disk Access for a handful of database-backed features like checklist state and sync diagnostics. The project has 270-plus commits and was pushed the same week this guide was written, which is the strongest maintenance signal you can ask for from a community tool.
RafalWilinski/mcp-apple-notes takes a narrower, more interesting approach. Instead of exposing Notes as a set of CRUD tools, it builds a proper retrieval index. It reads your notes via JXA, generates embeddings with the all-MiniLM-L6-v2 model, and stores them in a local LanceDB vector database. Ask it a question and it does real semantic search, not a keyword match. It was an influential proof of concept when it shipped in December 2024, with 410 GitHub stars to show for it. But the repository has had no commits since that first release, has 21 open issues, and notes come back as raw HTML rather than Markdown, which the project’s own README lists as an unfinished todo.
- Actively maintained, updated this week.
- 40-plus tools covering full read, write, and organize.
- One-line install with npx, no extra runtime.
- Multi-account support, batch operations, exports.
- Keyword and metadata search, not semantic ranking.
- Genuine semantic search via embeddings.
- No commits since December 2024, 21 open issues.
- Needs Bun and a manual clone, not a published package.
- Notes return as HTML, not cleaned-up Markdown.
- Read-focused; not built for writing new notes.
For nearly everyone, that comparison resolves in one direction. sweetrb/apple-notes-mcp does more, breaks less often, and is the one still getting fixed when macOS changes something underneath it. RafalWilinski’s project is worth reading if you want to understand how semantic search over a local note store works, and it is a reasonable weekend build if you want to fork it and finish the parts that were left undone. As a tool you install and forget about, it carries more risk than the maintained option.
Setup for Claude Desktop and Claude Code
Both servers need macOS. Neither works on an iPad-only or Windows setup, because AppleScript and JXA are Mac automation layers with no equivalent elsewhere. This guide covers sweetrb/apple-notes-mcp, since it is the one most people should actually install.
Step 1. Confirm Node is installed: sweetrb/apple-notes-mcp needs Node 20 or later. Run node -v in Terminal. If it prints below 20, update Node before continuing.
Step 2. Add it to Claude Desktop: Open Claude Desktop, go to Settings, then Developer, then Edit Config. That opens claude_desktop_config.json on macOS, normally at ~/Library/Application Support/Claude/claude_desktop_config.json. Add this block:
{
"mcpServers": {
"apple-notes": {
"command": "npx",
"args": ["-y", "apple-notes-mcp"]
}
}
}
Step 3. Or add it to Claude Code: From a terminal, run:
claude mcp add apple-notes -- npx -y apple-notes-mcp
Claude Code writes the config for you and the server becomes available in your next session.
Step 4. Restart fully: Quit Claude Desktop with Cmd-Q, not just close the window, then reopen. A window reload does not reconnect MCP servers.
Step 5. Approve the automation prompt: The first time a tool actually runs, macOS asks whether to let the process control Notes. Click Allow. If you skip this and later wonder why every call fails silently, this permission is almost always the reason.
Step 6. Test it: Ask “list my 10 most recent notes” or “search my notes for anything about [a topic you know you wrote down].” Titles and snippets coming back confirm the connection works.
If you want the deeper, database-backed features like checklist state or sync diagnostics, grant Full Disk Access to your terminal app (or Claude Desktop, depending on how you run the server) under System Settings, then Privacy & Security, then Full Disk Access. Most people never need this step.
What to actually ask
A working connection is not the point. Here is what makes the twenty minutes of setup worth it.
- Find the note, not the title. “Which of my notes mentions the wifi password for my parents’ house?” This is the search Notes cannot do, because it needs the assistant to actually read every note rather than match a string.
- Summarize a messy folder. “What’s in my Misc folder, grouped by topic?” Turns a junk drawer into something you can act on.
- Draft directly into Notes. “Write a packing list for a four-day trip and save it as a new note in my Travel folder.” sweetrb’s write tools mean the note actually lands in the app, not just in the chat window.
- Clean up duplicates. “Find notes that look like duplicates or near-duplicates and list them.” A five-minute Claude conversation replaces an hour of manual scrolling.
- Pull structure out of a brain dump. “Take my ‘ideas’ note and turn it into a checklist grouped by which ones are actually actionable this week.” The kind of edit you mean to do and never get around to.
What it can’t do
It only sees what is in Notes. If the thing you are looking for is a screenshot you never transcribed, or a note you deleted six months ago, no server reads minds. Attachments are listed and fetched, not analyzed for content unless you separately ask Claude to look at the image.
It’s a Mac-only story. If your actual workflow is split across an iPhone with no Mac nearby, this entire setup is unavailable to you until you are back at a Mac with Notes syncing through iCloud.
Semantic search is not solved by the maintained server. sweetrb/apple-notes-mcp is strong on breadth, but its search is closer to full-text and metadata matching than true embeddings-based ranking. If you specifically want vector search, RafalWilinski’s approach is the right idea, just not the actively maintained implementation.
Automation permissions can silently drop. macOS occasionally revokes automation permissions after an update. If a working setup suddenly returns empty results, check System Settings, then Privacy & Security, then Automation, before assuming the server is broken.
Full Disk Access is a real ask. The optional database-backed features require it, and granting Full Disk Access to a process is a genuinely broad permission. Only enable it if you actually need the features that depend on it.
Where ContextBolt fits
I’ll be straight about this. ContextBolt has no connection to Apple Notes, and I’m not going to pretend otherwise.
It solves a different half of the same general problem. Apple Notes holds what you deliberately typed. ContextBolt holds what you saved without typing anything, the tweets, Reddit threads, and LinkedIn posts you bookmarked in passing, which is where a lot of casual research actually happens. It tags and clusters those automatically, and ships its own MCP endpoint, so Claude can search that pile the same way it searches your Notes.
If you use Notes as a dumping ground for half-formed thoughts, you probably also have a pile of unsorted bookmarks doing nothing useful. Same underlying fix, different pile. The free tier covers up to 150 bookmarks with AI tagging and semantic search. Pro is $6 a month and adds unlimited bookmarks, encrypted cloud sync, and the MCP endpoint itself.
For the broader picture of connecting your own tools to Claude, see What Is MCP? The Plain English Explainer and the full MCP server directory for servers beyond Notes.
Worth doing?
If you actually use Notes day to day, yes, and it is genuinely a ten-minute setup once Node is already installed.
The moment it becomes worth it is usually the same moment for everyone. You ask a question you would never have bothered typing into Notes search, because you already assumed it would come back empty. It doesn’t. That’s the whole pitch, and it holds up.