An MCP server exposing your local iMessage history (macOS, read-only).
Until 2026-09-25 this record combined several servers published from one repository. The others now have records of their own: imessage-mcp-send. Checks from before that date include them.
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"moritzhwnr-imessage-mcp","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
# imessage-mcp A read-only [MCP](https://modelcontextprotocol.io) server exposing your macOS iMessage history to any MCP-capable AI (Claude Desktop, Cursor, Poke, etc.). **100% local.** Your messages never leave your Mac. This package has zero external dependencies — no signup, no hosted service. Just install, grant Full Disk Access, run. ## Install ```bash uv tool install imessage-mcp ``` (Requires Python 3.13+ and `uv`. Install `uv` from <https://docs.astral.sh/uv/>.) ## Quickstart ```bash imessage-mcp setup # opens the macOS Full Disk Access pane imessage-mcp serve # MCP server on http://127.0.0.1:8765/mcp ``` Or expose it over the internet via a [Cloudflare Quick Tunnel](https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/do-more-with-tunnels/trycloudflare/): ```bash brew install cloudflared imessage-mcp serve --public # prints a *.trycloudflare.com URL + bearer token ``` The bearer token lives at `~/.config/imessage-mcp/token` (chmod 600). Rotate with `imessage-mcp token --rotate`. ## Tools exposed via MCP | Tool | Purpose | |---|---| | `list_chats(limit)` | Most recent conversations | | `read_messages(chat_id, limit)` | Messages in a chat, oldest first | | `search_messages(query, limit)` | Substring search across all chats | ## Want a stable broker URL across restarts? Cloudflare Quick Tunnels get a new hostname on every launch. If you want a stable URL (and an account-style flow with signup/login), install [`imessage-bridge`](https://pypi.org/project/imessage-bridge/) — a separate package that adds those features on top of this one via a hosted broker. ## License MIT
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.