mac_messages_mcp MCP server
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.
What mac_messages_mcp does
Summarised from the project README; check the repository for the latest details.
Tools exposed (18)
tool_get_recent_messages– Read recent messages, filtered by contact, group chat ID, date range, or unread state; page with `limit`/`offset`tool_fuzzy_search_messages– Search message bodies by approximate text match, scoped to a contact or chat; defaults to 30 days, or `hours=0`tool_list_conversations– List every conversation with kind, message count, unread count, and last activitytool_wait_for_new_messages– Block until a message newer than a ROWID cursor arrives, or the timeout expirestool_find_contact– Fuzzy-match a name in Contacts and return phone numberstool_get_chats– List named group chats and their identifierstool_search_attachments– Find attachment metadata by date, contact, MIME type, and limittool_search_attachment_contents– Search inside attachment text/PDF contents by date, contact, and MIME typetool_get_attachment– Fetch one attachment by ID, inline when supported or as a local pathtool_check_imessage_availability– Check likely iMessage availability for a phone number or emailtool_check_db_access– Diagnose access to `~/Library/Messages/chat.db`tool_check_contacts– Return a contact count and a small sampletool_check_addressbook– Diagnose Contacts/AddressBook database accesstool_send_message– Send one direct or group message through Messages.app, optionally with file attachments and elicitation approvaltool_create_contact– Create one Contacts.app entry with a phone numbertool_schedule_message– Queue a message for later delivery while this server process runstool_list_scheduled_messages– List the in-process scheduled-message queue and its statustool_cancel_scheduled_message– Cancel one pending scheduled message
Requirements
- Python with uv (runs with uvx/uv)
Website: https://pypi.org/project/mac-messages-mcp/
Stars: ★332
Language: Python
Last updated: 2026-10-14
applescriptclaudecontactscursorimessagemacmacosmcpmcp-server
How to install mac_messages_mcp MCP in Claude Desktop, Cursor and VS Code
Install
Taken from the project README (README Cursor install link). Check the README for required API keys before use.
Claude Code
Terminal (claude CLI)
claude mcp add --transport stdio mac-messages-mcp -- 'uvx mac-messages-mcp'Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"mac-messages-mcp": {
"command": "uvx mac-messages-mcp"
}
}
}Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"mac-messages-mcp": {
"command": "uvx mac-messages-mcp"
}
}
}VS Code
.vscode/mcp.json
{
"servers": {
"mac-messages-mcp": {
"type": "stdio",
"command": "uvx mac-messages-mcp"
}
}
}Add to config generator – combine it with other servers, or get the Windsurf format.
Maintain this project? Get it featured for free during launch →
Compare with codebase-memory-mcp →
Related Databases MCP servers
High-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph — average repo in milliseconds. 158 langu
Databases
Open-source, self-hosted alerting for metrics, logs, and databases. Includes a built-in AI agent and MCP server.
Databases
The ultimate RAG for your monorepo. Query, understand, and edit multi-language codebases with the power of AI and knowledge graphs
Databases