imessage-mcp
Enables sending iMessages, listing conversations, fetching messages, full-text search, and retrieving unread messages via Apple's iMessage platform.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@imessage-mcpsend 'be there soon' to Alice"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
imessage-mcp
An MCP (Model Context Protocol) server that exposes Apple iMessage as tools for AI assistants — read conversations, search messages, and send iMessages directly from Claude.
Requirements
Requirement | Notes |
macOS | Uses |
Python 3.9+ | Standard library + |
Messages app | Must be open and signed in for sending messages |
Full Disk Access | Required to read |
Related MCP server: imessage-mcp
Quick setup
git clone https://github.com/<your-username>/imessage-mcp
cd imessage-mcp
./setup.shThe setup script will:
Verify all prerequisites (macOS, Python version,
chat.dbaccess)Create a
.venvand install dependenciesPrint the exact config snippet to add to Claude Desktop or Claude Code
Manual setup
python3 -m venv .venv
source .venv/bin/activate
pip install -e .Connecting to Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"imessage": {
"command": "/path/to/imessage-mcp/.venv/bin/imessage-mcp"
}
}
}Restart Claude Desktop after saving.
Connecting to Claude Code (CLI)
claude mcp add imessage /path/to/imessage-mcp/.venv/bin/imessage-mcpPermissions
Two macOS permissions are required:
1. Full Disk Access
chat.db is protected by macOS privacy controls. Grant Full Disk Access to:
Your terminal app (Terminal, iTerm2, Ghostty, etc.)
Claude Desktop (if using the desktop app)
System Settings → Privacy & Security → Full Disk Access → click
+
2. Automation (AppleScript)
The send_imessage tool drives the Messages app via AppleScript. macOS will show a permission prompt the first time — click Allow. If you previously denied it:
System Settings → Privacy & Security → Automation → enable Messages for your terminal / Claude
Available tools
Tool | Description |
| Send an iMessage or SMS to a phone number or Apple ID |
| List recent conversations sorted by activity |
| Fetch messages from a specific conversation |
| Full-text search across all conversations |
| Return all unread incoming messages |
How it works
Reading — copies
~/Library/Messages/chat.dbto a temp file before querying (the live DB is often locked byimagent)Sending — uses AppleScript to drive the Messages app; requires Messages to be open
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP connector for iMessage & Contacts via a local Mac agent + Vercel relay
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceAn MCP server that provides safe access to your iMessage database through MCP, enabling LLMs to query and analyze iMessage conversations with proper phone number validation and attachment handling79-
- AlicenseNot gradedqualityDmaintenanceEnables reading and sending iMessages on macOS through MCP, with tools for managing chats, messages, and attachments via AI agents.MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for reading and sending iMessages on macOS. Exposes iMessage history and send capabilities through tools like list_conversations and send_imessage.6 npmMIT
- AlicenseNot gradedqualityBmaintenanceAn MCP server that connects coding agents to iMessage on macOS, enabling reading, sending, searching, and reacting to messages under a configurable policy system.MIT