Skip to main content
Glama

Surfing Dog Inbox

Ask for another time

suggest_time
Idempotent

Instead of the time the business proposed, ask for another: start_time must be one of the free times check_availability lists (the end follows the service's length). The business confirms it or proposes again. On a confirmed booking it asks the business to move it (the end keeps the booking's length), and the booking stays as agreed until the business says yes. After a few rounds, or past the changes a booking may have, a person there answers it instead (passed_on).

Input Schema

NameRequiredDescriptionDefault
keyNoThe person's key (sdkey1_…), if that is all you have: it is exchanged once for a pass, which comes back in identity.passes — keep the pass and send it next time instead. Never stored.
noteNo
passNoThe person's passes (sdpass1_…), space-separated, at most 8: presented to the network that issued each, so the business recognises the customer. Or send them in the Sdi-Pass header. Never stored.
item_idYes
start_timeYesThe start your person would like instead: one of the free times check_availability lists. The end follows the service's length.
access_tokenNoCapability secret returned when the item was created without an account.
idempotency_keyNoSame key + same request = same answer. Required for agents. Make it a fresh random UUID per request: a retry of a create with a random key gets its access token again.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / idempotency_key / description
      Previous value: -"Same key + same request = same answer. Required for agents."New value: +"Same key + same request = same answer. Required for agents. Make it a fresh random UUID per request: a retry of a create with a random key gets its access token again."
  2. Added

TDQS

A4.3/5.0
Behavior5/5

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

Beyond the annotations, the description discloses the full interaction contract: the business confirms or counter-proposes, a confirmed booking stays as agreed until the business accepts the move, and repeated rounds or exceeded change limits hand the request to a human, returned as passed_on. That is exactly the kind of outcome and escalation context an agent cannot get from readOnlyHint/idempotentHint alone.

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?

Four tight sentences with the counter-proposal condition front-loaded and no filler. The middle sentence is dense but every clause carries behavioral information (confirmation loop, move semantics, escalation), so nothing could be cut without losing meaning.

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?

With 7 parameters, no output schema, and a mutation-style flow, the description covers the outcome states and even names the passed_on escalation field. What it leaves implicit is the identity/credential parameters (key/pass/access_token) and idempotency expectations, though the schema does document those.

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 71%, and the description adds real meaning for the critical parameter: start_time must come from check_availability output and the end time is derived from service length, not supplied. It also explains that on a confirmed booking the end keeps the existing booking's length. item_id and note carry no added explanation, which keeps it below a 5.

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 opening clause gives a specific verb and object: propose a different time than the one the business proposed, with start_time constrained to slots returned by check_availability. That distinguishes it from check_availability itself, but the relationship to the sibling make_offer (also a proposal-style tool) is never clarified, leaving one plausible source of confusion unresolved.

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?

It states a concrete precondition for use — start_time must be one of the free times check_availability lists — which effectively routes the agent through that sibling first. It also separates the two operating modes (pending proposal vs. already-confirmed booking) and notes escalation after several rounds. It stops short of any explicit 'do not use this when…' exclusion.

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.