Imessage MCP Server

iMessage MCP server — 26 tools for searching, analyzing, and exploring your entire iMessage history on macOS

Local serverstdioGo

What is the Imessage MCP MCP server?

If you already use Imessage MCP, the imessage mcp mcp server is the piece that lets your assistant work with it directly. iMessage MCP server — 26 tools for searching, analyzing, and exploring your entire iMessage history on macOS.

What the server does

An MCP server that gives AI assistants read-only access to your local iMessage database. Nothing is written, modified, or uploaded. Your messages stay on your Mac; the AI only sees what you ask about.

Installation

imessage-mcp on npm is all you need. Most clients run it directly, so configuration is a few lines and a restart.

Available tools

The toolset is worth reading before you wire it up, because it tells you what the integration is really for:

  • search_messages — Full-text search with filters: query, contact, date range, direction, group chat, attachments
  • yearly_wrapped — Spotify Wrapped for iMessage — full year summary
  • who_initiates — Who starts conversations? Initiation ratio per contact
  • streaks — Consecutive-day messaging streaks
  • get_reactions — Tapback distribution, top reactors, most-reacted messages
  • on_this_day — Messages from this date in past years
  • get_conversation — Conversation thread with cursor-based pagination
  • list_contacts — All contacts with message counts and date ranges
  • get_contact — Deep contact info with stats and yearly breakdown
  • resolve_contact — Fuzzy-match a name, phone number, or email to a contact
  • message_stats — Aggregate stats with time-series grouping
  • contact_stats — Per-contact volumes, trends, and hourly patterns

Credentials and setup notes

Configuration is passed through the environment: IMESSAGE_SAFE_MODE, IMESSAGE_SYNC, IMESSAGE_API_TOKEN. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.

  1. macOS (iMessage is macOS-only) 2. Node.js 18+ (node --version) 3. Database access for your host application — macOS protects chat.db with its Application Data permission. Grant access in: System Settings > Privacy & Security > Full Disk Access and enable the app running the MCP server (your terminal, Claude Desktop, or Cursor). GUI apps like Claude Desktop and Cursor may

Worth knowing first

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • With 14 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Imessage MCP.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

Where it fits

Plenty of team communication servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Imessage MCP's toolset — search_messages, yearly_wrapped, who_initiates and 11 more — is a fair guide to whether it matches your workflow. It is maintained by anipotts; worth a glance at recent repository activity before you build anything load-bearing on it.

We check each listing at SyncDev against the project's documentation before it goes live — if something here drifts out of date, it is a bug worth reporting.

Available tools

ToolWhat it does
search_messagesFull-text search with filters: query, contact, date range, direction, group chat, attachments
yearly_wrappedSpotify Wrapped for iMessage — full year summary
who_initiatesWho starts conversations? Initiation ratio per contact
streaksConsecutive-day messaging streaks
get_reactionsTapback distribution, top reactors, most-reacted messages
on_this_dayMessages from this date in past years
get_conversationConversation thread with cursor-based pagination
list_contactsAll contacts with message counts and date ranges
get_contactDeep contact info with stats and yearly breakdown
resolve_contactFuzzy-match a name, phone number, or email to a contact
message_statsAggregate stats with time-series grouping
contact_statsPer-contact volumes, trends, and hourly patterns
temporal_heatmap7x24 activity heatmap (day-of-week by hour)
first_last_messageFirst and last message ever exchanged with a contact

How to install the Imessage MCP MCP server

{
  "mcpServers": {
    "imessage": {
      "command": "npx",
      "args": ["-y", "imessage-mcp"]
    }
  }
}

Configuration as documented by the project. Restart the client after saving.

Configuration

  1. macOS (iMessage is macOS-only) 2. Node.js 18+ (node --version) 3. Database access for your host application — macOS protects chat.db with its Application Data permission. Grant access in: System Settings > Privacy & Security > Full Disk Access and enable the app running the MCP server (your terminal, Claude Desktop, or Cursor). GUI apps like Claude Desktop and Cursor may
VariableDescriptionRequired
IMESSAGE_SAFE_MODEConfiguration value read at startup.Optional
IMESSAGE_SYNCConfiguration value read at startup.Optional
IMESSAGE_API_TOKENCredential the server authenticates with.Yes

Example prompts to try

  • Use Imessage MCP to search messages.
  • Use Imessage MCP to yearly wrapped.
  • Use Imessage MCP to who initiates.

Frequently asked questions

It connects Imessage MCP to MCP-compatible AI assistants such as Claude and Cursor, exposing 14 tools (search_messages, yearly_wrapped, who_initiates, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Imessage MCP directly.