Skip to main content
Glama

calendar_edit

Update an existing calendar event by ID, changing only specified fields. Setting alerts replaces existing alerts.

Instructions

Update an existing event by id. Pass only the fields to change. Setting alerts_minutes_before replaces the event's existing alerts.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
endNoNew end as YYYY-MM-DD HH:MM local time
countNoNumber of occurrences (1-1000)
notesNoNew notes / description
startNoNew start as YYYY-MM-DD HH:MM local time
titleNoNew title
untilNoRepeat until this local datetime
by_dayNoWeekly by-day list: MO TU WE TH FR SA SU
confirmNoRequired for deletes and multi-recipient sends; without it the call only previews
dry_runNoPreview only: report what would happen and change nothing (default false)
event_idYesEvent ID from calendar_date or calendar_add (required)
intervalNoRecurrence interval (1-366)
locationNoNew location
frequencyNoRecurrence frequency
recurrenceNoRaw RRULE
eventkit_idNoEventKit eventIdentifier from calendar_add (via EventKit). Prefer this over Calendar.app uid lookup.
replace_alertsNoRemove existing alerts even when no replacements are given
alerts_minutes_beforeNoReplacement alerts in minutes before the start

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv3.0.8

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden; it usefully discloses that setting alerts_minutes_before replaces existing alerts (a destructive side effect) and that updates are partial. It still omits permission requirements and the fact that deletes/multi-recipient sends only preview without confirm, leaving meaningful mutation behavior undocumented.

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?

Three terse sentences, front-loaded with the core operation and each carrying distinct information (operation, patch semantics, alert side effect). No filler.

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

Completeness3/5

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

For a 17-parameter mutation tool with no annotations and no output schema, the schema does heavy lifting on parameter detail, and the description covers the essential update/replacement contract. It nonetheless leaves the confirm/dry_run behavior and required permissions for the agent to infer from the schema.

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 100%, so all 17 parameters are already documented in the schema, making baseline 3 appropriate. The description adds one useful nuance (alerts_minutes_before replacement semantics) but nothing else beyond the schema.

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 and resource ('Update an existing event by id'), which cleanly distinguishes it from the sibling write tools calendar_add and calendar_remove. An agent can identify the operation without opening the schema.

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?

'Pass only the fields to change' gives the patch/partial-update contract, which is genuine usage guidance. However, it gives no when-to-use vs alternatives (e.g. calendar_add vs calendar_edit) and does not explain the dry_run/confirm preview workflow that governs whether a call actually mutates state.

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