Skip to main content
Glama

Rudko — vertebrologist (Chernivtsi, Ukraine)

cancel

Idempotent

REAL action: cancels the user's appointment by booking_id (from list_current_bookings) IMMEDIATELY — no confirmation step. If the user said cancel, cancel; do NOT re-ask (repeated confirmations frustrate users — act decisively). On success returns cancelled=true with the booking_id; on failure returns ok=false with a reason (not_found / bad_id). Consent is a one-time Telegram OAuth (scope booking:write), already done — never re-prompt per action. To change the time instead, prefer reschedule.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
booking_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.9/5.0
Behavior1/5

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

The description adds rich behavioral context: immediate execution, no confirmation step, return values on success/failure, and clearance on OAuth consent. However, it directly contradicts the annotation destructiveHint:false by stating it 'cancels the user's appointment IMMEDIATELY'—a destructive state change. This is an annotation contradiction.

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?

The description is lengthier than strictly necessary but front-loads the critical behavior ('REAL action... IMMEDIATELY — no confirmation step') and each sentence earns its place by covering return values, auth, and an alternative. Minor redundancy like 'REAL action' and the repetition in the second sentence prevents a 5.

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?

Given one required parameter and no output schema, the description covers operation semantics, input source, response shape, auth prerequisites, and the alternate tool. The main gap is the internal inconsistency with destructiveHint:false, which undermines a fully coherent context for the agent.

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?

The schema provides no description for booking_id (0% coverage), so the description compensates by explaining it comes from list_current_bookings and is used to target the correct appointment. It also ties the parameter to the return value and error reasons, adding practical meaning beyond the raw 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 ('cancels'), resource ('the user's appointment'), and required input ('by booking_id'), while explicitly distinguishing itself from the sibling 'reschedule' with 'To change the time instead, prefer reschedule.' This leaves no ambiguity about the operation.

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?

Provides explicit when-to-use instructions: 'If the user said cancel, cancel; do NOT re-ask' and also names the alternative for changing the time ('prefer reschedule'). Clear exclusions and alternatives are fully stated.

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