mac-messages
Provides read-only access to an Apple device's Messages (iMessage/SMS) history, enabling listing chats, retrieving transcripts, fetching recent messages, and searching message bodies.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mac-messagesSearch my messages for mentions of ‘dinner plans’ and show the matching chats."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Mac Messages Host
Your Mac's entire Apple Messages (iMessage/SMS) history, read-only, for AI agents — one batched tool over REST/OpenAPI and streamable HTTP MCP.
One tool, batched requests: a single
messages(requests: str)tool takes a JSON array of requests and returns an aligned JSON array of responses — one call does many independent ops. Served identically over REST (POST /api/messages) and MCP (/mcp/).Read-only by construction: the database is opened with SQLite
mode=ro; there is no write path. Nothing can be sent, edited, or deleted.Modern macOS body decoding: message text stored in
attributedBodytypedstream blobs (Ventura+) and edit history inmessage_summary_infoplists is decoded transparently.Auto-generated tool prompt: the AI-facing prompt is generated from the Pydantic models (~615 gpt-4o tokens, counted by
tiktokenand enforced by a test); atool_prompt.mdsnapshot is kept in sync by a drift test.
Install
Requires Python 3.11+ on macOS.
pip install . # or: pip install -e . for development
mmhost info # permission check + database status
mmhost start # serve API + MCP on http://127.0.0.1:8761macOS permissions (important)
~/Library/Messages/chat.db is protected by macOS TCC. The process that runs
mmhost needs Full Disk Access:
System Settings → Privacy & Security → Full Disk Access → enable your terminal app (or whatever launches the server), then restart it.
mmhost info tells you immediately whether the database is readable.
Related MCP server: imessage-mcp
Endpoints
Endpoint | Purpose |
| The batched tool (REST) |
| OpenAPI schema |
| Interactive docs |
| Liveness probe |
| Streamable-HTTP MCP endpoint (single |
Auth
Authorization: Bearer <token> when admin_token is configured (persisted config, MMHOST_ADMIN_TOKEN, or --admin-token). With no token configured, access is open — safe because the server binds 127.0.0.1 by default.
Request kinds
get_info— database status, counts, history date rangelist_chats— conversations by recent activity (filter, paginate)get_chat— a chat's transcript (paginate older viabefore)get_recent— newest messages across all chats (poll viasince)search_messages— case-insensitive substring search over bodies
See tool_prompt.md for the exact AI-facing documentation (generated from the models).
Example
curl -s http://127.0.0.1:8761/api/messages \
-H 'Content-Type: application/json' \
-d '{"requests": "[{\"kind\":\"list_chats\",\"limit\":3}]"}'MCP client configuration
{
"mcpServers": {
"mac-messages": {
"type": "streamable-http",
"url": "http://127.0.0.1:8761/mcp/"
}
}
}Configuration
Persisted at the platform config dir (~/Library/Application Support/mac_messages_host/config.json on macOS); override the location with MMHOST_CONFIG. Server-level settings only — see example.env.
Development
pip install -e '.[dev]'
pytest
# after changing request models:
python -m tests.regenerate_tool_promptArchitecture follows the oWoHo AI Tool Server pattern (pure core library + derived FastAPI/FastMCP/CLI interfaces), like reddit_tool_server and obsidian_ai_miniserver.
License
MIT — see LICENSE.md.
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP connector for iMessage & Contacts via a local Mac agent + Vercel relay
Search, read, and write your Apple Notes from ChatGPT/Claude via a local Mac agent + MCP relay.
Let ChatGPT, Claude & Cursor use your Mac: email, calendar, iMessage, Teams, files. Local, free.
Explore your Messages SQLite database to browse tables and inspect schemas with ease. Run flexible…
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to read, search, and send iMessages with features like contact name resolution, session grouping, and attachment listing. It provides intent-aligned tools to efficiently navigate conversation history and manage messages through natural language queries.6MIT
- AlicenseNot gradedqualityDmaintenanceEnables reading and sending iMessages on macOS through MCP, with tools for managing chats, messages, and attachments via AI agents.MIT
- FlicenseNot gradedqualityBmaintenanceEnables AI clients to read and search macOS Messages history through a read-only MCP interface.-
- AlicenseNot gradedqualityBmaintenanceEnables AI agents on macOS to securely read and search the local Messages database, catch up on missed messages via a persistent inbox, and send texts or files to allowlisted chats, with optional voice note transcription and text-to-speech.MIT