AaronRoeF

apple-mcp

Community AaronRoeF
Updated

MCP server for macOS Apple apps — Notes, Reminders, Calendar, Contacts, Safari. 28 tools for Claude Code.

apple-mcp

MCP server for macOS Apple apps. Provides 28 read/write tools across Notes, Reminders, Calendar, Contacts, and Safari -- all running locally on your Mac via SQLite and JXA (JavaScript for Automation).

Install

Claude Code

claude mcp add apple -- npx @roebot0/apple-mcp

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "apple": {
      "command": "npx",
      "args": ["@roebot0/apple-mcp"]
    }
  }
}

Tools

Notes (8 tools)

Tool Description
apple_notes_list List notes with title, snippet, folder, and dates (paginated)
apple_notes_search Search notes by keyword in title and snippet
apple_notes_get Get full plaintext body of a note by exact title
apple_notes_folders List all folders with note counts
apple_notes_recent Get N most recently modified notes
apple_notes_by_folder Get all notes in a specific folder
apple_notes_create Create a new note in a specified folder
apple_notes_stats Aggregate stats: total notes, per-folder counts, date range

Reminders (6 tools)

Tool Description
apple_reminders_lists List all reminder lists with counts
apple_reminders_list Get reminders in a specific list
apple_reminders_due Get reminders due today, this week, or overdue
apple_reminders_search Search reminders by keyword across all lists
apple_reminders_create Create a new reminder with optional due date and priority
apple_reminders_complete Mark a reminder as complete by name

Calendar (5 tools)

Tool Description
apple_calendar_today Get today's events across all calendars
apple_calendar_range Get events in a date range
apple_calendar_calendars List all calendars
apple_calendar_search Search events by title
apple_calendar_upcoming Get next N upcoming events

Contacts (5 tools)

Tool Description
apple_contacts_search Search contacts by name, email, or company
apple_contacts_get Get full contact details by ID (emails, phones, etc.)
apple_contacts_recent Get recently modified contacts
apple_contacts_company List contacts at a specific company
apple_contacts_stats Contact count and top companies

Safari (4 tools)

Tool Description
apple_safari_history Get recent browsing history
apple_safari_search_history Search history by URL or page title
apple_safari_bookmarks List bookmarks, optionally filtered by folder
apple_safari_reading_list Get all Reading List items

Requirements

  • macOS (uses native SQLite databases and JXA automation)
  • Node.js >= 18
  • Full Disk Access required for Safari history -- grant it to your terminal app in System Settings > Privacy & Security > Full Disk Access
  • Notes, Reminders, Calendar, and Contacts work without Full Disk Access

How it works

  • Notes, Calendar, Contacts, Safari history: Read directly from local SQLite databases (read-only)
  • Notes create, Reminders (all), Notes get: Use JXA (osascript -l JavaScript) to interact with the native apps
  • Safari bookmarks/reading list: Parse the Bookmarks.plist file

No network requests. No API keys. Everything stays on your Mac.

Development

git clone https://github.com/AaronRoeF/apple-mcp.git
cd apple-mcp
npm install
npm run build

To test locally with Claude Code:

claude mcp add apple -- node /path/to/apple-mcp/start-mcp-server.js

License

MIT

MCP Server · Populars

MCP Server · New