Skip to main content
Glama

mnemosyne_agenda_update

Update an existing calendar appointment by its ID: change the title, start/end time, location, description, reminder, or recurrence. Leave fields out to keep them unchanged, or pass null to clear them.

Instructions

CHANGE an appointment already in the human's calendar: move it, rename it, add or drop a reminder, start or stop it repeating. Names appointments by the id from mnemosyne_agenda_list - call that first. A field you leave out is left alone; passing null CLEARS it. A start or end time that cannot be read REFUSES the change rather than leaving the old one silently in place, and a cadence that is not one of daily/weekly/monthly/yearly is refused rather than quietly turned into a one-off. Works with the app closed on a dev install (the headless daemon reads the file); an npm install has no daemon and needs the app running. Scope agenda:write.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
changesYesOne entry per appointment. Up to 50 per call.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.10.0

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden and does so thoroughly. It discloses partial-update behavior (omitted fields untouched, null clears), strict refusal of unreadable start/end times, refusal of unsupported cadences, environment-dependent execution (headless daemon vs app running), and the required scope: agenda:write.

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

Conciseness5/5

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

The description front-loads the primary purpose and then packs prerequisites, error behavior, and environment notes into a compact paragraph. Every sentence adds operational value, with no filler or repetition.

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?

For a complex tool with a nested changes array, no output schema, and no annotations, the description covers the essential decision points: how to identify the appointment, how omitted/null fields behave, what inputs are refused, and whether the daemon is required. The only minor gap is atomicity across the array, but that is not essential for correctly invoking the tool.

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?

The schema already documents every field (100% coverage), so the baseline is 3. The description adds a global update rule 'a field you leave out is left alone; passing null CLEARS it' and instructs the agent to source event_id from mnemosyne_agenda_list, which goes beyond the schema by clarifying omission vs null semantics.

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?

The description opens with the verb 'CHANGE' and names the exact resource: an appointment already in the human's calendar. It enumerates the supported mutations (move, rename, add/drop reminders, start/stop repeating) and explicitly says appointments are identified by the id from mnemosyne_agenda_list, making it clearly distinct from add/remove/list siblings.

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

Usage Guidelines4/5

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

The description gives an explicit prerequisite: call mnemosyne_agenda_list first to obtain the appointment id. It also provides operational context such as null-clears-field semantics and the daemon/running-app requirement on dev installs vs npm installs, but it never explicitly names when-not alternatives like agenda_add or agenda_remove.

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