Skip to main content

apple-mcp

Apple Apps MCP Server — control Messages, Notes, Reminders, Calendar, Contacts, and Photos through AppleScript.

PyPI version License: MIT Python

macOS only — requires macOS with Automation permissions granted to your terminal / Claude Code.

27 tools across 6 Apple apps — fully offline, no API keys, no network calls. All data stays on your Mac.

Tools

Messages (5)

Tool Description
messages_list_chats List all conversations
messages_get_chat Get messages from a specific conversation
messages_get_recent Get recent messages across all chats
messages_search Search messages by content
messages_send Send an iMessage or SMS

Notes (5)

Tool Description
notes_list_folders List all Notes folders
notes_list List notes (optionally filter by folder)
notes_get Get the full content of a note
notes_create Create a new note
notes_search Search notes by content

Reminders (5)

Tool Description
reminders_list_lists List all Reminder lists
reminders_list List reminders (optionally filter by list)
reminders_create Create a reminder with optional due date
reminders_complete Mark a reminder as complete
reminders_search Search reminders by name

Calendar (4)

Tool Description
calendar_list List all calendars
calendar_today Get today's events
calendar_events Get events in a date range
calendar_create_event Create a new calendar event

Contacts (4)

Tool Description
contacts_list List all contacts
contacts_search Search by name, email, or phone
contacts_get Get detailed contact information
contacts_groups List contact groups

Photos (4)

Tool Description
photos_list_albums List all photo albums
photos_recent Get recently added photos
photos_album Get photos from a specific album
photos_search Search photos by keyword

Setup

Requirements

  • macOS (AppleScript is macOS-only)
  • Python 3.10+
  • uv package manager

Step 1 — Install

pip install apple-mcp
# or with uv:
uv add apple-mcp

Step 2 — Grant Permissions

The first time each app is accessed, macOS will prompt for Automation permission. You can also grant them upfront:

  1. Open System Settings → Privacy & Security → Automation
  2. Find your terminal app (Terminal, iTerm2) or Claude Code
  3. Enable access for: Messages, Notes, Reminders, Calendar, Contacts, Photos

For Messages, full disk access may be needed for reading message history. Go to Privacy & Security → Full Disk Access and add your terminal app.

Step 3 — Add to Claude Code

claude mcp add apple -- uvx apple-mcp

Or manually in your Claude config (~/.claude/claude_desktop_config.json):

{
  "mcpServers": {
    "apple": {
      "command": "uvx",
      "args": ["apple-mcp"]
    }
  }
}

Privacy & Security

  • Fully offline — no network requests, no third-party APIs
  • All data stays on your Mac
  • Uses AppleScript and local SQLite database (~/Library/Messages/chat.db) for Messages
  • No credentials or tokens required

Troubleshooting

"Not authorized to send Apple events": Go to System Settings → Privacy & Security → Automation and enable the app.

Messages not showing: Ensure Full Disk Access is granted to your terminal app (System Settings → Privacy & Security → Full Disk Access).

Photos tools slow: Photos.app must be running. Large libraries may take a moment to query.

Calendar/Reminders not responding: Open the respective app once manually to ensure it initializes properly.


Requirements

  • macOS (10.15 Catalina or later recommended)
  • Python 3.10+
  • Automation permissions in System Settings

License

MIT — Hitesh Gupta

Metadata

Release files for apple-mcp 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for apple-mcp 1.0.1
File Size Uploaded Provenance
apple_mcp-1.0.1.tar.gz 12.0 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for apple-mcp 1.0.1
File Interpreter ABI Platform
apple_mcp-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 24.5 kB

Release files / apple_mcp-1.0.1.tar.gz

Download URL apple_mcp-1.0.1.tar.gz
Size 12.0 kB
Tags Source
SHA-256 checksum
How to use checksums
d0eb724c0aa6d8d2966ccd73c3b178c56240323e718e5f9e787330e1d192cb29
BLAKE2b-256 checksum
How to use checksums
41f205b782a188eebf0c61445da89ab6176e2a0055ddd165fce863d8ff1a3303
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / apple_mcp-1.0.1-py3-none-any.whl

Download URL apple_mcp-1.0.1-py3-none-any.whl
Size 12.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e4c1043a4606d8851c94d25b53521c492793a9c4c81c10a40b16a55f90726307
BLAKE2b-256 checksum
How to use checksums
80c9d2023222c43a78f5718a2ebea1b8edcc80c28903caef97d7ae13c9a5da9c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for apple-mcp 1.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page