joshkaplan-dev

Read-only iMessage MCP server

Community joshkaplan-dev
Updated

Read-only macOS iMessage MCP server

Read-only iMessage MCP server

Gives an assistant read-only access to your macOS Messages so it can help youread, 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 turnphone numbers/emails into contact names (read-only, best effort)

It never writes to, copies, or transmits these anywhere — it just answers queriesfrom whichever Claude client is connected.

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 ratherthan 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.

MCP Server · Populars

MCP Server · New

    DareDev256

    FCPXML MCP

    🎬 The first AI-powered MCP server for Final Cut Pro XML. Control your edits with natural language.

    Community DareDev256
    acunningham-ship-it

    Veil

    Stealth browser for AI agents — real Chrome over raw CDP, no Playwright/Puppeteer. TypeScript + MCP-native. Passes sannysoft 57/57, bypasses Cloudflare.

    Cassette-Editor

    Oh My Cassette: Chat Your Raw Clips Into a Finished Cut

    你的随身 AI 剪辑搭档 | Pocket AI co-editor for video montage — AI video editing plugin & MCP server for Claude Code, Codex, Hermes & OpenCode

    Community Cassette-Editor
    trendsmcp-ai

    Trends MCP

    MCP server for live trend data. Query Google Search, YouTube, TikTok, Reddit, Amazon, Wikipedia, News sentiment, Web Traffic, App Downloads, Steam, npm and more. Works with Claude, Cursor, VS Code, GitHub Copilot, ChatGPT, Windsurf, Cline, Raycast and any MCP-compatible.

    Community trendsmcp-ai
    jacob-bd

    Gemini Notebook (formerly Google NotebookLM) CLI & MCP Server

    Programmatic access to Gemini Notebook - via command-line interface (CLI), Model Context Protocol (MCP) server, and AI agent skills.

    Community jacob-bd