Skip to main content
Glama
austinlai22

duffel-recovery

by austinlai22

book_offer

Destructive

Book a flight for a disrupted itinerary. Submit an offer ID with an approval token to execute; without it, receive a pending action for review.

Instructions

Book a new flight. Without approval_token this only proposes and returns a pending_action_id.

    Passenger details come from the server's fake-passenger config; you can't supply them.
    

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
offer_idYes
approval_tokenNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.7/5.0
Behavior4/5

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

The description adds meaningful behavioral context beyond the annotations: without approval_token the tool only proposes and returns a pending_action_id, and passenger details are fixed by the server's fake-passenger config. This clarifies the approval-gated behavior and data limitations.

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?

Two compact sentences carry all the essential information, with the critical approval-token conditional front-loaded. There is no filler or redundant restating of the 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?

Given that an output schema exists and annotations already signal mutating/destructive behavior, the description is largely complete: it identifies the required offer_id, optional approval_token, proposal behavior, and passenger limitation. It falls short only in not explaining how the returned pending_action_id connects to approval flows like request_approval.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains the effect of approval_token (proposal vs. booking) and that passenger details cannot be supplied, but it never defines what offer_id refers to or where the offer comes from, leaving a required parameter underspecified.

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?

The description opens with a specific verb and resource: 'Book a new flight.' This clearly distinguishes it from the sibling get/quote/confirm/cancel toolsuation and states the primary action without ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance about when to use this tool versus alternatives such as request_approval, quote_cancellation, or confirm_order_change. The intended use must be inferred from the tool name and the phrase 'Book a new flight,' with no exclusions or next-step guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.