Apple Reminders MCP Server — lists, reminders, search, due dates, create, complete, update
Project description
reminders-blade-mcp
Apple Reminders MCP Server — read and manage reminders, lists, due dates, search, create, complete, update, and delete.
Requirements
- macOS 13 (Ventura) or later
- Python 3.12+
- uv package manager
- Reminders permission for your terminal (auto-prompted on first use)
Quick Start
# Install
uv sync
# Run
uv run reminders-blade-mcp
Configuration
Claude Desktop / Claude Code
{
"mcpServers": {
"reminders": {
"command": "uv",
"args": ["run", "--directory", "/path/to/reminders-blade-mcp", "reminders-blade-mcp"],
"env": {
"REMINDERS_WRITE_ENABLED": "false"
}
}
}
}
Environment Variables
| Variable | Default | Description |
|---|---|---|
REMINDERS_WRITE_ENABLED |
false |
Enable create/complete/update/delete operations |
REMINDERS_MCP_TRANSPORT |
stdio |
Transport: stdio or http |
REMINDERS_MCP_HOST |
127.0.0.1 |
HTTP transport bind address |
REMINDERS_MCP_PORT |
8771 |
HTTP transport port |
Tools
Read (7)
| Tool | Description |
|---|---|
reminders_info |
System info, access status, list count, write gate |
reminders_lists |
All reminder lists with counts |
reminders_items |
Reminders from a list (filter: completed/incomplete) |
reminders_item |
Single reminder by ID or name |
reminders_search |
Search by title text across all lists |
reminders_due |
Due/overdue reminders within N days |
reminders_stats |
Aggregate stats with per-list breakdown |
Write (4) — require REMINDERS_WRITE_ENABLED=true AND confirm=true
| Tool | Description |
|---|---|
reminders_create |
Create a reminder (title, list, due date, priority, notes) |
reminders_complete |
Mark completed or uncompleted |
reminders_update |
Update properties (title, due date, priority, notes, flagged) |
reminders_delete |
Delete a reminder (cannot be undone) |
Security
- All user input is escaped to prevent AppleScript injection
- Write operations require both an environment variable gate and per-call confirmation
- Delete operations cannot be undone — double-gated
- Uses
/usr/bin/osascript(system binary) to avoid TCC permission churn - 30-second timeout on all AppleScript executions
Development
make install-dev # Install with dev dependencies
make check # Lint + format + type-check
make test # Unit tests
make test-cov # Tests with coverage
make test-e2e # E2E tests (requires Reminders access)
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file reminders_blade_mcp-0.2.0.tar.gz.
File metadata
- Download URL: reminders_blade_mcp-0.2.0.tar.gz
- Upload date:
- Size: 93.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f1580df8ad27e5cf36b9c1a9e93ac4b5de196af6229febf0a055055ae62b3cc0
|
|
| MD5 |
7dcd2d40c1aca72a5dec45c60318ee2d
|
|
| BLAKE2b-256 |
a5831ce32ed25721dddfb2170228c5c6b7445ffb26ef8b2fd5662880210fbd50
|
Provenance
The following attestation bundles were made for reminders_blade_mcp-0.2.0.tar.gz:
Publisher:
publish.yml on Groupthink-dev/reminders-blade-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
reminders_blade_mcp-0.2.0.tar.gz -
Subject digest:
f1580df8ad27e5cf36b9c1a9e93ac4b5de196af6229febf0a055055ae62b3cc0 - Sigstore transparency entry: 1396198183
- Sigstore integration time:
-
Permalink:
Groupthink-dev/reminders-blade-mcp@261ce0ccb7f36517f7fd59783efff6293e8174ff -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/Groupthink-dev
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@261ce0ccb7f36517f7fd59783efff6293e8174ff -
Trigger Event:
push
-
Statement type:
File details
Details for the file reminders_blade_mcp-0.2.0-py3-none-any.whl.
File metadata
- Download URL: reminders_blade_mcp-0.2.0-py3-none-any.whl
- Upload date:
- Size: 14.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7ffd8a28c71cbf3f2a1e7da664149b3502959b53202e199868f671c944bf392e
|
|
| MD5 |
50acd626c5def1e06f998d816854a116
|
|
| BLAKE2b-256 |
8a7ea1d694af85c2e61316b4296c381052730456ad6be1772e5292d5e248e16c
|
Provenance
The following attestation bundles were made for reminders_blade_mcp-0.2.0-py3-none-any.whl:
Publisher:
publish.yml on Groupthink-dev/reminders-blade-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
reminders_blade_mcp-0.2.0-py3-none-any.whl -
Subject digest:
7ffd8a28c71cbf3f2a1e7da664149b3502959b53202e199868f671c944bf392e - Sigstore transparency entry: 1396198191
- Sigstore integration time:
-
Permalink:
Groupthink-dev/reminders-blade-mcp@261ce0ccb7f36517f7fd59783efff6293e8174ff -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/Groupthink-dev
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@261ce0ccb7f36517f7fd59783efff6293e8174ff -
Trigger Event:
push
-
Statement type: