Apple

Apple MCP Servers is a collection of MCP servers for native Apple applications on macOS.

You can connect large language models to local macOS data. Supports Notes, Messages, Contacts, Mail, Reminders, Calendar, and Maps.

Features

  • Reads, creates, updates, moves, and deletes Apple Notes and folders.
  • Reads message history, searches conversations, and sends Apple Messages.
  • Manages Apple Contacts, groups, and contact details.
  • Reads, sends, searches, flags, and manages Apple Mail.
  • Creates, updates, completes, and manages Apple Reminders and lists.
  • Creates, updates, and manages Apple Calendar events.
  • Searches locations, gets directions, and drops pins in Apple Maps.
  • Restricts destructive operations via configurable safety modes.

Use Cases

  • Search notes for specific recipes or meeting minutes.
  • Send an iMessage to a contact about arrival times.
  • Create a new contact entry for a business associate.
  • Mark dentist appointment reminders as completed.
  • Create a meeting in the Work calendar with advance alerts.
  • Search for coffee shops near specific locations in Apple Maps.
  • Find unread emails containing invoice attachments.

How To Use It

1. Install the Apple MCP Servers with NPX.

# Apple Notes
npx @griches/apple-notes-mcp
# Apple Messages
npx @griches/apple-messages-mcp
# Apple Contacts
npx @griches/apple-contacts-mcp
# Apple Reminders
npx @griches/apple-reminders-mcp
# Apple Calendar
npx @griches/apple-calendar-mcp
# Apple Maps
npx @griches/apple-maps-mcp
# Apple Mail
npx @griches/apple-mail-mcp

2. Add these MCP servers to your MCP clients.

Claude Code

claude mcp add apple-notes -- npx @griches/apple-notes-mcp --read-only
claude mcp add apple-messages -- npx @griches/apple-messages-mcp --confirm-destructive
claude mcp add apple-contacts -- npx @griches/apple-contacts-mcp
claude mcp add apple-reminders -- npx @griches/apple-reminders-mcp
claude mcp add apple-calendar -- npx @griches/apple-calendar-mcp
claude mcp add apple-maps -- npx @griches/apple-maps-mcp
claude mcp add apple-mail -- npx @griches/apple-mail-mcp

Claude Desktop

{
  "mcpServers": {
    "apple-notes": {
      "command": "npx",
      "args":["@griches/apple-notes-mcp", "--read-only"]
    },
    "apple-messages": {
      "command": "npx",
      "args":["@griches/apple-messages-mcp", "--confirm-destructive"]
    },
    "apple-contacts": {
      "command": "npx",
      "args": ["@griches/apple-contacts-mcp"]
    },
    "apple-reminders": {
      "command": "npx",
      "args":["@griches/apple-reminders-mcp"]
    },
    "apple-calendar": {
      "command": "npx",
      "args": ["@griches/apple-calendar-mcp"]
    },
    "apple-maps": {
      "command": "npx",
      "args": ["@griches/apple-maps-mcp"]
    },
    "apple-mail": {
      "command": "npx",
      "args":["@griches/apple-mail-mcp"]
    }
  }
}

3. Configure your MCP client to run the built JavaScript files directly.

{
  "mcpServers": {
    "apple-notes": {
      "command": "node",
      "args": ["/absolute/path/to/notes/build/index.js"]
    },
    "apple-messages": {
      "command": "node",
      "args":["/absolute/path/to/messages/build/index.js"]
    },
    "apple-contacts": {
      "command": "node",
      "args":["/absolute/path/to/contacts/build/index.js"]
    },
    "apple-reminders": {
      "command": "node",
      "args": ["/absolute/path/to/reminders/build/index.js"]
    },
    "apple-calendar": {
      "command": "node",
      "args":["/absolute/path/to/calendar/build/index.js"]
    },
    "apple-maps": {
      "command": "node",
      "args":["/absolute/path/to/maps/build/index.js"]
    },
    "apple-mail": {
      "command": "node",
      "args": ["/absolute/path/to/mail/build/index.js"]
    }
  }
}

Available Tools

Apple Notes Tools

ToolDescription
list_foldersList all folders in Apple Notes
create_folderCreate a new folder
list_notesList all notes in a folder
get_noteGet the full content of a note by title
create_noteCreate a new note (HTML body) in a folder
update_noteUpdate the body of an existing note
move_noteMove a note from one folder to another
append_to_noteAppend HTML content to an existing note
delete_noteDelete a note
delete_folderDelete a folder and all its notes
search_notesSearch notes by keyword in titles and body content

Apple Messages Tools

ToolDescription
list_chatsList recent chats with last message preview
get_chat_messagesGet message history for a specific chat (with optional date range filtering)
search_messagesSearch messages by text content
send_messageSend an iMessage or SMS
get_chat_participantsGet participants of a chat

Apple Contacts Tools

ToolDescription
list_groupsList all groups in Apple Contacts
list_contactsList all contacts, optionally filtered by group
get_contactGet full details of a contact (emails, phones, addresses, etc.)
search_contactsSearch contacts by name
create_contactCreate a new contact with optional email, phone, organization
update_contactUpdate an existing contact’s details
delete_contactDelete a contact by name
create_groupCreate a new group
delete_groupDelete a contact group
add_contact_to_groupAdd a contact to a group
remove_contact_from_groupRemove a contact from a group

Apple Reminders Tools

ToolDescription
list_listsList all reminder lists
create_listCreate a new reminder list
list_remindersList reminders with a due date in a list (optionally include completed)
get_reminderGet full details of a reminder by name or id
create_reminderCreate a new reminder with optional due date, notes, and priority
update_reminderUpdate an existing reminder’s details (by name or id)
complete_reminderMark a reminder as completed (by name or id)
uncomplete_reminderMark a completed reminder as incomplete (by name or id)
delete_reminderDelete a reminder (by name or id)
delete_listDelete a reminder list and all its reminders
search_remindersSearch reminders by name across lists

Apple Calendar Tools

ToolDescription
list_calendarsList all calendars
list_all_eventsList events across all calendars within a date range
list_eventsList events in a specific calendar within a date range
get_eventGet full details of an event by summary/title, including alerts
create_eventCreate a new event with date, time, location, description, and optional alerts
update_eventUpdate an existing event’s details, including alerts
delete_eventDelete an event by summary/title
search_eventsSearch events by summary/title across calendars

Apple Maps Tools

ToolDescription
search_locationSearch for a location in Apple Maps
get_directionsGet directions between two locations (driving, walking, or transit)
drop_pinDrop a pin at specific coordinates
open_addressOpen a specific address in Apple Maps
save_to_favoritesOpen a location in Maps so you can save it as a favorite

Apple Mail Tools

ToolDescription
list_mailboxesList all mailboxes across accounts with unread counts
list_messagesList recent messages in a mailbox, optionally filtered to unread only
get_messageGet the full content of an email by ID
search_messagesSearch emails by subject or sender across mailboxes
send_emailSend an email with optional CC/BCC (supports multiple recipients)
get_unread_countGet unread count for a mailbox or all mailboxes
move_messageMove an email to a different mailbox
mark_readMark an email as read or unread
delete_messageDelete an email (moves to trash)
flag_messageFlag or unflag an email message

FAQs

Q: Do the Apple applications need to be open?
A: AppleScript-based servers require the application to be running. Calendar and Reminders use EventKit and run independently.

Q: How do I read the Messages database?
A: You must grant Full Disk Access to your terminal application in macOS System Settings.

Q: Can Apple Maps return structured location data?
A: Apple Maps only provides visual results. The application lacks a programmatic way to return search results or route details.

Q: How do I stop the AI from deleting my data?
A: You can append the --read-only flag or the --confirm-destructive flag to the startup command.

Latest MCP Servers

Notion

Notion's official MCP Server allows you to interact with Notion workspaces through the Notion API.

Log Mcp

An MCP server that provides 7 tools for log analysis, including error fingerprinting, pattern comparison, and ML classification.

Apple

An MCP package that provides AI assistants with direct access to Notes, Messages, Mail, Contacts, Reminders, Calendar, and Maps via AppleScript and EventKit.

View More MCP Servers >>

Featured MCP Servers

Notion

Notion's official MCP Server allows you to interact with Notion workspaces through the Notion API.

Claude Peers

An MCP server that enables Claude Code instances to discover each other and exchange messages instantly via a local broker daemon with SQLite persistence.

Excalidraw

Excalidraw's official MCP server that streams interactive hand-drawn diagrams to Claude, ChatGPT, and VS Code with smooth camera control and fullscreen editing.

More Featured MCP Servers >>

FAQs

Q: What exactly is the Model Context Protocol (MCP)?

A: MCP is an open standard, like a common language, that lets AI applications (clients) and external data sources or tools (servers) talk to each other. It helps AI models get the context (data, instructions, tools) they need from outside systems to give more accurate and relevant responses. Think of it as a universal adapter for AI connections.

Q: How is MCP different from OpenAI's function calling or plugins?

A: While OpenAI's tools allow models to use specific external functions, MCP is a broader, open standard. It covers not just tool use, but also providing structured data (Resources) and instruction templates (Prompts) as context. Being an open standard means it's not tied to one company's models or platform. OpenAI has even started adopting MCP in its Agents SDK.

Q: Can I use MCP with frameworks like LangChain?

A: Yes, MCP is designed to complement frameworks like LangChain or LlamaIndex. Instead of relying solely on custom connectors within these frameworks, you can use MCP as a standardized bridge to connect to various tools and data sources. There's potential for interoperability, like converting MCP tools into LangChain tools.

Q: Why was MCP created? What problem does it solve?

A: It was created because large language models often lack real-time information and connecting them to external data/tools required custom, complex integrations for each pair. MCP solves this by providing a standard way to connect, reducing development time, complexity, and cost, and enabling better interoperability between different AI models and tools.

Q: Is MCP secure? What are the main risks?

A: Security is a major consideration. While MCP includes principles like user consent and control, risks exist. These include potential server compromises leading to token theft, indirect prompt injection attacks, excessive permissions, context data leakage, session hijacking, and vulnerabilities in server implementations. Implementing robust security measures like OAuth 2.1, TLS, strict permissions, and monitoring is crucial.

Q: Who is behind MCP?

A: MCP was initially developed and open-sourced by Anthropic. However, it's an open standard with active contributions from the community, including companies like Microsoft and VMware Tanzu who maintain official SDKs.

Get the latest & top AI tools sent directly to your email.

Subscribe now to explore the latest & top AI tools and resources, all in one convenient newsletter. No spam, we promise!