Apple Notes MCP Server
Provides tools for interacting with Apple Notes on macOS, enabling management of notes including listing, searching, reading, creating, updating, and deleting notes across accounts and folders.
Click on "Deploy 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., "@Apple Notes MCP Server list my notes from the iCloud account"
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.
Apple Notes MCP Server
An MCP (Model Context Protocol) server for interacting with Apple Notes on macOS.
Features
List notes from all accounts or specific accounts/folders
Search notes by content
Read note content
Create new notes
Update existing notes
Delete notes
List available accounts
Related MCP server: Apple Notes MCP Server
Requirements
macOS (uses AppleScript to interact with Notes app)
Python 3.10+
Notes app must be installed and accessible
Notes
The server uses AppleScript to interact with the Notes app
You will need to grant Terminal/iTerm/Cursor PERMISSION to control Notes in System Preferences > Security & Privacy > Accessibility
Account names are case-sensitive (e.g., "iCloud" vs "icloud")
Installation
git clone https://github.com/arslankhanali/apple-notes-mcp.git
cd apple-notes-mcp
uv venv
source .venv/bin/activate
uv add "mcp[cli]"
# To run
# uv run apple_notes.pyUsage with Cursor
Add to your MCP configuration (~/.cursor/mcp.json):
Change
/path/to/apple-notes-mcpto where you cloned this repo
{
"mcpServers": {
"apple-notes": {
"command": "uv",
"args": [
"--directory",
"/path/to/apple-notes-mcp",
"run",
"apple_notes.py"
]
}
}
}Available Tools
list_notes- List all notes or notes from a specific account/foldersearch_notes- Search for notes containing specific textread_note- Read the content of a specific notecreate_note- Create a new note with title and contentupdate_note- Update the content of an existing notedelete_note- Delete a notelist_accounts- List all available Notes accounts
Available Tools
7 toolscreate_noteB
Create a new note with the specified title and content.
Args:
title: Title/name for the new note
content: Content/body of the note
account: Optional account name (defaults to default account)
folder: Optional folder name within the account
Inputs: title (required), content (required), account, folder. Returns: result
delete_noteC
Delete a note by name.
Args:
note_name: Name of the note to delete
account: Optional account name where the note is located
Inputs: note_name (required), account. Returns: result
list_accountsB
List all available Notes accounts.
Inputs: no named parameters. Returns: result
list_notesC
List all notes or notes from a specific account/folder.
Args:
account: Optional account name (e.g., "iCloud", "On My Mac")
folder: Optional folder name within the account
Inputs: account, folder. Returns: result
read_noteC
Read the content of a specific note by name.
Args:
note_name: Name of the note to read
account: Optional account name where the note is located
Inputs: note_name (required), account. Returns: result
search_notesB
Search for notes containing the specified text.
Args:
query: Text to search for in note content
account: Optional account name to search within
Inputs: query (required), account. Returns: result
update_noteC
Update the content of an existing note.
Args:
note_name: Name of the note to update
new_content: New content for the note
account: Optional account name where the note is located
Inputs: note_name (required), new_content (required), account. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 7 tools
Each tool has a clearly distinct purpose with no overlap: create_note, delete_note, list_accounts, list_notes, read_note, search_notes, and update_note all target specific, non-conflicting operations. An agent can easily distinguish between them based on their names and descriptions.
All tool names follow a consistent verb_noun pattern using snake_case, such as create_note, delete_note, list_accounts, list_notes, read_note, search_notes, and update_note. This uniformity makes the set predictable and easy to navigate for an agent.
With 7 tools, the server is well-scoped for managing Apple Notes, covering essential operations like CRUD, listing, and searching. Each tool serves a clear purpose without redundancy, fitting within the typical 3-15 tool range for such a domain.
The tool set provides complete CRUD/lifecycle coverage for notes (create, read, update, delete), along with listing accounts and notes, and searching. There are no obvious gaps, enabling agents to perform all core workflows without dead ends.
Maintenance
Related MCP Connectors
Search, read, and write your Apple Notes from ChatGPT/Claude via a local Mac agent + MCP relay.
Read and write the notes and folders of your Grape account, the AI note-taking app.
Create, read, search, and organize your Drafto notes and notebooks.
Notes and actions in one app. Let Claude or ChatGPT read and update them.
Related MCP Servers
- AlicenseDqualityCmaintenanceEnables interaction with Apple Notes via natural language, supporting note creation, search, and retrieval with iCloud integration for seamless note management.313 npm25MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to read, create, search, update, and delete Apple Notes through natural language conversation, using JXA to communicate directly with the Notes app.84,261 npm30MIT
- AlicenseAqualityCmaintenanceProvides full CRUD operations for Apple Notes and folders via MCP, enabling automation of notes with HTML content, folder management, and search through native AppleScript integration.1448 PyPI53MIT
- AlicenseAqualityDmaintenanceEnables AI clients to search, read, create, update, move, and delete Apple Notes on macOS via AppleScript automation.104,261 npm2MIT