Skip to main content
Glama

create_reminder

Create a real Apple Reminder in a list with due dates, alarms, repeats, priority, tags, links, notes, and subtasks. Set early reminders or urgent alarms for timely notifications.

Instructions

Create a real Apple Reminder in a list (name or id). parent: id of a reminder to nest this under as a subtask (same list, one level deep); prefer the add_subtask tool. urgent: make it an Urgent alarm (needs a due date and time; turn-on only). links: URLs to attach, e.g. ['https://example.com/page']. alarms: extra time alarms, each 'YYYY-MM-DDTHH:MM' (local) or 'due' (at the due time, which needs a timed due date), e.g. ['due', '2026-10-20T08:00']. notify: a reminder with a due TIME gets an alarm at that time, like the app does, because without one it never notifies. Set notify=False for a silent due time. Passing alarms yourself overrides this default. early_minutes / early_hours / early_days / early_weeks / early_months: also notify N of that unit before the due date (needs a due date; the app holds one early reminder, so use one of them). The due time stays the real time; this is the app's "Early Reminder" setting, so for "9 PM with a 15 minute heads-up" pass due 21:00 and early_minutes=15, not an extra alarm. due: '' for none, 'YYYY-MM-DD' for all-day, or an ISO datetime (local time). priority: 0 none, 1 high, 5 medium, 9 low. repeat: '' none, or daily|weekly|monthly|yearly; repeat_interval=every N units; repeat_count=0 means forever. tags: names without '#'. Repeat needs a due date to be meaningful.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dueNo
listYes
tagsNo
linksNo
notesNo
titleYes
alarmsNo
notifyNo
parentNo
repeatNo
urgentNo
flaggedNo
priorityNo
early_daysNo
early_hoursNo
early_weeksNo
early_monthsNo
repeat_countNo
early_minutesNo
repeat_intervalNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does well: it explains the notify default ('a reminder with a due TIME gets an alarm ... Set notify=False for a silent due time'), that user-supplied alarms override it, that the app holds only one early reminder, and that urgent/repeat require a due date. It omits failure modes, permissions, and what happens if the list is not found.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is long but structured as one line per parameter group, front-loaded with purpose, and nearly every clause conveys non-obvious behavior (e.g. the '9 PM with a 15 minute heads-up' example). A few justifications are wordier than needed but none are filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 20-parameter creation tool with no annotations and no output schema, the description covers the risky/ambiguous inputs well enough to call it correctly. Missing: behavior on invalid list/title, and any indication of what the call returns.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% across 20 parameters, so the description must compensate, and it largely does: formats for due, alarms, early_* semantics, priority values, repeat rules, and tag syntax are all spelled out. Gaps remain for notes and flagged, which carry no explanation anywhere.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Create a real Apple Reminder in a list') and clarifies that the list can be a name or id. It does not, however, differentiate itself from siblings like bulk_reminders or create_event beyond a single aside routing nested items to add_subtask.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The only explicit routing guidance is 'parent: ... prefer the add_subtask tool'. There is no guidance on when to use this versus bulk_reminders, or on required preconditions such as the target list existing. Usage is implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.