servers / imessage-mcp
imessage-mcp
communitystdiolocalverifiedhealthy
Tools for securely exploring your iMessage history with AI. Spotify Wrapped for texts, conversation analytics, search, streaks, and more. Read-only MCP server for macOS.
01Tools · 25
How to read this: tool names here are observed from a live tools/list handshake. The Risk label is a heuristic inferred from the tool name (write/destructive verbs), not from executing the tool — a conservative guess, not a verified capability. We never escalate risk from a description. Found one that's wrong? Tell us — we fix on report.
| Tool | Risk | Side effects | Approval |
|---|---|---|---|
| get_contact Deep info on a specific contact: tier, message stats, yearly breakdown, and recent messages. | read | false | unknown |
| search_messages Full-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. | read | false | unknown |
| resolve_contact Fuzzy-match a name, phone number, or email to a contact record. Uses multi-level resolution: exact match, digits, fuzzy, and macOS AddressBook. | unknown | unknown | unknown |
| list_group_chats List all group chats with member counts, message volumes, and activity dates. Group chats have multiple participants. | read | false | unknown |
| get_conversation Get a full conversation thread with a specific contact or chat. Supports cursor-based pagination via before_rowid for scrolling through history. | read | false | unknown |
| message_stats 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. | read | false | unknown |
| list_contacts 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. | read | false | unknown |
| contact_stats Deep per-contact analytics: message volumes, response time estimates, conversation patterns, and yearly trends. | unknown | unknown | unknown |
| list_attachments Query message attachments (images, videos, audio, documents) with filtering by contact, MIME type, and date range. Returns file metadata, not file contents. | read | false | unknown |
| temporal_heatmap 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. | read | false | unknown |
| get_reactions 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 | false | unknown |
| get_group_chat Detailed info on a specific group chat: all members with per-member message counts, activity timeline, and recent messages. | read | false | unknown |
| get_thread Reconstruct iMessage reply threads using thread_originator_guid. Returns nested thread trees with parent message and all replies in order. | read | false | unknown |
| first_last_message 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?' | unknown | unknown | unknown |
| conversation_gaps 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. | read | false | unknown |
| get_read_receipts Read receipt and delivery timing analytics: per-contact read latency stats, unread patterns, fastest/slowest readers. Queries date_read and date_delivered columns. | read | false | unknown |
| on_this_day 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. | unknown | unknown | unknown |
| get_edited_messages Find edited and unsent (retracted) messages. Queries date_retracted and date_edited columns. Returns message list with timestamps and per-contact stats. | read | false | unknown |
| get_message_effects iMessage expressive send effects and screen effects analytics: slam, loud, gentle, invisible ink, confetti, fireworks, balloons, lasers, etc. Queries expressive_send_style_id. | read | false | unknown |
| streaks 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. | read | false | unknown |
| yearly_wrapped 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. | read | false | unknown |
| who_initiates 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. | unknown | unknown | unknown |
| forgotten_contacts 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. | read | false | unknown |
| double_texts 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. | unknown | unknown | unknown |
| help Show the imessage-mcp guide: all 25 tools and usage examples. Call this when you're unsure what's available. | read | false | unknown |
02Install & source
npx -y imessage-mcp
npx- repohttps://github.com/anipotts/imessage-mcp
- homepagehttps://npmjs.com/package/imessage-mcp
- licenseMIT
- adoption19 stars · 4 forks
05Provenance & freshness
sourcesGitHub repo search [p4]
last_checked2026-08-17 09:38Z
next_check2026-08-18 14:19Z
cadenceevery 29h
verifiedtools_list:passed handshake:passed metadata:passed
index_statusindex — 8 unique facts >= 5
06Badge
Add the “as seen on MCPExplorer” badge to your README.
[](https://mcpexplorer.com/servers/imessage-mcp)
Next step
This is one server. A loadout combines the right servers, governance, and proven plays for a whole job — assembled deliberately, not tool-dumped.
Explore loadouts →