About Imessage MCP Server
Imessage MCP Server is an MCP server published by marissamarym in the Communication category: an MCP server that uses AppleScript to send iMessages and manage contacts.
The repository has 29 stars and 9 forks, with the last commit a year ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.
Install
npx imessage-mcp-serverclaude mcp add imessage-mcp-server -- npx -y imessage-mcp-servernpx -y imessage-mcp-serverThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Tools (2)
search_contactsFind contacts by name, phone, or email
Parameters not published.
send_messageSend an iMessage
Parameters not published.
Ask AI
Ask AI about Imessage MCP Server
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository 23 hours ago. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- !License declaredNo license file. Legally you have no right to use it in a product.
- !Tests presentNo tests found. Behaviour changes may go unnoticed between versions.
- ✓Dependencies pinnedA lockfile pins dependency versions.
- ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
README
iMessage MCP Server
⚠️ DISCLAIMER - USE AT YOUR OWN RISK ⚠️
This software is provided as-is, without any warranties or guarantees.
An MCP server that uses AppleScript to send iMessages and manage contacts.
This server uses AppleScript to interface with macOS Messages and Contacts apps through the Model Context Protocol (MCP). It wraps AppleScript commands in a TypeScript server to allow you to:
- View and search your contacts
- Send iMessages to contacts or phone numbers
- Get confirmation when messages are sent
Features
Resources
- Access your contacts via
contacts://all - View contact details including names, phone numbers, and email addresses
- All data stays local on your machine
Tools
-
search_contacts- Find contacts by name, phone, or email- Takes a search query and returns matching contacts
- Searches across names, phone numbers, and email addresses
-
send_message- Send an iMessage- Takes recipient (phone/email) and message content
- Sends through your local Messages app
- Returns confirmation or error details
Installation
- Install dependencies:
npm install
- Build the server:
npm run build
- Configure Claude Desktop to use the server:
On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"imessage": {
"command": "node",
"args": ["/path/to/imessage-server/build/server.js"]
}
}
}
-
Restart Claude Desktop
-
Grant permissions when prompted for:
- Contacts access
- Messages access
Usage
Once installed, you can talk to Claude Desktop naturally:
- "Show me my contacts"
- "Search for contacts named Marissa"
- "Send a message to 555-0123 saying I'll be there in 10 minutes"
- "Send Alice an iMessage asking if we're still on for lunch"
Security Notes
- All operations happen locally on your machine
- No contact or message data is sent to external servers
- The server requires macOS permissions for Contacts and Messages access
- Messages are sent through your iMessage account
Development
For development and debugging, use the MCP Inspector:
npx @modelcontextprotocol/inspector node build/server.js
Requirements
- macOS (for Messages and Contacts integration)
- Node.js 18 or higher
- Claude Desktop
- Active iMessage account
Troubleshooting
If messages aren't sending:
- Check Messages app is signed in
- Verify permissions are granted
- Look for errors in Claude Desktop logs:
tail -f ~/Library/Logs/Claude/mcp*.log
README fetched from the repository 23 hours ago. The original is authoritative.