Vibe Coding Discover

MCP

mac_messages_mcp

View on GitHub

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.

★ 32953 forksPythonMITcarterlasalle

macOS-only MCP server that gives LLM clients read-only access to the local iMessage and Contacts databases for searching, reading, and analyzing conversations, plus an explicit send tool. Handles phone-number normalization, attachments, group chats, and permission diagnostics.

Use Cases

Let an LLM read and summarize recent iMessage conversationsFuzzy-search message history by text and time windowLook up contacts and resolve send-ready phone numbersRead named group chats by chat IDSearch and fetch message attachments by date, sender, or MIME typeConvert HEIC iPhone photos to inline PNGDraft and send iMessage with SMS/RCS fallback on explicit tool callCheck whether a recipient is reachable over iMessageDiagnose Messages and Contacts database permissions from the MCP clientExpose messages://recent and messages://contact MCP resources to clients

Built With

Language
Python
Frameworks
MCP Python SDK · FastMCP · thefuzz · python-Levenshtein · phonenumbers · Pillow · pillow-heif · pytest · setuptools · uv

Tags

mcp · mcp-server · imessage · macos · messaging · contacts · applescript · privacy · local-first · python · sqlite · attachments · group-chat · fuzzy-search · fastmcp · stdio