Skip to main content
Glama
joshkaplan-dev

Imessage-MCP

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

list_conversations

Most recently active threads + last-message preview

list_unreplied

Threads where the other person texted last (awaiting your reply)

get_conversation

Recent message history with a person or group (fuzzy name/phone/email match)

search_messages

Full-text search across messages, optionally scoped to one contact

get_recent_messages

Inbox-style view of recent messages across all threads (optional hours window)

Requirements

  • uv installed (handles the Python deps automatically).

  • Full Disk Access for whatever app runs the server, because chat.db is protected:

    • Claude Code (CLI): the terminal app you launch claude from (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 with claude mcp remove imessage-readonly.

  • Claude Desktop: added under mcpServers in ~/Library/Application Support/Claude/claude_desktop_config.json (a timestamped .bak of the original sits next to it). Restart the app to load it.

Notes

  • On recent macOS the message text is stored in a binary attributedBody blob rather than the text column; server.py decodes it (handles emoji/accents).

  • Timestamps are converted from Apple absolute time (nanoseconds since 2001-01-01).

  • Override the database path with the IMESSAGE_DB environment variable if needed.

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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