Skip to main content
Glama

Update events

update_events
Destructive

Edit a repeating event. 'scope' is REQUIRED: 'this' (one occurrence), 'following' (that one and every later one), or 'all'. 'this' and 'following' need event_id; 'all' takes series_id or an event_id belonging to the series. Move occurrences with shift_minutes (each keeps its own duration and weekday); an absolute start_at is only allowed with scope='this', because across several occurrences it would land them all on one instant. Any reminder anchored to a moved occurrence follows it. CONFIRMATION: this tool is PROPOSED, never performed directly. You get status='confirmation_required' with an action_id and a plan_token, and the write happens only after confirm_action.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "scope": "<scope>"
    },
    "name": "update_events"
  }
}

Input Schema

NameRequiredDescriptionDefault
notesNo
scopeYes
titleNo
event_idNo
locationNo
start_atNo
series_idNo
event_typeNo
availabilityNo
shift_minutesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior5/5

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

The description discloses behavior the annotations cannot: this is a two-phase PROPOSED write that returns status='confirmation_required' with action_id and plan_token and commits only through confirm_action. It also states side effects (reminders anchored to a moved occurrence follow it) and preservation semantics (each occurrence keeps its own duration and weekday), which is exactly the kind of context destructiveHint=true does not convey on its own.

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-loaded with the core verb and the required-parameter caveat, then grouped logically by identifier requirements, move mechanics, and confirmation protocol. Dense but nearly every sentence carries operational meaning; the CONFIRMATION block is capitalized in a way that reads slightly like emphasis styling rather than prose, a minor structural blemish.

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?

For a 10-parameter destructive mutation with no output schema and no schema descriptions, the definition covers the pieces an agent could otherwise get wrong: scope semantics, ID requirements, move vs absolute-time rules, and the deferred-write contract. It does not say which fields are valid across which scopes (e.g. whether title/location apply to 'following'), leaving one genuine ambiguity.

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?

With 0% schema description coverage the description must carry the load, and it does for the non-obvious parameters: scope is flagged REQUIRED with all three values defined, event_id vs series_id requirements are spelled out per scope, shift_minutes explains its non-obvious preservation behavior, and start_at's restriction is justified. The descriptive fields (title, location, notes, event_type, availability) get no coverage, but their names and the enum are largely self-explanatory.

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?

The description opens with a specific verb+resource ('Edit a repeating event') and immediately narrows the domain to recurring-series edits via the scope enum. It does not distinguish itself from the sibling 'update_event', so an agent must infer that this one handles repeating events while the other does not.

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?

Strong explicit guidance on selection: which scope value applies to which intent, which identifier each scope requires, and the rule that start_at is only legal with scope='this' while shift_minutes is the tool for multi-occurrence moves. It stops short of naming the alternative tool to use for non-repeating events or for confirming the proposal (confirm_action is mentioned, so only the first is a real gap).

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources