Skip to main content
Glama

complete_reminder

Destructive

Marks a reminder complete by ID and lists any open subtasks left under a completed parent so they can be handled.

Instructions

Mark a reminder complete by id. Completing a parent leaves its subtasks open (Reminders.app hides them under a completed parent); the result lists them under subtasks. Side effect (completes). Requires EventKit and Full Disk Access: the subtask check reads the Reminders store first, and when the store cannot be read the completion is refused and nothing changes. id from reminders.

Input Schema

NameRequiredDescriptionDefault
idYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.15.1

TDQS

A3.9/5.0
Behavior5/5

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

Goes well beyond the annotations: it discloses that a parent's subtasks remain open and are surfaced under `subtasks` in the result, names the required framework and permission (EventKit + Full Disk Access), and describes the failure mode where an unreadable store refuses the completion with no state change. That is exactly the behavioral context the destructiveHint annotation cannot convey.

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?

Front-loads the action in the first clause and packs the subtask caveat, prerequisites, and failure semantics into a short block with no filler. The parenthetical explanation of hidden subtasks earns its place, though the sentence structure is slightly dense.

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?

An output schema exists, yet the description still usefully flags the `subtasks` field, and it covers preconditions and refusal behavior. The only loose end is parameter-level detail for `id`, which the schema does not supply and the description only partially fills.

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

Parameters3/5

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

Schema description coverage is 0%, so the lone `id` parameter is undocumented in the schema. The description partially compensates by stating '`id` from reminders', giving the agent the provenance of the value, but it adds nothing about format or validity constraints on that string.

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 and resource ('Mark a reminder complete') plus the keying parameter ('by id'), so the action is unambiguous. It does not explicitly distinguish itself from update_reminder, which could plausibly also flip completion state, leaving a small amount of sibling inference.

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?

Usage context is implied rather than stated: the description explains what happens on completion and what prerequisites are needed, but never says when to choose this over update_reminder or delete_reminder. An agent can infer the intent, but the routing decision is left to it.

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