imessage-mcp
Allows reading, searching, and sending iMessages and SMS messages, as well as managing attachments and conversations.
Click on "Install 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-mcpshow my last 5 conversations"
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 server that connects Claude Desktop to iMessage on macOS — read conversations, search messages, send texts, and access attachments.
Prerequisites
macOS
Node.js 18+
Full Disk Access granted to Claude Desktop (required to read
~/Library/Messages/chat.db)
Granting Full Disk Access
Open System Settings → Privacy & Security → Full Disk Access
Add Claude to the list and enable it
Restart Claude Desktop
Related MCP server: iMessage MCP Server
Installation
1. Add to Claude Desktop config
Open ~/Library/Application Support/Claude/claude_desktop_config.json and add:
{
"mcpServers": {
"imessage": {
"command": "npx",
"args": ["-y", "@kamk95/imessage-mcp"]
}
}
}2. Restart Claude Desktop
Manual install (alternative)
If you prefer to run from source:
git clone https://github.com/kamrenkennedy/imessage-mcp.git
cd imessage-mcp
npm installThen use this config instead:
{
"mcpServers": {
"imessage": {
"command": "node",
"args": ["/absolute/path/to/imessage-mcp/index.js"]
}
}
}Tools
get_conversations
List recent iMessage conversations.
Parameter | Type | Description |
| number | Max conversations to return (default: 20) |
get_messages
Get messages from a specific conversation.
Parameter | Type | Description |
| string | Required. Chat ID from |
| number | Max messages to return (default: 50) |
search_messages
Search across all messages by text.
Parameter | Type | Description |
| string | Required. Text to search for |
| number | Max results to return (default: 20) |
get_chat_participants
Get the participants in a conversation.
Parameter | Type | Description |
| string | Required. Chat ID from |
send_message
Send an iMessage or SMS.
Parameter | Type | Description |
| string | Required. Phone number, email, or contact name |
| string | Required. Text to send |
get_attachments
List attachments from a conversation.
Parameter | Type | Description |
| string | Required. Chat ID from |
| number | Max attachments to return (default: 20) |
save_attachment
Save an attachment from a message to disk.
Parameter | Type | Description |
| string | Required. Attachment ID from |
| string | Required. Full path where the file should be saved |
Notes
Messages are read directly from
~/Library/Messages/chat.dbusing SQLite — no AppleScript required for readsSending uses AppleScript via
osascriptContact names are resolved from AddressBook automatically
US phone numbers are normalized (leading 1 stripped from 11-digit numbers)
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kamrenkennedy/imessage-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server