Use Claude, Codex, Cursor, VS Code, or any local MCP client to search, read, and send messages through the macOS Messages app.
Connect Mac Messages MCP to Claude, Cursor or any other MCP client and it stops being a tab you switch to. Use Claude, Codex, Cursor, VS Code, or any local MCP client to search, read, and send messages through the macOS Messages app. The mac messages mcp mcp server is what makes that connection.
Installation goes through your MCP client rather than a global install: point it at mac-messages-mcp on PyPI and it is fetched when the client starts. The copy-paste blocks for Claude Desktop, Claude Code and Cursor are further down this page.
The toolset is worth reading before you wire it up, because it tells you what the integration is really for:
messages — //recent/{hours}tool_get_recent_messages — Read recent messages, optionally filtered by contact or group chat IDtool_fuzzy_search_messages — Search message bodies by approximate text match; defaults to 30 days, or use hours=0 for all historytool_find_contact — Fuzzy-match a name in Contacts and return phone numberstool_get_chats — List named group chats and their identifierstool_search_attachments — Find attachment metadata by date, contact, MIME type, and limittool_get_attachment — Fetch one attachment by ID, inline when supported or as a local pathtool_check_imessage_availability — Check likely iMessage availability for a phone number or emailtool_check_db_access — Diagnose access to ~/Library/Messages/chat.dbtool_check_contacts — Return a contact count and a small sampletool_check_addressbook — Diagnose Contacts/AddressBook database accesstool_send_message — Send one direct or group message through Messages.appThis sits in the database access group, where several servers overlap in what they claim to do but differ sharply once you actually set them up. Mac Messages MCP's toolset — messages, tool_get_recent_messages, tool_fuzzy_search_messages and 11 more — is a fair guide to whether it matches your workflow. It is maintained by carterlasalle; worth a glance at recent repository activity before you build anything load-bearing on it.
This entry was verified against Mac Messages MCP's own documentation before publication; SyncDev keeps the directory reviewed rather than auto-generated.
| Tool | What it does |
|---|---|
| messages | //recent/{hours} |
| tool_get_recent_messages | Read recent messages, optionally filtered by contact or group chat ID |
| tool_fuzzy_search_messages | Search message bodies by approximate text match; defaults to 30 days, or use hours=0 for all history |
| tool_find_contact | Fuzzy-match a name in Contacts and return phone numbers |
| tool_get_chats | List named group chats and their identifiers |
| tool_search_attachments | Find attachment metadata by date, contact, MIME type, and limit |
| tool_get_attachment | Fetch one attachment by ID, inline when supported or as a local path |
| tool_check_imessage_availability | Check likely iMessage availability for a phone number or email |
| tool_check_db_access | Diagnose access to ~/Library/Messages/chat.db |
| tool_check_contacts | Return a contact count and a small sample |
| tool_check_addressbook | Diagnose Contacts/AddressBook database access |
| tool_send_message | Send one direct or group message through Messages.app |
| Cursor | Or open **Cursor Settings → Tools & MCP → New MCP Server** and use: |
| Recipients | For direct messages, E.164 phone numbers are the most reliable format: |
{
"mcpServers": {
"mac-messages": {
"command": "uvx",
"args": ["mac-messages-mcp"]
}
}
}Add to claude_desktop_config.json, then restart Claude Desktop.
Read-only SQL access to Postgres — let your assistant inspect schemas and answer questions from real data.
Manage your whole Supabase project in conversation — database, auth, storage, Edge Functions and branches.
Query, modify and analyse local SQLite databases in conversation — the fastest way to chat with a data file.
Metabase ships its own MCP endpoint — search your BI content, build and run queries, and save questions and dashboards without leaving the chat.
Official MongoDB server covering data, schemas and Atlas management — from find queries to spinning up clusters.
Serverless Postgres with database branching — point your assistant at Neon and let it work on disposable copies.