append-to-note
Append content to the end of an existing Apple Note. Identify note by noteId or title.
Search Apple Notes semantically as well as by text, then create, edit, append to, move or delete a note by its id or its title.
LABSCO SUMMARY
The 10 tools cover the read and write sides of Apple Notes evenly, but search-notes only earns its keep after index-notes has run, and that pass is the one step a reader is likely to skip. Notes are addressed by noteId or by title, and get-note returning a candidate list on an ambiguous title is the detail that keeps an agent from editing the wrong one. Deletion moves a note to Recently Deleted rather than removing it.
An MCP server over the Apple Notes app on the machine it runs on, with an index built for semantic search.
The Apple Notes app on the same machine, and one indexing pass before search returns anything — index-notes takes seconds to minutes depending on how many notes there are.
One command — npx -y @dan8oren/mcp-apple-notes
USE CASES
Index once, then search by meaning rather than exact wording, and open the match in full.
Check what folders exist and their paths, write the note as markdown, and put it in the right place.
Add to the end of an existing note across a day, reading back what is already in it first.
List what is in the folder with its timestamps, move what is worth keeping, and send the rest to Recently Deleted.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
append-to-noteAppend content to the end of an existing Apple Note. Identify note by noteId or title.
create-noteCreate a new Apple Note with a title and markdown content. Optionally place it in a folder path.
delete-noteDelete an Apple Note (moves to Recently Deleted). Identify note by noteId or title.
edit-noteEdit an existing Apple Note's title and/or content. Identify note by noteId or current title.
get-noteGet a note's full content and details by noteId or title. Optionally scope by folder path. If the title is ambiguous, returns a list of matching candidates — retry with noteId or path to disambiguate.
index-notesIndex all Apple Notes for semantic search. Run this first — takes seconds to minutes depending on note count.
list-foldersList all Apple Notes folders with full paths and note counts
list-notesList Apple Notes with title, path, and timestamps. Optionally filter by folder path and include note content.
move-noteMove a note to a different folder. Identify note by noteId or title. Use list-folders to get available paths.
search-notesSemantic and full-text search over notes. Optionally filter by folder path.
BEFORE YOU INSTALL
10 tools when we connected. With MCP_APPLE_NOTES_READ_ONLY=1 only 5 register: index-notes, list-folders, list-notes, search-notes and get-note; the create, edit, append, move and delete tools disappear.
npx on PATH
All 5 documented clients run the server on your machine.
CONTEXT COST
Rated by the size of the 10 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
git clone https://github.com/Dan8Oren/mcp-apple-notes && cd mcp-apple-notes && npm installnpx -y @dan8oren/mcp-apple-notes{
"mcpServers": {
"apple-notes": {
"command": "npx",
"args": [
"-y",
"@dan8oren/mcp-apple-notes"
]
}
}
}claude mcp add apple-notes npx -- -y @dan8oren/mcp-apple-notes{
"mcpServers": {
"apple-notes": {
"command": "npx",
"args": [
"tsx",
"<YOUR_PATH_TO_MCP_APPLE_NOTES>/index.ts"
]
}
}
}For the clone from the setup step: <YOUR_PATH_TO_MCP_APPLE_NOTES> is the full path of the mcp-apple-notes folder you cloned. The npx tabs run the published package instead and need no clone.