# Apple Tools MCP server

> Work with Mail, Calendar, Reminders, Messages, Notes, Contacts, Files and Maps on macOS from one local server.

- Listing: https://mcp.tc/i/apple-tools
- Connect: this is a local (stdio) server; install it on your machine (see Install). The listing link is a page, not an MCP endpoint.
- Type: local (stdio)
- Auth: no API key needed
- Category: [Productivity & Projects](https://mcp.tc/c/productivity)
- Vendor: JonathanRReed
- Homepage: <https://jonathanrreed.com/projects/apple-mcps/>
- Docs: <https://github.com/JonathanRReed/Apple-MCPs/tree/main/docs>
- Repository: <https://github.com/JonathanRReed/Apple-MCPs/tree/HEAD/Apple-Tools-MCP>
- Package: pypi `apple-tools-mcp`

## About

Apple Tools is a unified MCP server for macOS apps. It wraps standalone servers for Mail, Calendar, Reminders, Messages, Contacts, Notes, Shortcuts, Files, System and Maps. It adds cross-app workflows such as daily and weekly briefings, communications triage, follow-up capture, saved defaults, and preview, audit and undo for reversible actions.

It runs locally over stdio with uvx apple-tools-mcp (Python 3.11+, macOS) and also ships as an MCPB bundle. No API key is needed. Each app domain has a safety mode (safe\_readonly, safe\_manage or full\_access) set by environment variable, and file access is limited to allowed directories. macOS permission prompts apply.

## What it can do

- Read and manage Mail, including threads, replies and archiving
- Read and create Calendar events and Reminders
- Search Contacts and route messages by saved preferences
- Send and preview Messages
- Work with Notes, Shortcuts and files in scoped folders
- Look up places and route estimates with Apple Maps
- Generate daily and weekly briefings and triage communications
- Preview, audit and undo reversible actions

## Example prompts

- "Give me a daily briefing from my calendar, reminders and unread mail."
- "Reply to the latest mail thread from Anna and archive it."
- "Create a reminder to follow up with Marco on Friday."
- "How long will it take to drive to my next calendar event?"

## Install

### Claude Code

1. Run this in a terminal, in your project folder:

```bash
claude mcp add --transport stdio apple-tools -- uvx apple-tools-mcp
```

2. Start Claude Code and type `/mcp`. **apple-tools** should show as connected.

Add `--scope user` to make it available in every project.

### Claude Desktop

1. Open **Settings → Developer → Edit Config**. It opens `claude_desktop_config.json`. Add:

`claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "apple-tools": {
      "command": "uvx",
      "args": [
        "apple-tools-mcp"
      ]
    }
  }
}
```

2. Save the file and restart Claude Desktop.

Needs uv (Python) on your computer. The file lives in `~/Library/Application Support/Claude/` on macOS and `%APPDATA%\Claude\` on Windows.

### Cursor

[Add to Cursor](<https://cursor.com/install-mcp?name=apple-tools&config=eyJjb21tYW5kIjoidXZ4IiwiYXJncyI6WyJhcHBsZS10b29scy1tY3AiXX0%3D>) (opens Cursor)

Or add it by hand to `~/.cursor/mcp.json` (all projects) or `.cursor/mcp.json` (this project):

`mcp.json`:

```json
{
  "mcpServers": {
    "apple-tools": {
      "command": "uvx",
      "args": [
        "apple-tools-mcp"
      ]
    }
  }
}
```

Needs uv (Python) on your computer.

### VS Code

[Install in VS Code](<https://vscode.dev/redirect/mcp/install?name=apple-tools&config=%7B%22type%22%3A%22stdio%22%2C%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22apple-tools-mcp%22%5D%7D>) (opens VS Code)

Or from a terminal:

```bash
code --add-mcp '{"name":"apple-tools","type":"stdio","command":"uvx","args":["apple-tools-mcp"]}'
```

Or commit it to the repo in `.vscode/mcp.json`:

`.vscode/mcp.json`:

```json
{
  "servers": {
    "apple-tools": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "apple-tools-mcp"
      ]
    }
  }
}
```

Needs uv (Python) on your computer.

### Devin Desktop

1. Add it to `~/.config/devin/mcp_config.json` (macOS and Linux) or `%APPDATA%\devin\mcp_config.json` (Windows):

`mcp_config.json`:

```json
{
  "mcpServers": {
    "apple-tools": {
      "command": "uvx",
      "args": [
        "apple-tools-mcp"
      ]
    }
  }
}
```

2. Refresh the MCP server list in Cascade.

Devin Desktop is the new name for Windsurf.

### Codex

```bash
codex mcp add apple-tools -- uvx apple-tools-mcp
```

Or edit `~/.codex/config.toml` directly:

`config.toml`:

```toml
[mcp_servers.apple-tools]
command = "uvx"
args = ["apple-tools-mcp"]
```

Needs uv (Python) on your computer.

### Gemini CLI

```bash
gemini mcp add apple-tools uvx apple-tools-mcp
```

This adds it to the current project. Add `-s user` to use it everywhere.

### Any client

Most clients that start local servers accept this shape:

```json
{
  "mcpServers": {
    "apple-tools": {
      "command": "uvx",
      "args": [
        "apple-tools-mcp"
      ]
    }
  }
}
```

Zed puts servers under `context_servers` in its settings, with the same `command`, `args` and `env` fields.

Needs uv (Python) on your computer.

## Details

- Server version: 1.0.5
- Last checked: 2026-10-04
- Listed: 2026-10-04
- Updated: 2026-10-04

---
Source: https://mcp.tc/i/apple-tools (mcp.tc is an independent directory, not affiliated with this server's publisher). Corrections: https://mcp.tc/report
