What are the prerequisites for Mac Messages MCP?
macOS 11+, Python 3.10+, the `uv` package manager, and Full Disk Access permission for the terminal or application running the server.
@carterlasalle
Basic information
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
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"mac_messages_mcp": {
"command": "python",
"args": [
"scripts/build_mcpb.py",
"#",
"build",
"for",
"the",
"host",
"architecture"
]
}
}
}Tool list not available yet
This listing does not currently have a tool list to display. This does not mean the server has no tools; check its documentation for supported capabilities.
We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.
Mac Messages MCP is a Python bridge for interacting with the macOS Messages app using the Model Context Protocol (MCP). It enables sending and reading iMessages and SMS/RCS messages, and searching attachments, designed for macOS users who want programmatic access to their Messages database.
Install via uvx mac-messages-mcp (requires macOS 11+, Python 3.10+, and the uv package manager). Grant Full Disk Access to your terminal or app. Integrate with Claude Desktop by adding a config with command uvx mac-messages-mcp or with Cursor by pasting uvx mac-messages-mcp in MCP settings. For Docker, use mcp-proxy to bridge stdio to HTTP.
macOS 11+, Python 3.10+, the `uv` package manager, and Full Disk Access permission for the terminal or application running the server.
Run `uvx mac-messages-mcp` in your terminal, or install from PyPI with `uv pip install mac-messages-mcp`. For source installation, clone the repo and run `uv install -e .`.
Messages.app automation is macOS‑only, so the server itself does not work inside a Linux container. The Dockerfile is for catalog checks and read‑only database experiments with mounted data. To connect from a container, run `mcp-proxy` on the host to bridge stdio to HTTP.
Attachments use progressive disclosure: message searches show a compact summary, an attachment‑first search returns metadata, and fetching returns the file. Images are returned inline (HEIC converted to PNG), while PDFs, video, and audio return a filesystem path. Inline image bytes are capped at 5MB by default.
E.164 phone numbers with a leading `+` (e.g., `+14155551234`) are most reliable. Bare digit numbers are normalized, and 10‑digit US numbers are sent as `+1...`. The `tool_find_contact` returns phone matches in send‑ready format.

Handl speaks the Model Context Protocol. Your whole billing operation — projects, invoices, clients, reports, approvals — as tools any AI assistant can call, inside your autonomy rules.
🚀 The fast, Pythonic way to build MCP servers and clients.

Model Context Protocol Servers
Senso MCP turns a Joomla 5 or 6 site into a remote MCP server. It runs inside Joomla itself (no extra server, no Node.js bridge) and is secured with OAuth 2.1 and Joomla's own ACL. The free pack lets an AI assistant crea

Request dedicated senior developers to work on your project, write job descriptions, and prep technical interviews — all without leaving your Claude chat. Just describe what you need, and Lemon.io MCP does the rest. 1–3
Comments