Skip to main content
Glama

Counter a booking offer

counter_booking
Destructive

Propose a different fee on a pending booking offer (posts an amended offer card in chat, retiring the old one). expected_current_fee must match the booking; the new fee must stay within 50-200% of it, and only one counter per booking per day. Requires the member's "Allow my assistant to act" switch.

Input Schema

NameRequiredDescriptionDefault
noteNoOptional short message to accompany the counter.
new_feeYesThe proposed fee (GBP), within 50-200% of the current fee.
booking_idYesThe booking id from a my_bookings result.
expected_current_feeYesThe fee currently on the booking (GBP).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / expected_current_fee / description
      Previous value: -"The fee currently on the booking (GBP) — re-read it first."New value: +"The fee currently on the booking (GBP)."
  2. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only say this is a non-read-only, non-idempotent, destructive mutation; the description goes well beyond that by disclosing the chat side effect (the old offer card is retired), the per-day rate limit, the optimistic-concurrency guard on expected_current_fee, and the required member consent toggle. This is exactly the behavioral 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.

Conciseness4/5

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

Front-loaded with the action and its chat side effect, then the validation rules and prerequisites. Dense and largely waste-free, though the run-on second clause packs three distinct constraints into one sentence, slightly straining readability.

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 mutation tool with no output schema, the description covers side effects, rate limits, concurrency requirements, and authorization. It stops short of describing the failure/response surface (what the caller sees on rejection), which would fully close the loop, but the essential invocation context is present.

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?

Schema coverage is 100%, so the baseline is 3, but the description adds genuine semantics: expected_current_fee must MATCH the booking (a concurrency/safety guard, not just 'the current fee'), and new_fee is constrained to 50-200% of it. That is meaning beyond the schema's field-level text.

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 precise verb (propose a different fee / counter) on a specific resource (a pending booking offer), and the parenthetical spells out the side effect — an amended offer card posted in chat, retiring the old one. This is clearly distinguishable from make_offer and respond_to_booking 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 ('on a pending booking offer') and concrete preconditions: a matching expected_current_fee, a 50-200% fee band, one counter per booking per day, and the member's 'Allow my assistant to act' switch. It never explicitly names respond_to_booking or make_offer as the alternatives to choose between, so it stops short of full when/when-not guidance.

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