Use Claude, Codex, Cursor, VS Code, or any local MCP client to search, read, and send messages through the macOS Messages app.
Mac Messages MCP runs locally on your Mac. It opens the Messages and Contacts databases read-only, returns only the data a client asks for, and uses Messages.app automation only when the client explicitly calls the send tool.
[!IMPORTANT] This server is macOS-only. Reading messages requires Full Disk Access. Sending requires a Mac signed into Messages plus permission for the launching app to automate Messages.
- Read recent messages across all conversations or filter by contact or group chat
- Fuzzy-search message text across a time window, including all available history
- Find Contacts by approximate name and return send-ready phone numbers
- List named group chats and use their chat IDs for reads or sends
- Send iMessage, with SMS/RCS fallback for eligible phone recipients
- Check whether a recipient appears reachable through iMessage before sending
- Find attachments by date, sender, and MIME type
- Return small images inline, convert HEIC images to PNG, or return a local path for larger and non-image files
- Diagnose Messages and Contacts database permissions from inside the MCP client
brew install uvConfirm that the launcher is available:
uvx --versionPython 3.10 or newer is required. uvx can provision a compatible Python and
installs Mac Messages MCP in an isolated environment, so you do not need to
create a virtual environment first.