Local iMessage RAG MCP Server

by willccbb

14 322 downloads Not rated yet

About

iMessage RAG MCP Server from Anthropic MCP Hackathon (NYC)

Explore

- Built at the Anthropic NYC MCP hackathon
- Co-developed with @youssefish
- Integrates iMessage with RAG capabilities
- Currently unmaintained and may have bugs
- Setup instructions in subfolder READMEs

Setup instructions are located in the individual folder READMEs. Beyond that, the README provides no specific installation, configuration, or invocation commands.

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.

get_conversation

Get a full conversation thread with a specific contact or chat. Supports cursor-based pagination via before_rowid for scrolling through history.

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.

get_contact

Deep info on a specific contact: tier, message stats, yearly breakdown, and recent messages.

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.

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.

contact_stats

Deep per-contact analytics: message volumes, response time estimates, conversation patterns, and yearly trends.

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.

list_group_chats

List all group chats with member counts, message volumes, and activity dates. Group chats have multiple participants.

get_group_chat

Detailed info on a specific group chat: all members with per-member message counts, activity timeline, and recent messages.

list_attachments

Query message attachments (images, videos, audio, documents) with filtering by contact, MIME type, and date range. Returns file metadata, not file contents.

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.

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.

get_thread

Reconstruct iMessage reply threads using thread_originator_guid. Returns nested thread trees with parent message and all replies in order.

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.

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.

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.

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?'

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.

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.

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.

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.

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.

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.

help

Show the imessage-mcp guide: all 25 tools and usage examples. Call this when you're unsure what's available.

From the Anthropic NYC MCP hackathon in December 2024. Co-developed with @youssefish.

Probably a bit buggy. Setup instructions in the folders READMEs. Not planning to actively maintain, it kinda worked last time I tried it. Good luck. Better docs at some point maybe.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.