Skip to main content
Glama
andreasd083

amazing-marvin-complete-mcp

delete_reminder

DestructiveIdempotent

Delete reminders, also from the task's list when task_id is given. With task_id the entries are removed from the task's reminders list and from the server (both are needed; an entry left in the list makes an open client notify).

Instructions

Delete reminders, also from the task's list when task_id is given. With task_id the entries are removed from the task's reminders list and from the server (both are needed; an entry left in the list makes an open client notify). Without task_id only the server entries are removed — use it for standalone reminders or orphaned entries from get_reminders. The clock time's reminder (type T) is removed with update_task(time='').

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
task_idNoThe task's id when the reminders belong to a task: they are then also removed from the reminders list
reminder_idsYesIDs of reminders to delete

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.7.3
    • addedInput schema / properties / task_id
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "The task's id when the reminders belong to a task: they are then also removed from the reminders list"
      +}
  2. First observedv1.3.0

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, but the description adds substantial context beyond them: the dual-removal requirement (list + server), the side effect that a stale list entry makes an open client notify, and the special-case for type T reminders. This is exactly the behavioral depth an agent needs for a destructive operation.

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 core action and then elaborates on the task_id distinction and the type T exception. Slightly dense across several clauses, but every sentence carries actionable information with no filler.

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

Completeness5/5

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

With an output schema present, return values need no explanation, and annotations cover the safety profile. The description supplies the branching logic, side effects, and edge case needed to invoke this destructive tool correctly, leaving no meaningful gap.

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 100% so the baseline is 3, but the description adds real meaning: task_id controls whether removal is local-list-only or also cascades from the server, and it explains the consequence of the cascade. That is more than the schema's one-line parameter doc conveys.

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

Purpose5/5

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

States a specific verb (delete) and resource (reminders) and goes further by distinguishing the two operating modes (with vs without task_id). An agent can immediately tell this is a deletion tool scoped to reminders, distinct from set_reminder/get_reminders.

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

Usage Guidelines5/5

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

Explicitly says when to pass task_id (task-owned reminders, both list and server removal) versus when to omit it (standalone reminders or orphaned entries from get_reminders). It also routes the agent to an alternative for the special clock-time reminder type T (update_task(time='')).

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