Skip to main content
Glama

cancel_booking

DestructiveIdempotent

Cancel a booking made earlier. customer_contact is the email or phone used for the booking. Only after the customer has clearly said they want to cancel; set customer_confirmed=true to say so. To reschedule: check_availability, confirm the new time with the customer, book_appointment, then cancel the old one.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
referenceYes
business_idYes
customer_contactYes
customer_confirmedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false, so the safety profile is covered. The description adds genuinely non-structured context: the customer-confirmation gate that must precede the call, and the ordering requirement that a reschedule must complete before cancelling. It does not state reversibility or what happens to the slot after cancellation, which keeps it short of a 5.

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 short sentences, front-loaded with the core action, then the gating condition, then the alternative workflow. Every sentence carries distinct operational information with no repetition of the title or schema.

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?

No output schema exists and the description does not describe the result of a successful or failed cancellation, but annotations already carry the destructive/idempotent semantics and the description covers the decision procedure and the critical gating flag. Adequate for an agent to invoke correctly, with only the return behavior unaddressed.

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 0% for 4 parameters, so the description must compensate. It does explain customer_contact ('the email or phone used for the booking') and customer_confirmed ('set true to say so'), but leaves reference and business_id entirely undocumented in both schema and prose.

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 booking made earlier'), immediately distinguishable from siblings like book_appointment and check_availability. The follow-up sentences further pin down scope by naming the reschedule workflow and the sibling tools involved in it.

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?

Gives an explicit precondition ('Only after the customer has clearly said they want to cancel'), tells the agent exactly how to signal it (set customer_confirmed=true), and routes the alternative scenario (reschedule) through a concrete ordered sequence of sibling tools. Nothing 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.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources