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.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"messages": {
"args": [
"mac-messages-mcp"
],
"command": "uvx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
A Python bridge for interacting with the macOS Messages app using MCP (Multiple Context Protocol).
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
npx -y 'mcp-proxy' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked mcp-proxy against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in communication
Asynchronous coordination layer for AI coding agents: identities, inboxes, searchable threads, and advisory file leases over FastMCP + Git + SQLite
MCP server for Kaseya Autotask PSA — 39 tools for companies, tickets, projects, time entries, and more
Email & SMS infrastructure for AI agents — send and receive real email and text messages programmatically
An MCP (Model Context Protocol) server designed to interact with the ntfy push notification service. It enables LLMs and AI agents to send notifications to your devices with extensive customization options.
MCP Security Weekly
Get CVE alerts and security updates for Mac_messages_mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
A Python bridge for interacting with the macOS Messages app using MCP (Multiple Context Protocol).
Click the button above to automatically add Mac Messages MCP to Cursor
See the Integration section below for setup instructions.
tool_get_chats to read one group conversation chronologicallyAttachment access uses progressive disclosure — discovery is cheap, fetching is deliberate:
tool_get_recent_messages and tool_fuzzy_search_messages annotate messages that have attachments with a compact summary like [attachments: #42 image/jpeg (invitation.jpg)]. The id lets you fetch the file later.tool_search_attachments(start_date, end_date, contact, mime_type, limit) returns metadata only (id, MIME type, filename, size, sender) — useful for "find all images Elizabeth sent in April 2026" without scanning message text.tool_get_attachment(attachment_id) returns the file. Image MIME types come back inline (HEIC is converted to PNG so it can be viewed directly). PDFs, video, and audio come back as a filesystem path the agent can read with its own tools. Inline image bytes are capped at 5MB by default to avoid context blowup; oversized images fall back to path return.Stickers, link-preview "balloon" payloads, and .pluginPayloadAttachment containers are filtered out by default.
For direct sends, E.164 phone numbers with a leading + are the most reliable format, such as +14155551234. Bare digit phone numbers with a country code are normalized before sending, and 10-digit US numbers are sent as +1.... tool_find_contact returns phone matches in the same send-ready format.
If you're on Mac, install uv using Homebrew:
brew install uv
Otherwise, follow the installation instructions on the [uv website](https://github.com/astral-sh/uv