iMessage MCP Server
Enables Claude to read and search through iMessage, SMS, and RCS conversations, including mixed-protocol group chats with Android users. It decodes binary message data from the macOS Messages database to provide a comprehensive view of message history.
README
iMessage MCP Server
MCP server for Claude Desktop that reads iMessages, SMS, and RCS messages - including mixed group chats with Android users.
Why This Exists
Other iMessage MCP connectors fail to read:
- RCS messages (newer Android-to-iPhone messages)
- Group chats with Android users (SMS/MMS groups)
- Messages stored in
attributedBodyinstead of plain text
This server handles all of these by:
- Querying SMS, RCS, and iMessage conversations
- Decoding binary
attributedBodyblobs to extract message text - Merging duplicate chat IDs that appear for mixed-protocol groups
Features
- List all conversations (iMessage, SMS, RCS)
- Search by contact name, phone number, or group name
- Read messages from any conversation type
- Get recent messages across all chats
- Properly handles mixed iPhone/Android group chats
Installation
git clone https://github.com/DavidGreigQC/imessage-mcp-server.git
cd imessage-mcp-server
npm install
Setup with Claude Desktop
-
Open Claude Desktop config:
~/Library/Application Support/Claude/claude_desktop_config.json -
Add the server:
{ "mcpServers": { "imessage": { "command": "node", "args": ["/path/to/imessage-mcp-server/src/index.js"] } } } -
Grant Full Disk Access to Claude Desktop:
- System Settings > Privacy & Security > Full Disk Access
- Add Claude Desktop
-
Restart Claude Desktop
Usage Examples
Once configured, you can ask Claude things like:
- "List my recent conversations"
- "Search for messages from John"
- "Read messages from the work group chat"
- "Show me messages from the last 24 hours"
Available Tools
| Tool | Description |
|---|---|
list_conversations |
List all conversations with last activity time |
search_conversations |
Search by name, phone, or group name |
read_messages |
Read messages from a specific conversation |
get_recent_messages |
Get recent messages across all chats |
Requirements
- macOS (tested on Sonoma/Sequoia)
- Node.js 18+
- Claude Desktop with Full Disk Access
- Messages app with message history
How It Works
The server reads directly from the macOS Messages database (~/Library/Messages/chat.db). For RCS and some iMessage conversations, message text is stored in a binary attributedBody field rather than plain text - this server decodes that binary format to extract the actual message content.
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
E2B
Using MCP to run code via e2b.