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

TableJSON 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)
originLatitudeNoDeparture latitude
originLocationNoDeparture location name (FLIGHT/TRANSPORT only)
originLongitudeNoDeparture longitude
bookingReferenceNoBooking reference number
confirmationNumberNoConfirmation number

Schema Changelog

Changes observed during successful MCP inspections.

  1. 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."
      +}
  2. First observed

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, so the description doesn't need to cover safety. The description adds a valuable behavioral detail: automatic geocoding when an address is updated without coordinates. This is non-obvious and helps the agent anticipate side effects. However, it doesn't disclose other behaviors like partial-update semantics or error handling, but the bar is lower given the annotations.

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?

The description is a single sentence that is both concise and informative. It states the core action and adds a relevant behavioral caveat without any fluff. Every word earns its place, making it highly efficient for an agent to parse.

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

Completeness3/5

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

Given the tool has 25 parameters and no output schema, the description is minimal. It doesn't clarify whether the update is partial (only provided fields are changed) or whether omitted fields are reset. It also doesn't mention error cases like non-existent itemId. The schema descriptions are thorough, but for a complex mutation tool, the description should state the update semantics to avoid misinterpretation.

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 all 25 parameters have descriptions. The tool description's geocoding note is redundant because the schema already states 'will be geocoded if no coordinates provided' for both address and originAddress. The description adds no new meaning to parameters beyond what the schema provides, so a baseline of 3 is appropriate.

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 clearly states the tool updates a trip item, providing a specific verb and resource. It doesn't explicitly differentiate from sibling update tools like trip_note_update or trip_update, but the resource 'trip item' is unambiguous given the name. The geocoding note adds a specific behavior but doesn't contrast with alternatives.

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?

The description gives no guidance on when to use this tool versus alternatives. There is no mention of prerequisites, conditions, or exclusions. An agent must infer that this is the general update tool for trip items based solely on the name, without any explicit routing to or from siblings.

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.