remindctl-mcp

remindctl-mcp

MCP server for Apple Reminders via remindctl. Enables MCP-compatible AI assistants to read and write Apple Reminders through the standard Model Context Protocol.

Category
Visit Server

README

remindctl-mcp

MCP server for Apple Reminders via remindctl.

Lets any MCP-compatible AI assistant (Amazon Quick, Claude Desktop, etc.) read and write your Apple Reminders through the standard Model Context Protocol.

Requirements

  • macOS 14+ (Sonoma or later)
  • remindctl installed (brew install steipete/tap/remindctl)
  • Python 3.11+
  • uv (recommended) or pip

Setup (Amazon Quick)

1. Clone & install dependencies

git clone https://github.com/ebi-yade/remindctl-mcp.git
cd ./remindctl-mcp
uv venv
uv pip install mcp

2. Register as MCP server

Open Settings → Capabilities → Connectors → + Add MCP server and configure:

Field Value
Name remindctl
Command /path/to/remindctl-mcp/.venv/bin/python
Args /path/to/remindctl-mcp/server.py

Replace /path/to/ with the actual location (e.g. /Users/you/remindctl-mcp/).

3. Grant Reminders permission

macOS controls Reminders access via TCC. Permission is granted to the host app that spawns the MCP server process (e.g. Amazon Quick), not to python or remindctl directly.

  1. Ask the assistant to call reminders_authorize
  2. A macOS dialog will appear — click OK
  3. Verify with reminders_status → should show "authorized": true

TCC Troubleshooting

If any tool returns "Reminders access denied", the fix is always the same:

# 1. Reset permission to trigger a fresh prompt
tccutil reset Reminders <bundle_id>

# For Amazon Quick:
tccutil reset Reminders com.amazon.QuickWork.mac

Then ask the assistant to call reminders_authorize again and click OK on the dialog.

Why this happens: macOS may revoke TCC grants after OS updates, or the user may have accidentally denied the prompt. tccutil reset clears the decision so the dialog can appear again.

Tools

Tool Description
reminders_authorize Trigger TCC permission dialog (for initial setup / recovery)
reminders_status Check authorization status
reminders_show Show reminders by filter (today, week, overdue, etc.)
reminders_search Search reminders by keyword
reminders_lists List all reminder lists or show reminders in specific list(s)
reminders_add Create a new reminder
reminders_edit Edit an existing reminder
reminders_complete Mark reminders as complete
reminders_delete Delete reminders

How it works

MCP Host (Amazon Quick, Claude, etc.)
  ↕ stdio (JSON-RPC)
remindctl-mcp (this server)
  ↕ subprocess
remindctl CLI
  ↕ EventKit API
Apple Reminders (syncs via iCloud)

The server is a thin wrapper: it translates MCP tool calls into remindctl CLI invocations and returns JSON output. No data is stored or cached — all state lives in Apple Reminders.

Other MCP hosts

This server uses stdio transport and works with any MCP client. For Claude Desktop, add to claude_desktop_config.json:

{
  "mcpServers": {
    "remindctl": {
      "command": "/path/to/remindctl-mcp/.venv/bin/python",
      "args": ["/path/to/remindctl-mcp/server.py"]
    }
  }
}

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured