Apple Native Apps
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
Jump to
- 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:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Apple Native AppsCommand (node, npx, python, etc.)bunxArguments-
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.
-
Argument 1
- 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
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">
</a>
<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
bashgit clone https://github.com/dhravya/apple-mcp.git
cd apple-mcp
bun install
bun run index.ts
``
enjoy!
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





