# Apple Messages

Lets an agent read your Messages history on macOS and send or reply to conversations. Handy when you want to work through threads without leaving the editor.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 29
- Author: JonathanRReed
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/JonathanRReed/Apple-MCPs/tree/HEAD/applemessages-mcp
- Updated: 2026-10-22
- HTML: https://affpapa.org/en/nevibecode/mcp/apple-messages

## What it does

The server runs locally on your Mac and talks to the client over stdio. Your agent can pull up conversations from the Messages app and send new texts or answer existing threads. Sends go out as iMessage unless you pass `service_name` for SMS or RCS.

Reading history requires Full Disk Access; sending requires Automation. You approve both yourself in the macOS prompt or System Settings. Without them the server cannot reach the message database.

Installation runs through `uvx`, so you need Python 3.11+ and the `uv` tool. Safety behaviour is set with `APPLE_MESSAGES_MCP_SAFETY_MODE`; a blank or invalid value falls back to `safe_readonly`. If you switch to Streamable HTTP, the server only binds to `127.0.0.1`, `::1` or `localhost` — there is no remote authentication, so exposing it through a tunnel or public proxy is off the table.

## Requirements
- Needs: Python and uv (commands run via uvx)
- Environment variables: `APPLE_MESSAGES_MCP_SAFETY_MODE` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env APPLE_MESSAGES_MCP_SAFETY_MODE=<APPLE_MESSAGES_MCP_SAFETY_MODE> --transport stdio applemessages-mcp -- uvx apple-messages-mcp
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from apple-messages-mcp <command>

### Codex

**Platform CLI**
```bash
codex mcp add applemessages-mcp --env APPLE_MESSAGES_MCP_SAFETY_MODE=<APPLE_MESSAGES_MCP_SAFETY_MODE> -- uvx apple-messages-mcp
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from apple-messages-mcp <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "applemessages-mcp": {
            "command": "uvx",
            "args": [
                "apple-messages-mcp"
            ],
            "env": {
                "APPLE_MESSAGES_MCP_SAFETY_MODE": "<APPLE_MESSAGES_MCP_SAFETY_MODE>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from apple-messages-mcp <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "applemessages-mcp": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "apple-messages-mcp"
            ],
            "env": {
                "APPLE_MESSAGES_MCP_SAFETY_MODE": "<APPLE_MESSAGES_MCP_SAFETY_MODE>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from apple-messages-mcp <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e APPLE_MESSAGES_MCP_SAFETY_MODE=<APPLE_MESSAGES_MCP_SAFETY_MODE> applemessages-mcp uvx apple-messages-mcp
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from apple-messages-mcp <command>

## When to use it
- pull up a Messages thread and find a specific conversation
- send a text to a contact from inside the editor
- reply within an existing iMessage thread
- work with SMS or RCS threads through the paired iPhone
- check which macOS permissions the server currently has

## Example prompts
- Show me the latest messages from this contact in Messages
- Send them an iMessage that I'll be there in ten minutes
- Reply in the last thread with them

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 386989
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119160
- [Codebase Memory](https://affpapa.org/en/nevibecode/mcp/codebase-memory.md) — MCP server · ★ 47392
- [mcp-server](https://affpapa.org/en/nevibecode/mcp/mcp-server.md) — MCP server · ★ 43872

From the same set: [jonathanrreed/apple-mcps](https://affpapa.org/en/nevibecode/by/jonathanrreed/apple-mcps.md) — 4 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
