imessage-cli by moritzhwnr is an MIT-licensed monorepo (github.com/moritzhwnr/imessage-cli) with three PyPI packages: imessage-mcp, a read-only MCP server for the Messages database on a Mac; imessage-mcp-send, which adds a send tool; and imessage-bridge, a CLI that registers the server with a broker for a stable URL and API keys. All code was pushed on 15 May 2026 and nothing has changed since. On 25 October 2026 the default broker at imessage-cli.vercel.app returned "deployment not found", so the broker flow needs a self-hosted Next.js and Supabase backend.
list_chats, read_messages and search_messages (substring search); reads only the text column of chat.db, not attributedBodysend_message sends an iMessage through Messages.app to a phone number, email or one-to-one chat; group chats are refused and SMS is not offeredFree software. It needs a Mac signed in to Messages, Python 3.13 or later, uv and Full Disk Access; public access needs cloudflared.
Linq is a managed API with its own numbers, webhooks, SDKs and iMessage features such as tapbacks and typing indicators, free for 20 contacts and $260 a month for Pro. imessage-cli is free and uses your own Apple ID, but it has no webhooks or REST API and sends iMessage text to one person at a time.
Individuals who want a small, mostly read-only MCP server for their own Messages history.