carterlasalle avatar

Mac Messages

carterlasalle/mac_messages_mcp

Mac_messages_mcp provides a Python bridge for interacting with the macOS Messages app through the Model Context Protocol, enabling Claude and other MCP clients to read messages and send SMS/iMessage communications. The server offers tools for universal message sending with intelligent fallback between iMessage and SMS based on recipient availability, reading recent messages with contact filtering and fuzzy search capabilities, and iMessage detection to verify recipient support. This solves the problem of programmatically accessing and managing macOS Messages functionality across cross-platform communication scenarios without direct app integration.

GitHub stars
284
tools
18
last updated
Jan 27, 2026

Tools

18 tools

Public tool metadata for what this MCP can expose to an agent.

tool_get_recent_messagesRead recent messages, filtered by contact, group chat ID, date range, or unread state; page with `limit`/`offset`

Read recent messages, filtered by contact, group chat ID, date range, or unread state; page with `limit`/`offset`

No parameter schema in public metadata yet.

tool_fuzzy_search_messagesSearch message bodies by approximate text match, scoped to a contact or chat; defaults to 30 days, or `hours=0`

Search message bodies by approximate text match, scoped to a contact or chat; defaults to 30 days, or `hours=0`

No parameter schema in public metadata yet.

tool_list_conversationsList every conversation with kind, message count, unread count, and last activity

List every conversation with kind, message count, unread count, and last activity

No parameter schema in public metadata yet.

tool_wait_for_new_messagesBlock until a message newer than a ROWID cursor arrives, or the timeout expires

Block until a message newer than a ROWID cursor arrives, or the timeout expires

No parameter schema in public metadata yet.

tool_find_contactFuzzy-match a name in Contacts and return phone numbers

Fuzzy-match a name in Contacts and return phone numbers

No parameter schema in public metadata yet.

tool_get_chatsList named group chats and their identifiers

List named group chats and their identifiers

No parameter schema in public metadata yet.

tool_search_attachmentsFind attachment metadata by date, contact, MIME type, and limit

Find attachment metadata by date, contact, MIME type, and limit

No parameter schema in public metadata yet.

tool_search_attachment_contentsSearch inside attachment text/PDF contents by date, contact, and MIME type

Search inside attachment text/PDF contents by date, contact, and MIME type

No parameter schema in public metadata yet.

tool_get_attachmentFetch one attachment by ID, inline when supported or as a local path

Fetch one attachment by ID, inline when supported or as a local path

No parameter schema in public metadata yet.

tool_check_imessage_availabilityCheck likely iMessage availability for a phone number or email

Check likely iMessage availability for a phone number or email

No parameter schema in public metadata yet.

tool_check_db_accessDiagnose access to `~/Library/Messages/chat.db`

Diagnose access to `~/Library/Messages/chat.db`

No parameter schema in public metadata yet.

tool_check_contactsReturn a contact count and a small sample

Return a contact count and a small sample

No parameter schema in public metadata yet.

tool_check_addressbookDiagnose Contacts/AddressBook database access

Diagnose Contacts/AddressBook database access

No parameter schema in public metadata yet.

tool_send_messageSend one direct or group message through Messages.app, optionally with file attachments and elicitation approval

Send one direct or group message through Messages.app, optionally with file attachments and elicitation approval

No parameter schema in public metadata yet.

tool_create_contactCreate one Contacts.app entry with a phone number

Create one Contacts.app entry with a phone number

No parameter schema in public metadata yet.

tool_schedule_messageQueue a message for later delivery while this server process runs

Queue a message for later delivery while this server process runs

No parameter schema in public metadata yet.

tool_list_scheduled_messagesList the in-process scheduled-message queue and its status

List the in-process scheduled-message queue and its status

No parameter schema in public metadata yet.

tool_cancel_scheduled_messageCancel one pending scheduled message

Cancel one pending scheduled message

No parameter schema in public metadata yet.

Sponsors

Readme

Mac Messages MCP

Read, search, and send macOS Messages from any local MCP client.

PyPI Python CI Downloads macOS License: MIT

Quick start · Available tools · Agent skill · Command-line interface · Security · Changelog

Use Claude, Codex, Cursor, VS Code, or any local MCP client to search, read, and send messages through the macOS Messages app.


View the full README on GitHub

Details

Repository
github.com/carterlasalle/mac_messages_mcp
Category
Communication & Messaging

Related Communication & Messaging MCP servers

View all
1merill avatarLokkamerill/lokkaThe first Microsoft 365 / Microsoft Graph MCP server. Query and manage Entra, Teams, Exchange, and more through natural language.258stars
2aaronsb avatarGoogle Workspaceaaronsb/google-workspace-mcpGive AI agents access to Gmail, Calendar, Drive, and more — multi-account, manifest-driven195stars
3mnexa-ai avatare2a — email for AI agentsmnexa-ai/e2aAuthenticated email gateway for AI agents — per-agent inboxes, HITL approval, SPF/DKIM verified.157stars
4veniceai avatarVenice AIveniceai/venice-mcp-serverImages, video, music, speech and private chat from Venice AI's models, on one API key.78stars
5sagemindai avatarThreadline Mcpsagemindai/instarAgent-to-agent messaging relay. Discover agents, send messages, and receive replies. Zero-config.0stars
6yuna0x0 avatarYuna0x0 Hackmd Mcpyuna0x0/hackmd-mcpInteract with your HackMD notes and teams seamlessly. Manage your notes, view reading history, and…61stars