Apple Reminders

Provides local MCP access to Apple Reminders via EventKit with CRUD, recurring, location-based, and search features.
  • typescript

0

GitHub Stars

typescript

Language

6 months ago

First Indexed

3 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "krishna-desiraju-apple-reminders-swift-mcp-server": {
      "command": "node",
      "args": [
        "/absolute/path/to/apple-reminders-mcp-server/dist/index.js"
      ]
    }
  }
}

You can run a local MCP server that lets AI assistants manage your Apple Reminders from natural language. This server talks to Reminders through the official EventKit API, runs locally on your Mac, and supports full create/read/update/delete workflows, recurring reminders, location-based triggers, multiple alarms, and quick search and date-based queries.

How to use

You use an MCP client to talk to the Apple Reminders MCP Server. The server exposes a set of tools that let you create reminders, update them, delete them, mark them complete, search through reminders, and query today’s, overdue, and completed items. You can ask your AI assistant to create recurring reminders, set location-based triggers, or attach multiple alarms to a single reminder. To start, ensure the server is running and your client is configured to point at the local MCP endpoint. Then issue natural language requests like, “Create a reminder for the weekly team sync,” or “Show me today’s reminders.” The AI client translates your request into MCP tool calls and sends them to the server, which performs the operation on Apple Reminders locally.

Security and privacy are kept local on your Mac, with no cloud components involved. You control permissions directly through macOS System Settings. The server uses native EventKit access to interact with Reminders and respects your system’s privacy controls.

How to install

Prerequisites you need before installing the server:

  • macOS 13.0+ (Ventura or later)

  • Node.js 18+

  • Swift 5.9+ (Xcode Command Line Tools)

Step by step setup from a clean start:

# Clone or download this repository
cd apple-reminders-mcp-server

# Run setup to install dependencies and build everything
npm run setup

Additional configuration and notes

Authoritative usage flow for starting and connecting the MCP server with clients:

  1. Request permissions for Reminders from the Swift CLI before enabling the server to access Reminders. Open a terminal and run the following command to request access.
./swift-cli/.build/release/reminders-cli request-access
  1. Configure your AI assistant to talk to the local MCP server. If you are using Claude Desktop, create or edit the following JSON configuration to point at the local server. Use an absolute path to the built JavaScript file.
{
  "mcpServers": {
    "apple-reminders": {
      "command": "node",
      "args": ["/absolute/path/to/apple-reminders-mcp-server/dist/index.js"]
    }
  }
}

Troubleshooting

If you encounter issues during installation or running, try these steps:

  • Ensure Reminders permission is granted in System Settings > Privacy & Security > Reminders and restart the AI client.

If the Swift CLI cannot be found after installation, rebuild the Swift CLI and verify the executable path.

npm run build:swift
lsswift-cli/.build/release/reminders-cli

Notes on features and limitations

The server uses EventKit to provide robust access to reminders, including recurring patterns, location-based triggers, and multiple alarms. Some features may require workarounds, such as encoding tags in reminder notes or using structured notes for subtasks, since not all private APIs are exposed.

Architecture highlights: AI Assistant → MCP Protocol (stdio) → TypeScript MCP Server → Swift CLI Binary → EventKit → Apple Reminders.app.

Development and testing notes

Common commands you may run while developing or testing the server include building, running in development mode, and testing the Swift CLI directly.

# Build everything
npm run build
npm run build:swift

# Development mode (watch TS changes)
npm run dev

# Run unit tests
npm test

Available tools

create_reminder

Create reminders with full attributes including recurring patterns, location triggers, and multiple alarms.

update_reminder

Update existing reminders by modifying title, notes, due date, recurrence, alarms, or location.

delete_reminder

Permanently remove a reminder from Apple Reminders.

complete_reminder

Mark a reminder as complete.

uncomplete_reminder

Mark a reminder as incomplete.

get_reminders

List all reminders with optional completion filter.

get_all_lists

Retrieve all reminder lists.

search_reminders

Search reminders by text in title or notes.

get_todays_reminders

Fetch reminders due today.

get_overdue_reminders

Fetch reminders that are overdue.

get_completed_reminders

Fetch completed reminders, with optional date range.

get_all_lists

Retrieve all reminder lists.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational