Skip to main content
Glama

calendar_update_calendar

Idempotent

Rename an existing iCloud calendar's display name without affecting its events or ID. Use when a calendar needs a new name, not for moving events or creating/deleting calendars.

Instructions

Rename one of the owner's calendars; its events and id stay as they are.

Use when: the owner wants a calendar called something else. Not for moving events between calendars (use calendar_move_event), creating a calendar (use calendar_create_calendar) or deleting one (use calendar_delete_calendar). Parameters: calendar is the current name (any case) or the id from calendar_list_calendars. new_name is 1 to 100 characters on one line; runs of whitespace are collapsed. Behavior:

  • Changes only the display name.

  • Refused when another calendar already has new_name in any case; changing only the capitalisation of the same calendar is allowed.

  • Repeating the call with the same name changes nothing further.

  • Other calendar tools see the new name at once; the owner's devices after sync. Returns: {renamed: true, from, to} with the old and new names. Errors: an unknown calendar (the message lists valid names), a name already taken, or an invalid name.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
calendarYesThe calendar to rename, by name.
new_nameYesIts new name.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -{
      -  "additionalProperties": true,
      -  "title": "calendar_update_calendarDictOutput",
      -  "type": "object"
      -}New value: +null
  2. Addedv0.11.0

TDQS

A5/5.0
Behavior5/5

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

Annotations only cover the basic safety/idempotency profile; the description goes well beyond them, disclosing that only the display name changes, the duplicate-name refusal rule (with the case-only-rename exception), idempotent repeat behavior, and propagation timing across tools vs. devices. It also enumerates error classes, which is exactly the kind of context annotations cannot carry.

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?

Front-loaded one-line purpose, then clearly labeled Use when / Parameters / Behavior / Returns sections. The bullet list is dense with load-bearing constraints rather than filler, and no sentence duplicates the schema or annotations verbatim.

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?

No output schema exists, and the description compensates by specifying the exact return shape ({renamed, from, to}) and the three error conditions. For a two-parameter mutation tool with annotations, nothing an agent needs to call it correctly is missing.

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

Parameters5/5

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

Schema coverage is 100%, so the baseline would be 3, but the description adds real meaning beyond the terse schema text: "calendar" accepts either the current name in any case or an id from calendar_list_calendars, and "new_name" is constrained to 1-100 characters on a single line with whitespace collapsed.

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+resource ("Rename one of the owner's calendars") and immediately bounds the scope ("its events and id stay as they are"), which cleanly separates it from event-moving and calendar CRUD siblings. An agent can identify the correct tool 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 Guidelines5/5

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

Explicit "Use when" trigger plus an explicit not-for list naming three concrete alternatives (calendar_move_event, calendar_create_calendar, calendar_delete_calendar). No condition is left to inference.

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