Skip to main content
Glama

trip_item_update

Update a trip item. If address is updated without coordinates, it will be automatically geocoded.

Input Schema

NameRequiredDescriptionDefault
dateNoDate (YYYY-MM-DD)
nameNoItem name
notesNoAdditional notes
itemIdYesItem ID
statusNoItem status. Canonical values: IDEA, SHORTLISTED, BOOKED, COMPLETED, CANCELLED. Legacy aliases accepted: RESEARCHED→SHORTLISTED, CONFIRMED→BOOKED.
addressNoFull address (will be geocoded if no coordinates provided)
endDateNoEnd date for multi-day items (YYYY-MM-DD). Set to null to convert back to single-day.
timeEndNoEnd time (HH:MM)
latitudeNoLatitude (set to null to clear)
locationNoLocation/arrival name
priorityNoPriority level
timezoneNoIANA timezone for this item (e.g., "Europe/London")
longitudeNoLongitude (set to null to clear)
timeStartNoStart time (HH:MM)
bookingUrlNoBooking URL (http/https)
costActualNoActual cost paid
descriptionNoDetailed description
timezoneEndNoArrival timezone for FLIGHT/TRANSPORT items (e.g., "America/New_York"). Set to null to match departure timezone.
costEstimateNoEstimated cost
originAddressNoDeparture address (will be geocoded if no coordinates provided)
transportModeNoChange a TRANSPORT item's transport mode (TRANSPORT only, rejected on FLIGHT). Aliases accepted: tube→metro, flight→plane. Takes precedence over the automatic re-inference a name change triggers. Clears the item's route (recomputed in the background) and, on a road-to-non-road change, its stops.
originLatitudeNoDeparture latitude
originLocationNoDeparture location name (FLIGHT/TRANSPORT only)
originLongitudeNoDeparture longitude
bookingReferenceNoBooking reference number
confirmationNumberNoConfirmation number

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / transportMode
      Added value: +{
      +  "description": "Change a TRANSPORT item's transport mode (TRANSPORT only, rejected on FLIGHT). Aliases accepted: tube→metro, flight→plane. Takes precedence over the automatic re-inference a name change triggers. Clears the item's route (recomputed in the background) and, on a road-to-non-road change, its stops.",
      +  "enum": [
      +    "walk",
      +    "cycle",
      +    "scooter",
      +    "car",
      +    "taxi",
      +    "bus",
      +    "train",
      +    "tram",
      +    "metro",
      +    "ferry",
      +    "plane",
      +    "tube",
      +    "flight"
      +  ],
      +  "type": "string"
      +}
  2. Changed14 schema fields changed
    • addedInput schema / properties / address
      Added value: +{
      +  "description": "Full address (will be geocoded if no coordinates provided)",
      +  "type": "string"
      +}
    • addedInput schema / properties / bookingUrl
      Added value: +{
      +  "description": "Booking URL (http/https)",
      +  "type": "string"
      +}
    • addedInput schema / properties / costEstimate
      Added value: +{
      +  "description": "Estimated cost",
      +  "type": "number"
      +}
    • addedInput schema / properties / endDate
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "End date for multi-day items (YYYY-MM-DD). Set to null to convert back to single-day."
      +}
    • addedInput schema / properties / latitude
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Latitude (set to null to clear)"
      +}
    • addedInput schema / properties / location
      Added value: +{
      +  "description": "Location/arrival name",
      +  "type": "string"
      +}
    • addedInput schema / properties / longitude
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Longitude (set to null to clear)"
      +}
    • addedInput schema / properties / originAddress
      Added value: +{
      +  "description": "Departure address (will be geocoded if no coordinates provided)",
      +  "type": "string"
      +}
    • addedInput schema / properties / originLatitude
      Added value: +{
      +  "description": "Departure latitude",
      +  "type": "number"
      +}
    • addedInput schema / properties / originLocation
      Added value: +{
      +  "description": "Departure location name (FLIGHT/TRANSPORT only)",
      +  "type": "string"
      +}
    • addedInput schema / properties / originLongitude
      Added value: +{
      +  "description": "Departure longitude",
      +  "type": "number"
      +}
    • addedInput schema / properties / priority
      Added value: +{
      +  "description": "Priority level",
      +  "enum": [
      +    "MUST_DO",
      +    "HIGH",
      +    "MEDIUM",
      +    "LOW"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / timezone
      Added value: +{
      +  "description": "IANA timezone for this item (e.g., \"Europe/London\")",
      +  "type": "string"
      +}
    • addedInput schema / properties / timezoneEnd
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Arrival timezone for FLIGHT/TRANSPORT items (e.g., \"America/New_York\"). Set to null to match departure timezone."
      +}
  3. First observed

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare this is a non-read-only, non-destructive mutation, so the safety profile is covered. The description adds genuinely useful behavior beyond that: an address without coordinates triggers automatic geocoding. But it omits critical behavioral traits for a 26-parameter update, most notably whether omitted fields are left unchanged (partial patch) or reset, and what the response contains.

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?

Two short sentences, front-loaded with the core action and followed by the one non-obvious side effect. No wasted wording, though the terseness is under-specification rather than efficient density for a tool of this size.

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

Completeness2/5

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

For a 26-parameter mutation tool with no output schema, the description does far too little: it never explains partial-update behavior, which fields are mutually constrained (e.g., origin fields only for FLIGHT/TRANSPORT), whether updates are reversible, or what the tool returns. Only the geocoding side effect is surfaced as context.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter is already documented, including enums, legacy alias handling, null-to-clear semantics, and transportMode's route-clearing side effect. The description's address/coordinate geocoding note largely restates what the address parameter description already says, so it adds little meaning beyond the schema. Baseline 3 applies.

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?

States a specific verb+resource ("Update a trip item") that is unambiguous against siblings like trip_item_add, trip_item_delete, and trip_update. However, it does not explicitly name or differentiate itself from those siblings, leaving the agent to infer the boundary from the tool name alone.

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?

The description implies when this is used (mutating an existing trip item's fields) but offers no explicit when-to-use vs alternatives, no preconditions (e.g., the item must already exist), and no exclusions or notes about partial-update semantics versus trip_item_add or trip_update.

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.