Skip to main content
Glama
imessage-send-mcp

imessage-send-mcp

by andyjianzhou

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

Related MCP server: mac-messages-mcp

Requirements

  • macOS (uses osascript + Messages app)

  • Messages app must be open and signed in to iMessage

  • Python 3.11+

Installation

pip install imessage-send-mcp

Or from source:

git clone https://github.com/andyjianzhou/imessage-send-mcp
cd imessage-send-mcp
pip install -e ".[dev]"

Add to Claude Code

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

pip install -e ".[dev]"
pytest          # run tests
ruff check .    # lint
mypy src        # type check

License

MIT

Available Tools

1 tool
send_imessageA

Send an iMessage or SMS via the macOS Messages app.

Args: recipient: Phone number in E.164 format (e.g. +14155551234) or an Apple ID email address. message: Text content to send. Newlines are preserved.

Returns: Confirmation string on success.

Raises: RuntimeError: If osascript exits non-zero (Messages not open, recipient not found, etc.).

Inputs: recipient (required), message (required). Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    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

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      Enables AI assistants to read iMessage history and send messages on macOS. Supports conversation listing, message search with keyword and semantic modes, contact lookup, and sending messages to existing conversations.
      13
      11
      MIT
    • A
      license
      B
      quality
      C
      maintenance
      Enables reading, searching, sending iMessages, viewing image attachments, and managing conversations, with full support for modern macOS attributedBody parsing.
      14
      2
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      Enables AI agents on macOS to securely read and search the local Messages database, catch up on missed messages via a persistent inbox, and send texts or files to allowlisted chats, with optional voice note transcription and text-to-speech.
      10
      26 npm
      MIT