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
iMessage MCP Server
Project Details
- marissamarym/imessage-mcp-server
- Last Updated: 4/4/2025
Recomended MCP Servers
MCP Server for Adobe After Effects. Enables remote control (compositions, text, shapes, solids, properties) via the Model Context...
Using ffmpeg command line to achieve an mcp server, can be very convenient, through the dialogue to achieve...
This repository contains the source code for a confluence context server, it provides prompts that can be used...
A secure Model Context Protocol (MCP) server providing filesystem access within predefined directories
A server that connects to the xAI/Grok image generation API that provides endpoints for text and image analysis...
MCP server for code collection and documentation
An mcp server that provides read-only access to MariaDB.
An MCP server for Anki
A Model Context Protocol (MCP) server implementation for remote memory bank management, inspired by Cline Memory Bank.
Airtable Model Context Protocol Server, for allowing AI systems to interact with your Airtable bases
ConnectWise Manage API Gateway MCP Server for Claude