Apple Native Apps

by jxnl

6 stars
Not rated
GitHub

About

Enables native macOS integration with Apple applications like Contacts, Notes, Messages, Mail, Reminders, Calendar, and Maps through JXA and AppleScript for performing tasks without leaving conversation context.

Details

Author
jxnl
Repository
jxnl/apple-mcp
GitHub stars
6
License
MIT License
Categories
Productivity, Communication, Other, AI, Developer Tools, Search, Project Management, Infrastructure
Tags
#integration

- Messages:
- Send messages using the Apple Messages app
- Read out messages
- Notes:
- List notes
- Search & read notes in Apple Notes app
- Contacts:
- Search contacts for sending messages
- Emails:
- Send emails with multiple recipients (to, cc, bcc) and file attachments
- Search emails with custom queries, mailbox selection, and result limits
- Schedule emails for future delivery
- List and manage scheduled emails
- Check unread email counts globally or per mailbox
- Reminders:
- List all reminders and reminder lists
- Search for reminders by text
- Create new reminders with optional due dates and notes
- Open the Reminders app to view specific reminders
- Calendar:
- Search calendar events with customizable date ranges
- List upcoming events
- Create new calendar events with details like title, location, and notes
- Open calendar events in the Calendar app
- Web Search:
- Search the web using DuckDuckGo
- Retrieve and process content from search results
- Maps:
- Search for locations and addresses
- Save locations to favorites
- Get directions between locations
- Drop pins on the map
- Create and list guides
- Add places to guides

- TODO: Search and open photos in Apple Photos app
- TODO: Search and open music in Apple Music app

You can also daisy-chain commands to create a workflow. Like:
"can you please read the note about people i met in the conference, find their contacts and emails, and send them a message saying thank you for the time."

(it works!)

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Apple Native Apps
    Command (node, npx, python, etc.) bunx
    Arguments
    • Argument 1 --no-cache
    • Argument 2 apple-mcp@latest

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Now, ask Claude to use the apple-mcp tool.

Can you send a message to John Doe?
find all the notes related to AI and send it to my girlfriend
create a reminder to "Buy groceries" for tomorrow at 5pm

To install Apple MCP for Claude Desktop automatically via Smithery:

npx -y @smithery/cli@latest install @Dhravya/apple-mcp --client claude

... and for cursor, you can do:

npx -y @smithery/cli@latest install @Dhravya/apple-mcp --client cursor

You just need bun, install with brew install oven-sh/bun/bun

Now, edit your claude_desktop_config.json with this:

``claude_desktop_config.json
{
"mcpServers": {
"apple-mcp": {
"command": "bunx",
"args": ["@dhravya/apple-mcp@latest"]
}
}
}
``

send_message

Send messages using the Apple Messages app. Parameters: recipient (string), message (string)

read_messages

Read out messages from the Apple Messages app.

list_notes

List notes available in the Apple Notes app.

search_read_notes

Search for and read notes in the Apple Notes app. Parameters: query (string)

search_contacts

Search contacts for sending messages. Parameters: query (string)

send_email

Send emails with multiple recipients (to, cc, bcc) and file attachments. Parameters: recipients (array of strings), subject (string), body (string), attachments (optional array of files)

search_emails

Search emails with custom queries, mailbox selection, and result limits. Parameters: query (string), mailbox (optional string), limit (optional integer)

schedule_email

Schedule emails for future delivery. Parameters: email_id (string), delivery_time (datetime)

manage_scheduled_emails

List and manage scheduled emails.

check_unread_email_counts

Check unread email counts globally or per mailbox. Parameters: mailbox (optional string)

list_reminders

List all reminders and reminder lists.

search_reminders

Search for reminders by text. Parameters: query (string)

create_reminder

Create new reminders with optional due dates and notes. Parameters: title (string), due_date (optional date), notes (optional string)

open_reminders_app

Open the Reminders app to view specific reminders.

search_calendar_events

Search calendar events with customizable date ranges. Parameters: start_date (date), end_date (date)

list_upcoming_events

List upcoming events in the calendar.

create_calendar_event

Create new calendar events with details like title, location, and notes. Parameters: title (string), location (optional string), notes (optional string), start_time (datetime), end_time (datetime)

open_calendar_events

Open calendar events in the Calendar app.

web_search

Search the web using DuckDuckGo. Parameters: query (string)

search_locations

Search for locations and addresses. Parameters: query (string)

save_location_to_favorites

Save locations to favorites. Parameters: location (string)

get_directions

Get directions between locations. Parameters: from (string), to (string)

drop_pin

Drop pins on the map. Parameters: location (string)

create_guide

Create guides for places. Parameters: guide_name (string)

list_guides

List created guides.

add_place_to_guide

Add places to guides. Parameters: guide_name (string), place (string)

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "apple native apps": {
            "cwd": "optional",
            "env": {},
            "args": [
                "--no-cache",
                "apple-mcp@latest"
            ],
            "shell": false,
            "command": "bunx"
        }
    }
}

Linux

{
    "cwd": "optional",
    "env": [],
    "args": [
        "--no-cache",
        "apple-mcp@latest"
    ],
    "shell": false,
    "command": "bunx"
}

Macos

{
    "cwd": "optional",
    "env": [],
    "args": [
        "--no-cache",
        "apple-mcp@latest"
    ],
    "shell": false,
    "command": "bunx"
}

Windows

{
    "cwd": "optional",
    "env": [],
    "args": [
        "--no-cache",
        "apple-mcp@latest"
    ],
    "shell": false,
    "command": "bunx"
}

Apple MCP tools

smithery badge

This is a collection of apple-native tools for the MCP protocol.

Here's a step-by-step video about how to set this up, with a demo. - https://x.com/DhravyaShah/status/1892694077679763671

<a href="https://glama.ai/mcp/servers/gq2qg6kxtu">
Apple Server MCP server
</a>

image

<details>
<summary>Here's the JSON to copy</summary>

{
  "mcpServers": {
    "apple-mcp": {
      "command": "bunx",
      "args": ["--no-cache", "apple-mcp@latest"]
    }
}

</details>

Quick install

To install Apple MCP for Claude Desktop automatically via Smithery:

npx -y @smithery/cli@latest install @Dhravya/apple-mcp --client claude

... and for cursor, you can do:

npx -y @smithery/cli@latest install @Dhravya/apple-mcp --client cursor

Features

- Messages:
- Send messages using the Apple Messages app
- Read out messages
- Notes:
- List notes
- Search & read notes in Apple Notes app
- Contacts:
- Search contacts for sending messages
- Emails:
- Send emails with multiple recipients (to, cc, bcc) and file attachments
- Search emails with custom queries, mailbox selection, and result limits
- Schedule emails for future delivery
- List and manage scheduled emails
- Check unread email counts globally or per mailbox
- Reminders:
- List all reminders and reminder lists
- Search for reminders by text
- Create new reminders with optional due dates and notes
- Open the Reminders app to view specific reminders
- Calendar:
- Search calendar events with customizable date ranges
- List upcoming events
- Create new calendar events with details like title, location, and notes
- Open calendar events in the Calendar app
- Web Search:
- Search the web using DuckDuckGo
- Retrieve and process content from search results
- Maps:
- Search for locations and addresses
- Save locations to favorites
- Get directions between locations
- Drop pins on the map
- Create and list guides
- Add places to guides

- TODO: Search and open photos in Apple Photos app
- TODO: Search and open music in Apple Music app

You can also daisy-chain commands to create a workflow. Like:
"can you please read the note about people i met in the conference, find their contacts and emails, and send them a message saying thank you for the time."

(it works!)

Manual installation

You just need bun, install with brew install oven-sh/bun/bun

Now, edit your claude_desktop_config.json with this:

``claude_desktop_config.json
{
"mcpServers": {
"apple-mcp": {
"command": "bunx",
"args": ["@dhravya/apple-mcp@latest"]
}
}
}


Usage

Now, ask Claude to use the apple-mcp tool.


Can you send a message to John Doe?


find all the notes related to AI and send it to my girlfriend


create a reminder to "Buy groceries" for tomorrow at 5pm

Local Development

bash
git clone https://github.com/dhravya/apple-mcp.git
cd apple-mcp
bun install
bun run index.ts
``

enjoy!

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.