Skip to main content
Glama
swiftyspiffy

Flighty MCP

by swiftyspiffy

update_ticket

Update a flight ticket's booking reference, seat, cabin class, or reason while preserving existing ticket fields.

Instructions

Update booking reference/seat/cabin/reason while preserving known existing ticket fields.

fields accepts pnr, seatNumber, seatPosition, cabinClass, flightReason. Inspect RemoteTicket enums with get_schema. Reads fresh ticket data before merging the provided fields; does not claim server patch semantics. Requires writes enabled.

Input Schema

NameRequiredDescriptionDefault
fieldsYes
flight_idYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly=false, destructive=false and non-idempotent, so the bar is lower, and the description adds genuine context beyond them: it reads fresh ticket data before merging, preserves existing known fields rather than replacing them, and disclaims server-side patch semantics. The "requires writes enabled" note supplies an authorization precondition annotations do not express. It still does not say what happens on a field conflict or the failure mode when writes are disabled.

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 mutation and its field list are front-loaded in the first two sentences, and the read-before-merge caveat follows logically. Almost every sentence earns its place, though "does not claim server patch semantics" is meta-commentary about documentation rather than about the tool's behavior and is the weakest line.

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?

An output schema exists, so return values need not be explained, and the description covers the hard part: an opaque nested free-form `fields` object, the enum source, merge-vs-replace semantics, and the writes-enabled precondition. What remains missing is guidance on invalid keys or partial failures, which matters for a non-idempotent mutation.

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 0% and `fields` is a bare free-form object with additionalProperties=true and no documented keys, so the description carries the full burden. It discharges that well by listing the five accepted keys (pnr, seatNumber, seatPosition, cabinClass, flightReason) and pointing to get_schema for the enum value sets. It loses a point for leaving per-field value formats and `flight_id` unaddressed.

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 description uses a specific verb ("Update") with a named resource (ticket) and enumerates the mutated fields (booking reference, seat, cabin, reason), so the agent knows exactly what changes. It stops short of naming a sibling it is not — apply_changes and upsert_manual_flight overlap in scope and are never mentioned — so it misses the 5 mark.

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

Usage Guidelines3/5

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

It gives two concrete preconditions: inspect RemoteTicket enums via get_schema first, and writes must be enabled. That is real routing guidance toward a sibling tool. However, there is no statement of when to prefer this over apply_changes, upsert_manual_flight, or set_flight_note, so the when-to-use decision is only implied.

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