Skip to main content
Glama
santiago-migoni

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.

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    D
    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.
    Last updated
    81
    MIT
  • A
    license
    A
    quality
    B
    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.
    Last updated
    10
    33
    12
    MIT

View all related MCP servers

Related MCP Connectors

  • Search, read, and write your Apple Notes from ChatGPT/Claude via a local Mac agent + MCP relay.

  • User-owned memory for AI agents, Copilot, Claude, IDEs, CLIs, and chat apps over remote MCP.

  • Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/santiago-migoni/apple-notes-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server