Skip to main content
Glama

Cancel meeting

cancel_meeting
Destructive

Cancel a meeting — DESTRUCTIVE and two-step: the first call (without confirm) changes nothing and returns what cancelling will do ({cancelled:false, requires_confirm:true}); confirm with the user, then call again with confirm:true. Releases every tentative hold, and the confirmed event if booked, from every host's calendar; a booked invitee gets a cancellation email. Cannot be undone — re-propose to start over. Returns the meeting's final state.

When to use: When plans change. Destructive and two-step: the first call changes nothing and says what cancelling will do; confirm with the user, then call again with confirm:true. A booked invitee gets a cancellation email.

Example: Cancel my pending meeting with Sara.

Input Schema

NameRequiredDescriptionDefault
reasonNoOptional reason — recorded on the audit log.
confirmNoPass true only after the user confirmed; without it the call performs nothing and returns what would happen.
meeting_idYesThe meeting's id, from propose_meeting or search_records.

Output Schema

NameRequiredDescriptionDefault
noteNo
slotsNo
meetingNo
guidanceNo
cancelledNo
meeting_idNo
repairs_flaggedNo
requires_confirmNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • removedInput schema / $schema
      Removed value: -"https://json-schema.org/draft/2020-12/schema"
  2. Changed1 schema field changed
    • removedInput schema / properties / meeting_id / pattern
      Removed value: -"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
  3. Changed6 schema fields changed
    • removedOutput schema / $schema
      Removed value: -"https://json-schema.org/draft/2020-12/schema"
    • removedOutput schema / additionalProperties
      Removed value: -{}
    • removedOutput schema / properties / meeting / additionalProperties
      Removed value: -{}
    • removedOutput schema / properties / meeting / propertyNames
      Removed value: -{
      -  "type": "string"
      -}
    • removedOutput schema / properties / slots / items / additionalProperties
      Removed value: -{}
    • removedOutput schema / properties / slots / items / propertyNames
      Removed value: -{
      -  "type": "string"
      -}
  4. First observed

TDQS

A4.3/5.0
Behavior5/5

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

Goes well beyond the annotations (which already flag destructiveHint/idempotentHint/openWorldHint): it specifies that the first call is a no-op returning {cancelled:false, requires_confirm:true}, that every tentative hold and the booked event are released from every host's calendar, that a booked invitee receives a cancellation email, and that the action is irreversible.

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

Conciseness3/5

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

Front-loaded with the critical destructive/two-step warning, but the same content is duplicated: the two-step process is explained in the opening paragraph and again under "When to use," and the cancellation-email behavior appears twice. The redundancy dilutes an otherwise well-structured description.

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?

An output schema exists, so return details need not be spelled out, and the description still covers the destructive profile, the confirmation protocol, the calendar side effects, and irreversibility. Nothing an agent needs to call this correctly is missing.

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 coverage is 100%, so the schema already documents meeting_id, reason, and confirm's confirmation semantics. The description reinforces the two-step confirm workflow but largely repeats what the confirm field description already states, adding little new meaning.

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 ("Cancel a meeting") with an unambiguous scope, plus the destructive, two-step nature. An agent can immediately distinguish it from siblings like reschedule_meeting, propose_meeting, or record_meeting without opening any schema.

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?

Gives clear context ("When to use: When plans change") and a concrete workflow for the confirm step, plus the fallback guidance "re-propose to start over." However it never names alternatives explicitly (e.g., reschedule_meeting for changes that aren't cancellations), so routing relies on inference.

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