imessage-mcp
Provides read-only access to your local iMessage history, and optionally allows sending iMessages via the send_message tool.
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., "@imessage-mcpshow my last 10 iMessages from Alice"
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.
imessage-cli
A monorepo of three Python packages and a Next.js broker that turn your local iMessage history into something an MCP-capable AI (Claude, Cursor, Poke, …) can read — and optionally reply through — without your messages ever leaving your Mac.
Packages (published to PyPI)
Package | Install | What it does |
| Read-only MCP server for your iMessage DB. No hosted service. | |
| Adds a | |
| Connected CLI with account-managed API keys and a stable broker URL. |
Each package has its own README inside packages/<name>/.
Related MCP server: iMessage MCP
Architecture
Claude / Poke / Cursor (MCP client)
│
│ Bearer <api_key>
▼
Next.js broker (backend/) ◀── Supabase auth + Postgres
│ Bearer <tunnel_token>
▼
*.trycloudflare.com tunnel
│
▼
imessage-mcp on your Mac ◀── chat.db (read-only)The broker is plumbing — your messages never leave your Mac.
Repository layout
packages/imessage-mcp/ ← published: read-only MCP server
packages/imessage-mcp-send/ ← published: optional send_message tool
packages/imessage-bridge/ ← published: connected CLI for the broker
backend/ ← Next.js + Supabase broker (not published)
src/imessage_cli/ ← legacy local-only tools (imessage-cli, imessage-ai)The workspace is a uv workspace; packages share a single venv during dev.
Development setup
git clone https://github.com/moritzhwnr/imessage-cli
cd imessage-cli
uv sync # installs all three packages + legacy CLIs in editable mode
uv run imessage-mcp --help
uv run imessage-bridge --helpFor the broker:
cd backend
cp .env.local.example .env.local # fill in Supabase URL + service-role key + encryption key
npm install
npm run dev # http://localhost:3000See backend/supabase/migrations/0001_init.sql for the database schema and backend/.env.local.example for the required env vars.
License
MIT — see LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP connector for iMessage & Contacts via a local Mac agent + Vercel relay
Read-only MCP server for ClassQuill, a tutoring-business-management platform.
An MCP server that provides read access to your cloud storage providers, bank accounts and more.
MCP server for Nylas — read email, calendars, events and contacts, and send email or create events.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceA macOS app that provides an MCP server to your Messages, Contacts, and more1,539MIT
- AlicenseNot gradedqualityBmaintenanceA Model Context Protocol server for reading iMessage data from macOS.29MIT
- FlicenseAqualityDmaintenanceA read-only MCP server that exposes your iMessage data to Claude Code and Claude Desktop, with automatic contact name resolution.3-
- AlicenseNot gradedqualityDmaintenanceRead-only MCP server for local macOS Messages database, enabling querying of chats, messages, attachments, and metadata.210MIT