Apple MCP

Apple MCP

Integrates with Apple apps on macOS to enable AI-powered automation of Messages, Notes, Contacts, Mail, Reminders, Calendar, and Maps.

Category
Visit Server

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>

smithery badge

<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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

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.

Official
Featured