
iMCP Server for Mac: Setup for Claude, Claude Code and Other Apps
Lets your AI assistant use Calendar, Contacts, Messages, Mail, Notes, Reminders and more on your Mac.
iMCP is a Mac menu bar app that lets Claude, Codex and other assistants use your Mac's apps, such as Calendar, Contacts, Messages, Mail, Notes, Reminders, Maps and Shortcuts. It needs macOS 15.3 or later, and the app must stay open. Only Maps is on at first, and you switch each other service on yourself. The README says iMCP does not collect your data, but the AI app you connect does send results off your Mac.
Good for
- Mac users who want Claude to check their calendar, reminders and notes
- People who want to ask about their messages, calls and voicemail
- Anyone who wants to choose service by service what an assistant can reach
- Users of local models who want to keep their data on the Mac
Works in
12 should work
Tap an app to see how to set it up and any known problems.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Client does not support this transport.
Client does not support this transport.
Install iMCP MCP
Claude Code
- 1
Copy this prompt.
Add the iMCP MCP server to Claude Code. Run this command: claude mcp add --scope user iMCP -- /Applications/iMCP.app/Contents/MacOS/imcp-server Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires macOS 15.3 or later, iMCP app open.
Install the iMCP app first (download from imcp.app/download, or with Homebrew as the README shows), turn on the services you want in its menu bar icon, and keep it open. The command path assumes iMCP is in your Applications folder; if not, use Copy server command to clipboard in the iMCP menu.
From the project README. Source.
Tools
Finds events in your calendar
Lists calendar events by date range and other filters. Needs the Calendar service turned on in the iMCP menu.
Try: “What is on my calendar next Tuesday?”
Read ·
events_fetchLists your calendars
Shows the calendars on your Mac so the assistant can pick the right one.
Try: “Which calendars do I have?”
Read ·
calendars_listAdds an event to your calendar
Creates an event with a title, time, location, repeat rule and alarms.
Try: “Add lunch with Sam on Friday at noon, with a 15 minute alert.”
Write ·
events_createChanges an existing calendar event
Edits only the fields you name on an event. For a repeating event it changes the occurrence you point to.
Try: “Move tomorrow's dentist appointment to 3 pm.”
Write ·
events_updateDeletes a calendar event
Removes an event from your calendar. For a repeating event it removes the occurrence at the start date you give.
Try: “Delete the team sync on Thursday.”
Delete ·
events_deleteReads your own contact card
Returns your own contact card so the assistant knows your details when you ask a personal question.
Try: “What is my home address on file?”
Read ·
contacts_meFinds contacts by name, phone or email
Looks up people in your address book by name, number or email.
Try: “Find Dana's phone number.”
Read ·
contacts_searchLists your contacts
Returns contacts in pages so the assistant can read a large address book.
Try: “List my first 50 contacts.”
Read ·
contacts_listAdds a new contact
Saves a new person to your address book.
Try: “Add Priya Shah, priya@example.com, as a contact.”
Write ·
contacts_createChanges an existing contact
Edits fields on a contact you already have. The tool is marked as destructive.
Try: “Update Sam's phone number to 555-0102.”
Write ·
contacts_updateReads your Messages history
Pulls messages with chosen people over a date range from your Mac's Messages history.
Try: “Summarize my messages with Alex from last week.”
Files ·
messages_fetchReads a file attached to a message
Returns the file attached to a message as encoded data.
Try: “Open the PDF Alex sent yesterday.”
Files ·
messages_attachment_readLists your Mail mailboxes
Shows the mailboxes found in your Mail folder on this Mac.
Try: “List my mailboxes.”
Files ·
mail_mailboxes_listSearches your email by sender and subject
Finds messages in your local Mail index by sender, subject, mailbox, date or read status. It does not search the message text.
Try: “Find emails from billing@example.com this month.”
Files ·
mail_messages_searchReads an email stored on your Mac
Returns the content of one stored message. Attachments are listed but their content is not returned.
Try: “Read that invoice email.”
Files ·
mail_messages_readOpens a new draft in your email app
Opens a draft in your default mail app with the recipient and text filled in. You send it yourself.
Try: “Draft an email to the landlord about the broken heater.”
Runs code ·
mail_composeLists your reminder lists
Shows the lists in Reminders.
Try: “What reminder lists do I have?”
Read ·
reminders_listsFinds reminders
Lists reminders by list, due date, completion and other filters.
Try: “What reminders are due this week?”
Read ·
reminders_fetchAdds a reminder
Makes a reminder with a due date, repeat rule, priority and alerts.
Try: “Remind me to renew my passport on the 1st.”
Write ·
reminders_createChanges a reminder
Edits only the fields you name on a reminder.
Try: “Move the passport reminder to next Monday.”
Write ·
reminders_updateDeletes a reminder
Removes one reminder.
Try: “Delete the reminder about the old invoice.”
Delete ·
reminders_deleteCreates a reminder list
Adds a new list in Reminders.
Try: “Create a list called Trip Prep.”
Write ·
reminders_lists_createRenames a reminder list
Changes a list's name. Marked as destructive.
Try: “Rename Groceries to Weekly Shop.”
Write ·
reminders_lists_renameDeletes a reminder list and all its reminders
Removes a whole list and every reminder in it, with no undo.
Try: “Delete the Old Projects list.”
Delete ·
reminders_lists_deleteLists your Notes folders
Shows your folders and how many notes each holds.
Try: “What folders do I have in Notes?”
Read ·
notes_foldersFinds notes, newest first
Lists notes by text, folder or date with a short preview.
Try: “Find my notes about the kitchen remodel.”
Read ·
notes_fetchReads a full note
Returns one note with its headings, lists, checklists, links and tables.
Try: “Read my note called Packing List.”
Read ·
notes_readLists your recent phone calls
Shows calls synced from your iPhone, filtered by person, date or type.
Try: “Who called me yesterday?”
Read ·
phone_calls_fetchStarts a phone call from your Mac
Begins a call through your iPhone. macOS asks you to confirm before it dials.
Try: “Call Mom.”
Runs code ·
phone_callLists your voicemails
Shows voicemails from the inbox or another mailbox.
Try: “Any new voicemails?”
Files ·
voicemails_fetchReads the transcript of a voicemail
Returns the text of one voicemail.
Try: “What did the doctor's voicemail say?”
Files ·
voicemail_transcript_fetchFetches the audio of a voicemail
Returns the sound file of one voicemail.
Try: “Get the audio of the latest voicemail.”
Files ·
voicemail_audio_fetchLists your Voice Memos recordings
Shows your recordings by title, folder or date.
Try: “List my voice memos from this week.”
Files ·
voice_memos_fetchReads the transcript of a voice memo
Returns the text Voice Memos made of one recording.
Try: “Transcribe my memo about the project ideas.”
Files ·
voice_memo_transcript_fetchFetches the audio of a voice memo
Returns the sound file of one recording.
Try: “Get the audio of my last voice memo.”
Files ·
voice_memo_audio_fetchGets where your Mac is now
Returns your current location from macOS Location Services.
Try: “Where am I right now?”
Network ·
location_currentTurns an address into coordinates
Converts a street address to latitude and longitude.
Try: “What are the coordinates of 1 Infinite Loop, Cupertino?”
Network ·
location_geocodeTurns coordinates into an address
Finds the address for a latitude and longitude.
Try: “What address is at 37.33, -122.03?”
Network ·
location_reverse-geocodeSearches Apple Maps for places
Finds places and businesses by name or type.
Try: “Find coffee shops near the Ferry Building.”
Network ·
maps_searchGets driving or walking directions
Returns route steps between two places by car or on foot.
Try: “How do I walk from Union Square to Pier 39?”
Network ·
maps_directionsFinds points of interest near a place
Lists nearby places of interest around a point.
Try: “What is worth seeing near the Golden Gate Bridge?”
Network ·
maps_exploreEstimates travel time between two places
Gives an estimated trip time, including transit.
Try: “How long by transit from home to the airport?”
Network ·
maps_etaMakes a map image
Creates a still map picture for a location.
Try: “Make a map image of downtown Portland.”
Network ·
maps_generateGets the current weather
Returns temperature, wind and conditions for a place.
Try: “What is the weather in Berlin right now?”
Network ·
weather_currentGets the daily forecast
Returns the day-by-day forecast.
Try: “Give me the 7 day forecast for Seattle.”
Network ·
weather_dailyGets the hourly forecast
Returns the hour-by-hour forecast.
Try: “Will it rain this afternoon?”
Network ·
weather_hourlyGets the minute-by-minute forecast
Returns very short-term rain and weather detail.
Try: “When will the rain start?”
Network ·
weather_minuteShows what is playing in Music
Returns the current track.
Try: “What song is playing?”
Read ·
music_now_playingControls Music playback
Plays, pauses or skips in the Music app. Needs Automation permission for Music.
Try: “Pause the music.”
Runs code ·
music_controlSearches the Apple Music catalog
Finds songs, albums and artists. Needs Apple Music access.
Try: “Find albums by Khruangbin.”
Network ·
music_catalog_searchLists your Shortcuts
Shows the names of the shortcuts you have.
Try: “Which shortcuts do I have?”
Read ·
shortcuts_listRuns a Shortcut by name
Runs any shortcut on your Mac, with optional text as input. What happens depends on the shortcut, so it can do anything a shortcut can. It is marked destructive.
Try: “Run my Morning Routine shortcut.”
Runs code ·
shortcuts_runTakes a photo with the camera
Captures a photo from your Mac's camera and returns it to the assistant.
Try: “Take a picture of my desk.”
Files ·
capture_take_pictureRecords audio with the microphone
Records sound from your microphone and returns it.
Try: “Record 10 seconds of audio.”
Files ·
capture_record_audioTakes a screenshot
Captures your screen, a window or an app and returns the image.
Try: “Take a screenshot of the Safari window.”
Files ·
capture_take_screenshotPlays a system sound
Plays a sound on your Mac. It is always on, so you can test the connection without granting any permissions.
Try: “Play a sound to test the connection.”
Runs code ·
utilities_beep
Read from the source code
Permissions
high risk · 6 things to watch
High risk
Once you turn services on, the assistant can read private Messages, Mail and Notes, delete events and reminders, run Shortcuts, and use your camera and microphone. Turn on only the services you need, and turn off individual tools in iMCP Settings.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
Only Maps is on at first; each service adds risk
Turning on Messages, Mail, Notes, Contacts or Phone lets the assistant read private data. Switch on only what you need. github.com
shortcuts_run can do anything a Shortcut can
It runs any shortcut by name and is marked destructive. Leave Shortcuts off, or turn off that tool in Settings, unless you trust every shortcut you have. github.com
It can delete calendar events and reminders
events_delete, reminders_delete and reminders_lists_delete remove items, and deleting a list removes every reminder in it with no undo. Turn these tools off in Settings if you only want to read. github.com
It can use the camera, microphone and screen
capture_take_picture, capture_record_audio and capture_take_screenshot return what they capture to the AI app. Keep Capture off unless you need it. github.com
Your data goes to the AI app you connect
The README says AI apps such as Claude and ChatGPT send your data off your device as part of tool calls. A local model through llama.cpp keeps it on the Mac. github.com
It can start phone calls
phone_call dials through your iPhone. macOS asks you to confirm before the call is placed. github.com
Security advisories
No published security advisories as of Nov 1, 2026.
Technical details
| Turning on read-only | No read-only mode. You can turn off a whole service in the iMCP menu, or individual tools in Settings. |
|---|---|
| Talks to | The AI app you connect (results leave your Mac). Apple Maps, Weather and Music services for those tools |
| Sign-in and keys | No account or key. macOS permissions for each service, and an approval dialog for each connecting AI app. |
Questions
Is iMCP official?
No. It is a community project by Mattt, not made by Apple. It reads your Mac's apps through macOS permissions.
Which AI apps does iMCP work with?
The README covers Claude Desktop, Claude Code, the ChatGPT desktop app, llama.cpp and other apps that can start a local server. For ChatGPT it says the steps are untested end to end and to use Codex mode.
Does it need an API key or an account?
No. You give it permissions inside macOS, one service at a time. Each new AI app also has to be approved in a dialog the first time it connects.
Which services are on by default?
Only Maps. The README says Maps is on when you first open iMCP, and you switch on Calendar, Contacts, Messages, Mail, Notes, Reminders and the rest one at a time from the menu bar icon. macOS then asks for each permission separately.
Does my data leave my Mac?
iMCP says it does not collect or store your data. The AI app you connect does send tool results off your Mac, unless you use a local model through llama.cpp.
Can I make it read-only?
Not with one switch. You can leave write-capable services off, or turn off single tools in iMCP Settings.
Can it send messages or emails?
The tool list has no send tool. mail_compose only opens a draft in your email app, and you send it yourself.
What does it need on my Mac?
macOS 15.3 or later, and the iMCP app has to stay open. Homebrew can install it with brew install --cask mattt/tap/iMCP, as the README shows.
What about Home (HomeKit)?
Home controls need a helper app that you build with your own Apple Developer account, so those tools are not in the list above.
Information
updated Nov 2, 2026
- Publisher
- Community
- Transport
- stdio
- Auth
- None
- License
- MIT
- Last commit
- Oct 29, 2026
- Open issues
- 10
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 2Hide
- github.com · github.com
- github.com · github.com