Imessage-MCP
Provides read-only access to your iMessage and SMS history, allowing searching, listing conversations, and retrieving recent messages.
Read-only iMessage MCP server
Gives an assistant read-only access to your macOS Messages so it can help you
read, search, and analyze texts. It cannot send, edit, or delete anything —
every database connection is opened with SQLite mode=ro. You send replies yourself.
What it reads
~/Library/Messages/chat.db— your iMessage/SMS history (read-only)~/Library/Application Support/AddressBook/.../AddressBook-v22.abcddb— to turn phone numbers/emails into contact names (read-only, best effort)
It never writes to, copies, or transmits these anywhere — it just answers queries from whichever Claude client is connected.
Related MCP server: jons-mcp-imessage
Tools
Tool | What it does |
| Most recently active threads + last-message preview |
| Threads where the other person texted last (awaiting your reply) |
| Recent message history with a person or group (fuzzy name/phone/email match) |
| Full-text search across messages, optionally scoped to one contact |
| Inbox-style view of recent messages across all threads (optional |
Requirements
uvinstalled (handles the Python deps automatically).Full Disk Access for whatever app runs the server, because
chat.dbis protected:Claude Code (CLI): the terminal app you launch
claudefrom (Terminal, iTerm, etc.).Claude Desktop: the Claude.app itself. Grant it in System Settings → Privacy & Security → Full Disk Access, then restart the app.
How it's wired up
Claude Code: registered at user scope (
~/.claude.json). Remove withclaude mcp remove imessage-readonly.Claude Desktop: added under
mcpServersin~/Library/Application Support/Claude/claude_desktop_config.json(a timestamped.bakof the original sits next to it). Restart the app to load it.
Notes
On recent macOS the message text is stored in a binary
attributedBodyblob rather than thetextcolumn;server.pydecodes it (handles emoji/accents).Timestamps are converted from Apple absolute time (nanoseconds since 2001-01-01).
Override the database path with the
IMESSAGE_DBenvironment variable if needed.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceEnables reading, searching, and sending iMessages directly from MCP-compatible clients by accessing the local macOS iMessage database, supporting conversations, attachments, and both individual and group chats.Last updated9710MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to read iMessage history and send messages on macOS. Supports conversation listing, message search with keyword and semantic modes, contact lookup, and sending messages to existing conversations.Last updated1311MIT
- Alicense-qualityDmaintenanceRead-only MCP server for your iMessage DB. No hosted service.Last updatedMIT
- Alicense-qualityCmaintenanceRead-only MCP server for local macOS Messages database, enabling querying of chats, messages, attachments, and metadata.Last updated97MIT
Related MCP Connectors
Explore your Messages SQLite database to browse tables and inspect schemas with ease. Run flexible…
MCP connector for iMessage & Contacts via a local Mac agent + Vercel relay
Let ChatGPT, Claude & Cursor use your Mac: email, calendar, iMessage, Teams, files. Local, free.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/joshkaplan-dev/imessage-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server