Skip to main content
Glama
Apple Notes MCP Server

Apple Notes MCP Server

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.py

Usage with Cursor

Add to your MCP configuration (~/.cursor/mcp.json):

Change /path/to/apple-notes-mcp to 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/folder

  • search_notes - Search for notes containing specific text

  • read_note - Read the content of a specific note

  • create_note - Create a new note with title and content

  • update_note - Update the content of an existing note

  • delete_note - Delete a note

  • list_accounts - List all available Notes accounts

Available Tools

7 tools
create_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

    A3.6/5.0

    Scored across 7 tools

    Disambiguation5/5

    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.

    Naming Consistency5/5

    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.

    Tool Count5/5

    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.

    Completeness5/5

    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

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers