# Apple Reminders

Manages tasks in Apple Reminders on macOS directly from an AI session. Useful for creating to-dos, checking lists, and completing items without leaving the editor.

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

## What it does

This server connects client agents to the native Reminders app on macOS. It creates to-dos, updates details, and marks items done right on your machine. Execution requires Python 3.11+ and the `uvx` runner.

Access boundaries rely on two environment variables: `APPLE_REMINDERS_MCP_SAFETY_MODE` and `APPLE_REMINDERS_MCP_ALLOWED_LISTS`. If the safety mode string is empty or invalid, the server automatically defaults to `safe_readonly`. Tool discovery and status can be inspected with `reminders_health`.

macOS privacy prompts require manual approval in System Settings before the server returns records. Setting a reminder `due_date` needs an explicit timezone offset like `-08:00`. Without approved system permissions, tool calls will fail.

## Requirements
- Needs: Python and uv (commands run via uvx)
- Environment variables: `APPLE_REMINDERS_MCP_SAFETY_MODE`, `APPLE_REMINDERS_MCP_ALLOWED_LISTS` — 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_REMINDERS_MCP_SAFETY_MODE=<APPLE_REMINDERS_MCP_SAFETY_MODE> --env APPLE_REMINDERS_MCP_ALLOWED_LISTS=<APPLE_REMINDERS_MCP_ALLOWED_LISTS> --transport stdio applereminders-mcp -- uvx apple-mcp-reminders
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from apple-mcp-reminders <command>

### Codex

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

### Cursor

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

### GitHub Copilot

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

### Gemini CLI

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

## When to use it
- add to-dos with due dates to macOS Reminders from chat
- mark completed action items in specific lists
- restrict agent tools to selected reminder categories
- inspect open tasks without switching desktop windows

## Example prompts
- Add a reminder 'Submit expense report' to my Work list for tomorrow
- Show all open items in my Personal reminders list
- Mark the task 'Update deployment guide' as complete

## Similar
- [apple-reminders](https://affpapa.org/en/nevibecode/skills/hermes-agent-apple-reminders.md) — skill · 367 installs
- [intents-mcp](https://affpapa.org/en/nevibecode/mcp/intents-mcp.md) — MCP server · ★ 6
- [Apple Shortcuts Integration](https://affpapa.org/en/nevibecode/skills/apple-shortcuts-integration.md) — skill · 4700 installs
- [apple-launch-film](https://affpapa.org/en/nevibecode/skills/apple-launch-film.md) — skill · 1500 installs
- [apple-hig-expert](https://affpapa.org/en/nevibecode/skills/apple-hig-expert.md) — skill · 662 installs
- [apple-intelligence](https://affpapa.org/en/nevibecode/skills/apple-intelligence.md) — skill · 516 installs

From the same set: [jonathanrreed/apple-mcps](https://affpapa.org/en/nevibecode/by/jonathanrreed/apple-mcps.md) — 11 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
