Mac Messages MCP
An MCP server that securely interfaces with your iMessage database via the Model Context Protocol (MCP), allowing LLMs to query and analyze iMessage conversations. It includes robust phone number validation, attachment processing, contact management, group chat handling, and full support for sending and receiving messages.
Mac Messages MCP is an open-source mcp server by carterlasalle, written mainly in Python, with 340 GitHub stars and the MIT license. Its code was last updated Oct 30, 2026. The latest PyPI release is mac-messages-mcp 1.1.0, published Sep 1, 2026, with 345 downloads last week.
Scan summary: scanned Nov 5, 2026 at commit 8b0cef1. Seen able to read or send messages. Scan policy
How to install Mac Messages MCP
Built from the start command in the project's README: uvx mac-messages-mcp. Check the README for required keys or settings.
claude mcp add mac-messages-mcp -- uvx mac-messages-mcp{
"mcpServers": {
"mac-messages-mcp": {
"command": "uvx",
"args": [
"mac-messages-mcp"
]
}
}
}{
"mcpServers": {
"mac-messages-mcp": {
"command": "uvx",
"args": [
"mac-messages-mcp"
]
}
}
}code --add-mcp '{"name":"mac-messages-mcp","command":"uvx","args":["mac-messages-mcp"]}'What Mac Messages MCP can touch
- Our checks did not find this. The tool may still do it.Run shell commandsNot seen in this scan
- Our checks did not find this. The tool may still do it.Run dynamic codeNot seen in this scan
- Our checks did not find this. The tool may still do it.Read or write filesNot seen in this scan
- Our checks did not find this. The tool may still do it.Read environment and secretsNot seen in this scan
- Our checks did not find this. The tool may still do it.Control a web browserNot seen in this scan
- Not checked directly. Its own description suggests it does this.Connect to databasesLikely, from its own description
- The server lists a tool that does this.Read or send messagesListed as a tool: tool_send_message
- Our checks did not find this. The tool may still do it.Touch money or tradingNot seen in this scan
- Our checks did not find this. The tool may still do it.Connect to the internetNo connections seen while running
"Not seen" means our checks did not find it, and the tool may still do it. Covers commit 8b0cef1, Nov 5, 2026. See the scan policy.
Before you install Mac Messages MCP
AgenticMart scanned Mac Messages MCP on Nov 5, 2026 with automated checks for hidden code, known-malicious packages, leaked secrets and vulnerable dependencies. The result covers one commit under our scan policy, so review what access you give it and check any advisories shown here.
What it can access
- An MCP server is a program your AI app starts and talks to. A local one runs with your user's permissions: it can see the files, environment variables and network your account can.
- Based on its description and topics, it likely needs to connect to a database.
Before you install
- Give it a read-only database user unless it must write.
- Pin the version you reviewed instead of always installing the latest release.
- Read the tool list or scripts before the first run, and keep approval prompts on for actions that write, send or delete.
- Maintained by carterlasalle on GitHub, 340 stars and 56 forks. Popularity is not proof of safety.
- Last code change: Oct 30, 2026.
- Open-source license: MIT.
Tools Mac Messages MCP exposes (18)
Listed by the server itself during our scan of commit 8b0cef1.
tool_get_recent_messagesRead recent macOS Messages as a plain-text summary. This is read-only: it queries the local Messages database and does not send, edit, or delete messages. Requires macOS Full Disk Access for the host app or terminal. Returned Messages/Contacts-derived text is structurally neutralized
tool_send_messageSend one outgoing message through the macOS Messages app. This has an external side effect: it sends the provided text (and any attachments) to the recipient using Messages. It may use iMessage or SMS/RCS depending on recipient availability and Messages configuration, but file attac
tool_find_contactFind AddressBook contacts by fuzzy name matching. This is read-only: it searches local contacts and does not message anyone or change contacts. Requires Contacts/AddressBook permission for the host app or terminal. Returned names and numbers are structurally neutralized and wrapped
tool_check_db_accessDiagnose read access to the local macOS Messages database. This is read-only: it checks whether the server can locate and query the Messages SQLite database and returns a plain-text diagnostic report with any permission or path errors. It requires Full Disk Access for the host app or
tool_check_contactsList a small sample of contacts available from AddressBook. This is read-only: it loads cached local contact names and phone numbers and returns a count plus sample entries, structurally neutralized and wrapped in <untrusted-mcp-output>. Requires Contacts/AddressBook permission. Use thi
tool_check_addressbookDiagnose read access to the local macOS AddressBook database. This is read-only: it checks whether the server can locate and read local Contacts/AddressBook data and returns a plain-text diagnostic report with permission or path errors. It does not modify contacts. Use this when contact
tool_get_chatsList named group chats from the macOS Messages database. This is read-only: it queries chat identifiers and display names and does not send, edit, or delete messages. Requires Full Disk Access for the host app or terminal. Returns group names and IDs structurally neutralized and wrapped
tool_check_imessage_availabilityCheck whether a recipient appears reachable through iMessage. This is a read-only availability check against local Messages services; it does not send a message. Requires Messages to be configured on this Mac. Returns a plain-text result indicating iMessage availability or likely SMS/RC
tool_fuzzy_search_messagesFuzzy-search local message text within a time window. This is read-only: it queries the local Messages database and does not send, edit, or delete messages. Requires Full Disk Access for the host app or terminal. Matching messages are structurally neutralized and wrapped in <untrust
tool_search_attachmentsSearch message attachments by date range, contact, and MIME type. This is read-only and returns metadata only; it does not return file bytes or modify attachments. Requires Full Disk Access for the host app or terminal. Filenames, MIME types, paths, and sender labels are structurally ne
tool_get_attachmentFetch a specific attachment by its database ROWID. This is read-only: it resolves a local Messages attachment file and does not modify or delete it. Requires Full Disk Access for the host app or terminal. For image MIME types under max_bytes, returns the image inline so you can see
tool_list_conversationsList every conversation, not just named group chats. This is read-only: it reports chat identifiers, kind (direct, group, or business), message count, unread count, and last activity. Requires Full Disk Access. Returned names and identifiers are structurally neutralized and wrapped
tool_wait_for_new_messagesBlock until a newer message exists, or the timeout expires. Read-only. An MCP stdio server cannot push, so this is a bounded poll: call it in a loop, feeding the highest ROWID you have seen back as since_rowid. Returned message text is structurally neutralized and wrapped in <untrus
tool_search_attachment_contentsSearch the contents of message attachments, not just their metadata. This is read-only. Text formats are read directly, PDFs need the optional `pypdf` package, and images need the optional `pytesseract` package plus the tesseract binary; rows it cannot extract from are counted in the re
tool_create_contactCreate one Contacts.app entry holding a single phone number. This is a privileged write: it changes the user's Contacts through Contacts.app automation, needs Automation permission for Contacts, and does not merge with an existing card, so calling it twice for the same person duplic
tool_schedule_messageSchedule one message to be sent later by this server process. The queue is in memory: it survives only while this MCP server process runs. If the client disconnects or the server restarts before send_at, the message is never sent and is not restored. Scheduled sends use the same Message
tool_list_scheduled_messagesList messages scheduled in this server process and their status. Read-only with respect to Messages: it only reads the in-memory queue. Statuses are pending, sent, or failed; a failed entry shows the send error. Use tool_cancel_scheduled_message to drop a pending job.
tool_cancel_scheduled_messageCancel one pending scheduled message. Read-only with respect to Messages: it only removes the job from this process's in-memory queue. A job that has already run cannot be cancelled.
Mac Messages MCP is an open-source mcp server by carterlasalle, written mainly in Python. An MCP server that securely interfaces with your iMessage database via the Model Context Protocol (MCP), allowing LLMs to query and analyze iMessage conversations. It includes robust phone number validation, attachment processing, contact management, group chat handling, and full support for sending and receiving messages.
At a glance
- Stars
- 340
- Forks
- 56
- Language
- Python
- License
- MIT
- Created
- Mar 2025
- Last update
- Oct 30, 2026
- Type
- MCP Server
- Price
- Free
Topics
Questions about Mac Messages MCP
What is Mac Messages MCP?
An MCP server that securely interfaces with your iMessage database via the Model Context Protocol (MCP), allowing LLMs to query and analyze iMessage conversations. It includes robust phone number validation, attachment processing, contact management, group chat handling, and full support for sending and receiving messages.
Who maintains Mac Messages MCP?
Mac Messages MCP is maintained by carterlasalle on GitHub (carterlasalle/mac_messages_mcp). AgenticMart lists it from public repository data.
Is Mac Messages MCP safe to use?
AgenticMart scanned Mac Messages MCP on Nov 5, 2026 with automated checks for hidden code, known-malicious packages, leaked secrets and vulnerable dependencies. The result covers one commit under our scan policy, so review what access you give it and check any advisories shown here.
What license does Mac Messages MCP use?
It is published under the MIT license.
Mac Messages MCP alternatives
View more →Similar mcp servers in Communication, ranked by GitHub stars. Compare licence, recent activity and scan status before you choose.
| Name | Stars | Licence | Last updated | Scan |
|---|---|---|---|---|
| Mac Messages MCP (this page) carterlasalle | 340 | MIT | Oct 30, 2026 | Scanned, no flagged issues |
| TrendRadar sansan0 | 63k | GPL-3.0 | Oct 29, 2026 | Scanned, no flagged issues |
| Waha devlikeapro | 7.7k | Apache-2.0 | Oct 28, 2026 | Scanned, no flagged issues |
| Lemonade lemonade-sdk | 6k | Apache-2.0 | Nov 1, 2026 | Scanned, no flagged issues |
| Pipeshub AI pipeshub-ai | 3.9k | Apache-2.0 | Nov 1, 2026 | Scanned, no flagged issues |
| Slackdump rusq | 2.8k | AGPL-3.0 | Nov 1, 2026 | Scanned, no flagged issues |