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

aianalyticsapplechatbotclaudeclaude-codeimessageimessage-analyticsllmmacosmcpmcp-servermessagingmodel-context-protocolpersonal-dataprivacysmssqlitetextingtypescript
Stars
20★
Forks
4
Language
TypeScript
License
MIT
Created
2026-02-25
Last push
2026-08-15