
Mac Messages
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 toolsPublic 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.
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.
Details
- Repository
- github.com/carterlasalle/mac_messages_mcp
- Category
- Communication & Messaging