anipotts/imessage-mcp
View on GitHub ↗Tools for securely exploring your iMessage history with AI. Spotify Wrapped for texts, conversation analytics, search, streaks, and more. Read-only MCP server for macOS.
20 ★4 forksTypeScriptUpdated 20d ago
What you need to know
Read-only MCP server (26 tools) that lets AI assistants explore your local macOS iMessage history — full-text search, streaks, reactions, yearly 'Wrapped', read receipts, edited/unsent messages and more — reading only chat.db and AddressBook with zero network calls.
Install
npm install -g imessage-mcp claude mcp add imessage -- npx -y imessage-mcp claude plugin add anipotts/imessage-mcp
Usage
- •Grant Full Disk Access to the app running the MCP server (System Settings → Privacy & Security) so chat.db is readable, then run `npx imessage-mcp doctor` to verify.
- •Ask natural-language questions: 'Give me my 2024 iMessage Wrapped', 'Do I always text first with [name]?', 'Who reacts to my messages the most?'.
- •Use transport flags for HTTP/SSE: `npx imessage-mcp --transport http --port 3000` (Streamable HTTP at /mcp), with IMESSAGE_API_TOKEN for auth.
- •Enable Safe Mode (IMESSAGE_SAFE_MODE=1) to redact message bodies, or IMESSAGE_SYNC=watch for FSEvents-based push notifications.
Key features
- ✓26 read-only tools across 10 categories, all annotated readOnlyHint: true so clients can auto-approve every call.
- ✓Extracts text from macOS 14+ attributedBody blobs so no messages are missed.
- ✓CLI utilities: imessage-mcp doctor (setup diagnostics) and imessage-mcp dump (export messages/contacts to JSON).
- ✓Docker runnable with read-only chat.db mount and optional Bearer-token auth.
- ✓Smart filtering excludes spam/promo by default (include_all: true to override).
Best for
Anyone on macOS who wants to analyze their own iMessage data with AI for personal analytics, memory or social insights, with strict read-only privacy.
Caveats
- ⚠macOS only (iMessage is macOS-only) and requires Node.js 18+; Full Disk Access must be granted.
- ⚠Only sees messages synced to the Mac's chat.db — enable 'Messages in iCloud' on all devices; initial sync can take hours/days for large histories.
- ⚠better-sqlite3 native module can mismatch your MCP client's bundled Node (point config at your system node to fix).
- ⚠MIT licensed.
Platforms: macOS · Local · RemoteClients: Claude Code · Claude Desktop · Cursor · Windsurf · VS Code · Codex · Cline · JetBrains · Zed
Reviewed 2026-08-18
Topics
- Stars
- 20★
- Forks
- 4
- Language
- TypeScript
- License
- MIT
- Created
- 2026-02-25
- Last push
- 2026-08-15