imessage-send-mcp
by andyjianzhou
README.md
# imessage-send-mcp
A minimal MCP server that sends iMessages via the macOS Messages app using `osascript`. No Full Disk Access required — write-only, never reads your message history.
## What it does
Exposes one tool to Claude Code (or any MCP client):
- **`send_imessage(recipient, message)`** — sends an iMessage or SMS to a phone number or Apple ID email
## Requirements
- macOS (uses `osascript` + Messages app)
- Messages app must be open and signed in to iMessage
- Python 3.11+
## Installation
```bash
pip install imessage-send-mcp
```
Or from source:
```bash
git clone https://github.com/andyjianzhou/imessage-send-mcp
cd imessage-send-mcp
pip install -e ".[dev]"
```
## Add to Claude Code
```bash
claude mcp add-json "imessage-send" '{
"command": "python3",
"args": ["-m", "imessage_send_mcp.server"]
}'
```
Then restart Claude Code. The `send_imessage` tool will be available in your next session.
## Usage
Once connected, Claude can send messages like:
```
send_imessage("+14155551234", "Hello from Claude!")
```
Recipients can be:
- Phone number in E.164 format: `+14155551234`
- Apple ID email: `example@icloud.com`
## Security
- **No Full Disk Access needed** — this server only sends messages, never reads `chat.db`
- **No network requests** — runs entirely locally via AppleScript
- **Minimal surface area** — ~50 lines of code, fully auditable
## Development
```bash
pip install -e ".[dev]"
pytest # run tests
ruff check . # lint
mypy src # type check
```
## License
MIT
TDQS
A4.3/5.0
Scored across 1 tool
Disambiguation5/5
Only one tool exists, so there is no possibility of ambiguity or confusion with other tools.
Naming Consistency5/5
With a single tool, naming consistency is not a concern; the name follows a clear verb_noun pattern.
Tool Count2/5
A single tool for iMessage is extremely limited. While sending is a core function, the server lacks any ability to read messages, list conversations, or manage chats, making it feel incomplete for the domain.
Completeness2/5
The server only covers sending messages. Essential operations like reading, searching, or managing conversations are missing, leaving significant gaps for typical iMessage use cases.
Maintenance
ActivityStale
ResponsivenessNo issues