Skip to main content
Glama
mcp-apple-notes

mcp-apple-notes

mcp-apple-notes

An MCP (Model Context Protocol) server that exposes Notes.app on macOS as tools for LLM agents — list, read, create, update, delete, and search notes.

Requirements

  • macOS (uses JXA/osascript to automate Notes.app — there's no other public API for Notes)

  • Node.js 18+

  • A single iCloud account in Notes.app (multi-account is not supported)

Related MCP server: mcp-apple-notes

Install

npm install
npm run build

Tools

Tool

Description

list_notes

List notes (id, title, modification date), no body. Optional limit.

read_note

Read a note's full content (Markdown) by id.

create_note

Create a note from Markdown content. The first line becomes the title (that's how Notes.app derives it). Optional folder (defaults to "Notes").

update_note

Replace a note's entire content by id.

delete_note

Delete a note by id. Moves it to "Recently Deleted", same as the UI — recoverable for ~30 days.

search_notes

Case-insensitive substring search over title + content. Optional limit.

Notes:

  • Content is exchanged as Markdown, not HTML. Notes.app stores bodies as HTML internally; this server converts both ways.

  • Images embedded in a note's body are replaced with a [imagen adjunta] placeholder instead of being inlined as base64 — attachments are out of scope.

  • "Recently Deleted" is excluded from list_notes/search_notes results.

Running it from Claude Desktop

Add it to your Claude Desktop MCP config with a local path (this package isn't published to npm):

{
  "mcpServers": {
    "apple-notes": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-apple-notes/dist/index.js"]
    }
  }
}

The first call that touches Notes.app triggers a macOS Automation permission prompt. If it's denied or the process runs non-interactively, grant access manually in System Settings → Privacy & Security → Automation, then retry.

Development

npm run build   # compile TypeScript (tsc) to dist/
npm test        # run unit tests (node --test) against dist/**/*.test.js
npm start       # run the compiled server directly (stdio transport)

Only pure logic (Markdown↔HTML conversion, error formatting) has automated tests. Anything that touches Notes.app itself is verified manually, since it requires real macOS automation and mutates real data.

See CLAUDE.md for architecture notes.

License

GNU AGPLv3 — see LICENSE for details.

Available Tools

6 tools
create_noteA

Crea una nueva nota en Notes.app. El contenido es Markdown; la primera línea se convierte en el título de la nota (así es como Notes.app deriva el título del cuerpo).

Inputs: content (required), folder.

delete_noteA

Elimina una nota de Notes.app. Igual que borrar desde la UI: la nota se mueve a 'Recently Deleted' y es recuperable ahí por ~30 días, no se borra instantáneamente.

Inputs: id (required).

list_notesA

Lista las notas de Notes.app (id, título y fecha de modificación), sin el contenido completo. No incluye notas en Recently Deleted.

Inputs: limit.

read_noteA

Lee el contenido completo de una nota de Notes.app por su id, en formato Markdown.

Inputs: id (required).

search_notesA

Busca notas por texto (case-insensitive, substring) en título y contenido. No incluye notas en Recently Deleted.

Inputs: query (required), limit.

update_noteA

Reemplaza el contenido completo de una nota existente. El contenido es Markdown; la primera línea se convierte en el título.

Inputs: id (required), content (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.2/5.0

    Scored across 6 tools

    Disambiguation5/5

    Each tool has a clear and distinct purpose: create, delete, list, read, search, and update notes. No overlapping functionalities.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern (e.g., create_note, list_notes), with only a minor variation in pluralization (list_notes vs others singular).

    Tool Count5/5

    6 tools is well-scoped for a note-taking server, covering basic CRUD operations plus search without unnecessary redundancy.

    Completeness4/5

    Covers all core note operations (create, read, update, delete, list, search). Missing a tool to restore from 'Recently Deleted' or manage folders, but not critical for basic usage.

    Maintenance

    ActivityNo data
    ResponsivenessSyncing

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      An MCP server that enables AI assistants like Claude to access and manipulate Apple Notes on macOS, allowing for retrieving, creating, and managing notes through natural language interactions.
      84
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      MCP server for Apple Notes with semantic search (on-device embeddings via all-MiniLM-L6-v2), full-text search, complete CRUD operations, folder management, and fuzzy title matching. 10 tools. Runs fully locally on macOS — no API keys required.
      10
      20 npm
      14
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      MCP server for macOS that enables creating, reading, and searching Apple Notes programmatically through tools like find, get by title or ID, and create.
      4,261 npm
      MIT