Mac Messages MCP

by carterlasalle• 340•• Scanned•Claim this listing•Request removal
Communicationapplescriptclaudecontactscursorimessage

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 Code · Terminal
claude mcp add mac-messages-mcp -- uvx mac-messages-mcp
Claude Desktop · claude_desktop_config.json
{
  "mcpServers": {
    "mac-messages-mcp": {
      "command": "uvx",
      "args": [
        "mac-messages-mcp"
      ]
    }
  }
}
Cursor · .cursor/mcp.json
{
  "mcpServers": {
    "mac-messages-mcp": {
      "command": "uvx",
      "args": [
        "mac-messages-mcp"
      ]
    }
  }
}
VS Code · Terminal
code --add-mcp '{"name":"mac-messages-mcp","command":"uvx","args":["mac-messages-mcp"]}'

What Mac Messages MCP can touch

  • Run shell commandsNot seen in this scan
  • Run dynamic codeNot seen in this scan
  • Read or write filesNot seen in this scan
  • Read environment and secretsNot seen in this scan
  • Control a web browserNot seen in this scan
  • Connect to databasesLikely, from its own description
  • Read or send messagesListed as a tool: tool_send_message
  • Touch money or tradingNot seen in this scan
  • 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

  1. Give it a read-only database user unless it must write.
  2. Pin the version you reviewed instead of always installing the latest release.
  3. 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_messages

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Cancel 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

applescriptclaudecontactscursorimessagemacmacosmcpmcp-server

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.

NameStarsLicenceLast updatedScan
Mac Messages MCP (this page)
carterlasalle
340MITOct 30, 2026Scanned, no flagged issues
TrendRadar
sansan0
63kGPL-3.0Oct 29, 2026Scanned, no flagged issues
Waha
devlikeapro
7.7kApache-2.0Oct 28, 2026Scanned, no flagged issues
Lemonade
lemonade-sdk
6kApache-2.0Nov 1, 2026Scanned, no flagged issues
Pipeshub AI
pipeshub-ai
3.9kApache-2.0Nov 1, 2026Scanned, no flagged issues
Slackdump
rusq
2.8kAGPL-3.0Nov 1, 2026Scanned, no flagged issues