imessage-mcp
@anipotts
About imessage-mcp
25 read-only tools for searching, analyzing, and exploring your entire iMessage history on macOS. Spotify Wrapped for texts, conversation analytics, streaks, reactions, read receipts, and more. Everything runs locally.
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"imessage": {
"command": "npx",
"args": [
"-y",
"imessage-mcp"
]
}
}
}Tools
25Full-text search across all iMessages with rich filtering. Supports query text, contact, date range, direction, group chat, and attachment filters. By default, only searches contacts you've messaged. Use include_all to search everything.
Get a full conversation thread with a specific contact or chat. Supports cursor-based pagination via before_rowid for scrolling through history.
List all contacts with message counts and tier assignments. Supports filtering by tier and minimum message threshold. By default, only shows contacts you've actually messaged (replied to). Use include_all to see all.
Deep info on a specific contact: tier, message stats, yearly breakdown, and recent messages.
Fuzzy-match a name, phone number, or email to a contact record. Uses multi-level resolution: exact match, digits, fuzzy, and macOS AddressBook.
Aggregate message statistics with flexible time-series grouping. Returns counts, sent/received splits, and averages grouped by day, week, month, year, hour, or day-of-week. By default excludes contacts you've never replied to.
Deep per-contact analytics: message volumes, response time estimates, conversation patterns, and yearly trends.
Generate a 7x24 activity heatmap (day-of-week x hour-of-day). Returns message counts for each of the 168 weekly time slots. By default excludes contacts you've never replied to.
List all group chats with member counts, message volumes, and activity dates. Group chats have multiple participants.
Detailed info on a specific group chat: all members with per-member message counts, activity timeline, and recent messages.
Query message attachments (images, videos, audio, documents) with filtering by contact, MIME type, and date range. Returns file metadata, not file contents.
Tapback/reaction analytics: distribution by type, top reactors, most-reacted messages, emoji breakdown. Queries associated_message_type 2000-2005 for love/like/dislike/laugh/emphasize/question reactions.
Read receipt and delivery timing analytics: per-contact read latency stats, unread patterns, fastest/slowest readers. Queries date_read and date_delivered columns.
Reconstruct iMessage reply threads using thread_originator_guid. Returns nested thread trees with parent message and all replies in order.
Find edited and unsent (retracted) messages. Queries date_retracted and date_edited columns. Returns message list with timestamps and per-contact stats.
iMessage expressive send effects and screen effects analytics: slam, loud, gentle, invisible ink, confetti, fireworks, balloons, lasers, etc. Queries expressive_send_style_id.
Messages from this date in previous years — like 'Memories' for iMessage. Shows what you and your contacts were talking about exactly 1, 2, 3+ years ago today. By default excludes contacts you've never replied to.
The very first and very last message ever exchanged with a contact. People use this for sentimental lookups like 'what was the first text I sent my partner?' or 'what was the last thing my grandparent texted me?'
Who starts conversations? After a gap of N hours, the next message is a 'conversation initiation.' Shows per-contact who reaches out first and how often. Answers 'do I always text first?' By default excludes contacts you've never replied to.
Consecutive-day messaging streaks with contacts. Like Snapchat streaks but for iMessage. Shows longest streak, when it happened, and current streak status. By default excludes contacts you've never replied to.
Detect double-texting and unanswered message patterns. Finds when you (or a contact) sent multiple consecutive messages without a reply. Shows frequency, longest bursts, and who does it more. Omit contact for a global ranking of who you double-text the most.
Find the longest silences in a conversation. Detects periods where you and a contact stopped talking — falling-outs, busy periods, or drifting apart. Shows gap duration and when it happened.
Find dormant relationships — contacts you used to message but haven't talked to in a long time. Great for reconnecting with people you've lost touch with. By default excludes contacts you've never replied to.
Your iMessage Year in Review — like Spotify Wrapped but for texting. Returns a complete summary of a year: total messages, top contacts, busiest day, monthly trends, reactions, group chats, media shared, late-night texting, new contacts, and effects used. By default excludes contacts you've never replied to. Defaults to last year.
Show the imessage-mcp guide: all 25 tools and usage examples. Call this when you're unsure what's available.
Overview
What is imessage-mcp?
imessage-mcp is a set of 25 read-only MCP tools for searching, analyzing, and exploring your entire iMessage history on macOS. It is designed for users who want to gain insights from their own messages without sending data anywhere.
How to use imessage-mcp?
Run npx -y imessage-mcp on macOS with Node.js 18+ and Full Disk Access enabled. No configuration file is needed; the tools are automatically available once the server is started.
Key features of imessage-mcp
- Full-text message search with filters
- Per-contact analytics and conversation patterns
- Spotify Wrapped-style yearly summary
- Streak tracking and double-text detection
- Tapback/reaction analysis
- Read receipt timing analysis
- Group chat breakdowns
- Edited/unsent message detection
- Safe mode that redacts message bodies
Use cases of imessage-mcp
- Generate a yearly summary of your messaging habits
- Analyze response times and double-texting patterns with a contact
- Detect when messages were edited or unsent
- Track conversation streaks and tapback reactions
- Explore group chat activity and participation
FAQ from imessage-mcp
Does this tool send my message data anywhere?
No. imessage-mcp is fully offline — it makes no network requests and no data leaves your Mac.
What are the system requirements?
macOS with Full Disk Access enabled, and Node.js version 18 or higher.
How do I install imessage-mcp?
Run npx -y imessage-mcp in your terminal. No global installation is required.
What does "read-only" mean?
All 25 tools only query your iMessage database; they never modify, delete, or send any messages.
Is there a way to hide message content in logs or output?
Yes. Safe mode redacts message bodies, showing only metadata like timestamps and contact names.
Frequently asked questions
Does this tool send my message data anywhere?
No. imessage-mcp is fully offline — it makes no network requests and no data leaves your Mac.
What are the system requirements?
macOS with Full Disk Access enabled, and Node.js version 18 or higher.
How do I install imessage-mcp?
Run `npx -y imessage-mcp` in your terminal. No global installation is required.
What does "read-only" mean?
All 25 tools only query your iMessage database; they never modify, delete, or send any messages.
Is there a way to hide message content in logs or output?
Yes. Safe mode redacts message bodies, showing only metadata like timestamps and contact names.
Basic information
More Other MCP servers
Awesome Mlops
visengerA curated list of references for MLOps

Lemon.io
lemon-ioRequest dedicated senior developers to work on your project, write job descriptions, and prep technical interviews — all without leaving your Claude chat. Just describe what you need, and Lemon.io MCP does the rest. 1–3
Mcp
browsermcpBrowser MCP is a Model Context Provider (MCP) server that allows AI applications to control your browser
Inbox Zero AI MCP
elie222The world's best AI personal assistant for email. Open source app to help you reach inbox zero fast.
Codelf
unbugA search tool helps dev to solve the naming things problem.
Comments