# Apple Notes

This MCP server lets an agent work with Apple Notes on macOS, including note search, creation, editing, moving, and organization.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 31
- Author: JonathanRReed
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/JonathanRReed/Apple-MCPs/tree/HEAD/applenotes-mcp
- Updated: 2026-10-22
- HTML: https://affpapa.org/en/nevibecode/mcp/apple-notes

## What it does

The server connects Apple Notes to an MCP client and exposes operations for inspecting and searching notes, creating new entries, changing their contents, moving them between folders, and organizing the store.

It runs through `uvx apple-mcp-notes`. Access can be narrowed with `APPLE_NOTES_MCP_SAFETY_MODE`, `APPLE_NOTES_MCP_ALLOWED_ACCOUNTS`, and `APPLE_NOTES_MCP_ALLOWED_FOLDERS`. The setup needs macOS and Python 3.11+, and the user must approve Automation access to Notes.

Local execution does not keep returned data inside the Mac: the client may send it to its model provider, while Apple apps may sync it through iCloud or another account. Without Automation permission, the server cannot access Notes.

## Requirements
- Needs: Python and uv (commands run via uvx)
- Environment variables: `APPLE_NOTES_MCP_SAFETY_MODE`, `APPLE_NOTES_MCP_ALLOWED_ACCOUNTS`, `APPLE_NOTES_MCP_ALLOWED_FOLDERS` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env APPLE_NOTES_MCP_SAFETY_MODE=<APPLE_NOTES_MCP_SAFETY_MODE> --env APPLE_NOTES_MCP_ALLOWED_ACCOUNTS=<APPLE_NOTES_MCP_ALLOWED_ACCOUNTS> --env APPLE_NOTES_MCP_ALLOWED_FOLDERS=<APPLE_NOTES_MCP_ALLOWED_FOLDERS> --transport stdio applenotes-mcp -- uvx apple-mcp-notes
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from apple-mcp-notes <command>

### Codex

**Platform CLI**
```bash
codex mcp add applenotes-mcp --env APPLE_NOTES_MCP_SAFETY_MODE=<APPLE_NOTES_MCP_SAFETY_MODE> --env APPLE_NOTES_MCP_ALLOWED_ACCOUNTS=<APPLE_NOTES_MCP_ALLOWED_ACCOUNTS> --env APPLE_NOTES_MCP_ALLOWED_FOLDERS=<APPLE_NOTES_MCP_ALLOWED_FOLDERS> -- uvx apple-mcp-notes
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from apple-mcp-notes <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "applenotes-mcp": {
            "command": "uvx",
            "args": [
                "apple-mcp-notes"
            ],
            "env": {
                "APPLE_NOTES_MCP_SAFETY_MODE": "<APPLE_NOTES_MCP_SAFETY_MODE>",
                "APPLE_NOTES_MCP_ALLOWED_ACCOUNTS": "<APPLE_NOTES_MCP_ALLOWED_ACCOUNTS>",
                "APPLE_NOTES_MCP_ALLOWED_FOLDERS": "<APPLE_NOTES_MCP_ALLOWED_FOLDERS>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from apple-mcp-notes <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "applenotes-mcp": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "apple-mcp-notes"
            ],
            "env": {
                "APPLE_NOTES_MCP_SAFETY_MODE": "<APPLE_NOTES_MCP_SAFETY_MODE>",
                "APPLE_NOTES_MCP_ALLOWED_ACCOUNTS": "<APPLE_NOTES_MCP_ALLOWED_ACCOUNTS>",
                "APPLE_NOTES_MCP_ALLOWED_FOLDERS": "<APPLE_NOTES_MCP_ALLOWED_FOLDERS>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from apple-mcp-notes <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e APPLE_NOTES_MCP_SAFETY_MODE=<APPLE_NOTES_MCP_SAFETY_MODE> -e APPLE_NOTES_MCP_ALLOWED_ACCOUNTS=<APPLE_NOTES_MCP_ALLOWED_ACCOUNTS> -e APPLE_NOTES_MCP_ALLOWED_FOLDERS=<APPLE_NOTES_MCP_ALLOWED_FOLDERS> applenotes-mcp uvx apple-mcp-notes
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from apple-mcp-notes <command>

## When to use it
- search notes by their contents
- create entries in Apple Notes
- edit existing note text
- move notes between folders
- organize an Apple Notes store

## Example prompts
- Search Apple Notes for entries about the project release and show the relevant ones.
- Create an Apple Notes entry with the decisions from today’s discussion.
- Move the note called “Plan” into the “Projects” folder and revise its text.

## Similar
- [apple-notes](https://affpapa.org/en/nevibecode/skills/hermes-agent-apple-notes.md) — skill · 381 installs
- [mcp-apple-notes](https://affpapa.org/en/nevibecode/mcp/mcp-apple-notes.md) — MCP server · ★ 53
- [DocsAgent — Zotero, Obsidian & Apple Notes MCP Server](https://affpapa.org/en/nevibecode/mcp/docsagent-zotero-obsidian-apple-notes-mcp-server.md) — MCP server · ★ 578
- [Pinto Notes](https://affpapa.org/en/nevibecode/mcp/pinto-notes.md) — MCP server · ★ 30
- [bear-notes](https://affpapa.org/en/nevibecode/skills/bear-notes.md) — skill · 5100 installs
- [memory-notes](https://affpapa.org/en/nevibecode/skills/memory-notes.md) — skill · 1300 installs

From the same set: [jonathanrreed/apple-mcps](https://affpapa.org/en/nevibecode/by/jonathanrreed/apple-mcps.md) — 11 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
