Apple MCP
Integrates with Apple apps on macOS to enable AI-powered automation of Messages, Notes, Contacts, Mail, Reminders, Calendar, and Maps.
README
π Apple MCP - Better Siri that can do it all :)
Plot twist: Your Mac can do more than just look pretty. Turn your Apple apps into AI superpowers!
Love this MCP? Check out supermemory MCP too - https://mcp.supermemory.ai
Click below for one click install with .dxt
<a href="https://github.com/supermemoryai/apple-mcp/releases/download/1.0.0/apple-mcp.dxt"> <img width="280" alt="Install with Claude DXT" src="https://github.com/user-attachments/assets/9b0fa2a0-a954-41ee-ac9e-da6e63fc0881" /> </a>
<a href="https://glama.ai/mcp/servers/gq2qg6kxtu"> <img width="380" height="200" src="https://glama.ai/mcp/servers/gq2qg6kxtu/badge" alt="Apple Server MCP server" /> </a>
π€― What Can This Thing Do?
Basically everything you wish your Mac could do automatically (but never bothered to set up):
π¬ Messages - Because who has time to text manually?
- Send messages to anyone in your contacts (even that person you've been avoiding)
- Read your messages (finally catch up on those group chats)
- Schedule messages for later (be that organized person you pretend to be)
π Notes - Your brain's external hard drive
Full Apple Notes management via MCP β search, list, read, create, update, append, delete, and open notes. Each note gets a stable synthetic ID (folder::creationDate::title) you can reuse for follow-up operations.
| Operation | What it does |
|---|---|
search |
Find notes by keyword in title or body (optional folderName) |
list |
List notes across all folders, or filter with folderName |
folders |
List all Notes folders |
read |
Read full note body by noteId or title + optional folderName |
create |
Create a note (auto-creates folder if missing) |
update |
Replace entire note body |
append |
Append text to an existing note (use \n for line breaks) |
delete |
Delete a note |
open |
Open a note in the Notes app |
Note IDs: After create, list, or search, copy the ID: line from results. Use it with read, append, update, delete, or open to target the exact note β even when titles duplicate.
Example MCP calls:
{ "operation": "create", "title": "Sprint Goals", "body": "- Ship feature\n- Write tests", "folderName": "Work" }
{ "operation": "append", "noteId": "Work::Friday, May 30, 2026 at 10:00:00 AM::Sprint Goals", "body": "\n---\nDone: tests" }
{ "operation": "read", "noteId": "Work::Friday, May 30, 2026 at 10:00:00 AM::Sprint Goals" }
Requires Automation β Notes permission for your terminal or Cursor.
π₯ Contacts - Your personal network, digitized
- Find anyone in your contacts without scrolling forever
- Get phone numbers instantly (no more "hey, what's your number again?")
- Actually use that contact database you've been building for years
π§ Mail - Email like a pro (or at least pretend to)
Full inbox triage via MCP β no OpenClaw required. Fast SQLite search plus Mail.app actions for organization.
| Operation | What it does |
|---|---|
overview |
Inbox dashboard β unread counts, recent unread, mailbox breakdown, top senders |
unread / search / latest |
List and find messages (SQLite index, ~50ms) |
read / open |
Read full body from .emlx or open in Mail.app |
draft |
Create a new draft (saved for review, not auto-sent) |
reply / forward |
Create reply or forward drafts from a message ID |
move |
Move messages to a mailbox (Archive, project folders, etc.) |
markRead |
Mark messages read or unread in batch (max 20 IDs) |
senders |
Top senders analytics β spot newsletter overload |
accounts / mailboxes / stats |
Account and mailbox discovery |
Inbox zero workflow: overview β search for urgent items β reply/draft for responses β move to Archive β markRead for the rest.
Message IDs: Returned by search, unread, overview, and latest. Reuse with read, open, reply, forward, move, and markRead.
Requires Full Disk Access (SQLite index) and Automation β Mail (move, reply, mark read).
β° Reminders - For humans with human memory
Full Apple Reminders management when remindctl is installed (brew install steipete/tap/remindctl). Uses EventKit for fast list/search/complete/delete with iCloud sync β no OpenClaw required.
| Operation | What it does |
|---|---|
lists / list |
List all reminder lists |
show |
Show reminders by filter: today, tomorrow, week, overdue, upcoming, completed, all, or a date |
search |
Search reminder titles and notes |
info |
Get full details for a reminder by ID |
create |
Create a reminder (remindctl preferred; AppleScript fallback) |
edit |
Update title, notes, due date, list, or priority |
complete |
Mark one or more reminders complete by ID |
delete |
Delete reminders by ID |
createList |
Create a new reminder list |
open |
Open a reminder, list, or the Reminders app |
status |
Check remindctl install and permission status |
Reminder IDs: show, search, and create return stable IDs you can reuse with info, edit, complete, delete, and open.
Setup:
brew install steipete/tap/remindctl
remindctl authorize
Requires Reminders permission for your terminal or Cursor.
π Calendar - Time management for the chronically late
- Create events faster than you can double-book yourself
- Search for that meeting you're definitely forgetting about
- List upcoming events (spoiler: you're probably late to something)
- Open calendar events directly (skip the app hunting)
πΊοΈ Maps - For people who still get lost with GPS
- Search locations (find that coffee shop with the weird name)
- Save favorites (bookmark your life's important spots)
- Get directions (finally stop asking Siri while driving)
- Create guides (be that friend who plans everything)
- Drop pins like you're claiming territory
π The Magic of Chaining Commands
Here's where it gets spicy. You can literally say:
"Read my conference notes, find contacts for the people I met, and send them a thank you message"
And it just... works. Like actual magic, but with more code.
π Installation (The Easy Way)
Option 1: Smithery (For the Sophisticated)
npx -y install-mcp apple-mcp --client claude
For Cursor users (we see you):
npx -y install-mcp apple-mcp --client cursor
Option 2: Manual Setup (For the Brave)
<details> <summary>Click if you're feeling adventurous</summary>
First, get bun (if you don't have it already):
brew install oven-sh/bun/bun
Then add this to your claude_desktop_config.json:
{
"mcpServers": {
"apple-mcp": {
"command": "bunx",
"args": ["--no-cache", "apple-mcp@latest"]
}
}
}
</details>
π¬ See It In Action
Here's a step-by-step video walkthrough: https://x.com/DhravyaShah/status/1892694077679763671
(Yes, it's actually as cool as it sounds)
π― Example Commands That'll Blow Your Mind
"Send a message to mom saying I'll be late for dinner"
"Find all my AI research notes and email them to sarah@company.com"
"Add follow-up items to my Work/Sprint Goals note"
"List all folders in Apple Notes, then create a meeting note in Work"
"Create a reminder to call the dentist tomorrow at 2pm"
"Show me my calendar for next week and create an event for coffee with Alex on Friday"
"Find the nearest pizza place and save it to my favorites"
π οΈ Local Development (For the Tinkerers)
git clone https://github.com/dhravya/apple-mcp.git
cd apple-mcp
bun install
bun run index.ts
Now go forth and automate your digital life! π
Made with β€οΈ by supermemory (and honestly, claude code)
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.