Mac Messages MCP Server

Use Claude, Codex, Cursor, VS Code, or any local MCP client to search, read, and send messages through the macOS Messages app.

Local serverstdioPython

What is the Mac Messages MCP MCP server?

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

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.

Available tools

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 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

Worth knowing first

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • With 14 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Mac Messages MCP.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

Where it fits

This 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.

Available tools

ToolWhat it does
messages//recent/{hours}
tool_get_recent_messagesRead recent messages, optionally filtered by contact or group chat ID
tool_fuzzy_search_messagesSearch message bodies by approximate text match; defaults to 30 days, or use hours=0 for all history
tool_find_contactFuzzy-match a name in Contacts and return phone numbers
tool_get_chatsList named group chats and their identifiers
tool_search_attachmentsFind attachment metadata by date, contact, MIME type, and limit
tool_get_attachmentFetch one attachment by ID, inline when supported or as a local path
tool_check_imessage_availabilityCheck likely iMessage availability for a phone number or email
tool_check_db_accessDiagnose access to ~/Library/Messages/chat.db
tool_check_contactsReturn a contact count and a small sample
tool_check_addressbookDiagnose Contacts/AddressBook database access
tool_send_messageSend one direct or group message through Messages.app
CursorOr open **Cursor Settings → Tools & MCP → New MCP Server** and use:
RecipientsFor direct messages, E.164 phone numbers are the most reliable format:

How to install the Mac Messages MCP MCP server

{
  "mcpServers": {
    "mac-messages": {
      "command": "uvx",
      "args": ["mac-messages-mcp"]
    }
  }
}

Add to claude_desktop_config.json, then restart Claude Desktop.

Example prompts to try

  • Use Mac Messages MCP to messages.
  • Use Mac Messages MCP to tool get recent messages.
  • Use Mac Messages MCP to tool fuzzy search messages.

Frequently asked questions

It connects Mac Messages MCP to MCP-compatible AI assistants such as Claude and Cursor, exposing 14 tools (messages, tool_get_recent_messages, tool_fuzzy_search_messages, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Mac Messages MCP directly.