imsg-mcp — iMessage CLI (imsg) + MCP (imsg-mcp). Typer, agent schema. macOS.
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":"ml-lubich-imsg-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.
# imsg — fast, local iMessage for your terminal & MCP **Package brand:** `imsg-mcp` · **CLI/MCP:** `imsg` / `imsg-mcp` · **PyPI today:** `pip install mac-imsg` (target PyPI: `imsg-mcp`). [](https://pypi.org/project/mac-imsg/) [](https://pypi.org/project/mac-imsg/) [](rust/) [](LICENSE) [](#requirements) Read, search, and send iMessage from your terminal — or expose it to Claude, Cursor, VS Code, or any MCP client. Everything runs **locally on your Mac**: no cloud, no login, no account. Reads open `~/Library/Messages/chat.db` **read-only**; sends go through Messages.app. **macOS only.** iMessage lives in Apple's local `chat.db` and Messages.app — there is no official API and no equivalent on Linux or Windows, so `imsg` only runs on macOS. See [Requirements](#requirements) for the Full Disk Access setup every install needs. **Why another one?** The hot path — decoding tens of thousands of `attributedBody` typedstream blobs — is written in **Rust** (PyO3 + rusqlite), so reads and searches over a large history are several times faster than the pure-Python equivalent that other Messages servers use. Pure Python still ships as a zero-dependency fallback, so it works even where the wheel doesn't. <!-- BENCH --> ### Benchmark Full-history search over a synthetic **50,000-message** database (70% stored as `attributedBody` blobs), best-of-5, Apple Silicon (16 cores): | operation | pure-Python | Rust core | speedup | |---|---:|---:|---:| | **full-history search** (decodes every message) | 120.9 ms | **35.7 ms** | **3.4×** | | batched blob decode (allocation-bound) | 19.1 ms | 19.6 ms | 1.0× | Two honest caveats, stated up front: - Raw blob decoding is ~a wash — i…
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.