Skip to main content
Glama

Ask Vuelo for a change after paying

request_change

A change to a paid booking, which no tool can make directly: a name on a ticket goes through the airline, and new dates or flights are re-booked by Vuelo's team. Sends the change typed, so the team acts on exactly what the traveller wants, and returns a ticket reference and reply time to tell them. Nothing changes until the team does it, so never say it has. kind passenger_details: passenger (position, from 1), field (name, date_of_birth, title or gender) and new_value (a name exactly as on the passport, or YYYY-MM-DD). kind dates: new_from and new_to. kind flight: which (outbound or return) and new_value. kind special_request (a request to the hotel): request (late_check_in, early_check_in, accessibility, cot, connecting_rooms, bed_type, dietary or other), new_value for a time or bed (e.g. 'arriving 23:30', 'twin beds') and notes; the hotel decides, so say it has been asked for, never that it is confirmed. kind room or other: notes. Before paying, use update_travellers or book again instead. By the Vuelo reference (VU-...) and the email or mobile it was booked with.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "reference": "<reference>",
      "change": "<change>"
    },
    "name": "request_change"
  }
}

Input Schema

NameRequiredDescriptionDefault
emailNoThe email the traveller booked with.
changeYesWhat should change.
mobileNoOr the mobile on the booking, instead of the email.
referenceYesThe Vuelo booking reference, VU-...

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / change / properties / kind / enum
      Previous value: -[
      -  "passenger_details",
      -  "flight",
      -  "dates",
      -  "room",
      -  "other"
      -]New value: +[
      +  "passenger_details",
      +  "flight",
      +  "dates",
      +  "room",
      +  "special_request",
      +  "other"
      +]
    • addedInput schema / properties / change / properties / request
      Added value: +{
      +  "description": "For kind special_request: what to ask the hotel for.",
      +  "enum": [
      +    "late_check_in",
      +    "early_check_in",
      +    "accessibility",
      +    "cot",
      +    "connecting_rooms",
      +    "bed_type",
      +    "dietary",
      +    "other"
      +  ],
      +  "type": "string"
      +}
  2. Added

TDQS

A4.9/5.0
Behavior5/5

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

Goes well beyond the annotations, which already mark this as a non-read-only, open-world, non-idempotent, non-destructive operation. It discloses that nothing changes until Vuelo's team acts, that the tool returns a ticket reference and reply time, that the team acts on the typed change, and that hotel special requests are only asked for, not confirmed.

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 dense and front-loads the core concept and alternatives, with no clearly wasted sentences. Its inline 'kind ...' enumeration is efficient but less scannable than a short list, which is the only minor structural weakness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex nested-schema, no-output-schema, open-world request tool, it covers purpose, alternatives, parameter usage by change type, expected behavior, and return information. Nothing essential for correct invocation is missing.

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

Parameters5/5

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

Although schema coverage is 100%, the description adds substantial conditional semantics: it explains which fields belong to each kind, that passenger positions start at 1, that new_value should be a passport-exact name or YYYY-MM-DD, and gives examples for special request values. This helps an agent populate the nested change object correctly.

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 action (request a change to a paid booking) and scope, and explicitly distinguishes it from siblings by noting that no tool can make the change directly and by naming update_travellers and book-again alternatives. The per-kind breakdown makes the resource precise.

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 explicit when-to-use and when-not-to-use guidance: before paying, use update_travellers or book again instead. It also routes each change kind (passenger details, dates, flight, special request, room/other) to the relevant parameters and expectations.

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