- Home
- MCP servers
- Apple Reminders
Apple Reminders
- 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:
- 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
- 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.