Skip to main content
Glama

Search Trips (Deprecated)

search_trips
Read-only

Deprecated: prefer search_ferry_trips, which covers this tool plus round-trip and multi-leg search and per-segment availability flags. Get a list of available one-way ferry trips between two ports on a specific date.

Input Schema

NameRequiredDescriptionDefault
dateYesDeparture date in ISO format YYYY-MM-DD (e.g. 2026-03-15).
arrivalLocationYesArrival location as a human-readable name or search term (e.g. city, port name), not a port code.
departureLocationYesDeparture location as a human-readable name or search term (e.g. city, port name), not a port code.

Output Schema

NameRequiredDescriptionDefault
foundDirectItinerariesForTripYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • removedInput schema / additionalProperties
      Removed value: -false
    • changedOutput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • addedOutput schema / properties / foundDirectItinerariesForTrip / items / properties / segments / items / properties / arrivalDateTime / pattern
      Added value: +"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
    • addedOutput schema / properties / foundDirectItinerariesForTrip / items / properties / segments / items / properties / departureDateTime / pattern
      Added value: +"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
  2. Changed7 schema fields changed
    • removedOutput schema / properties / foundDirectItinerariesForTrip / items / properties / segments / items / properties / marketingCompany / additionalProperties
      Removed value: -false
    • addedOutput schema / properties / foundDirectItinerariesForTrip / items / properties / segments / items / properties / marketingCompany / anyOf
      Added value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "iconURL": {
      +        "format": "uri",
      +        "type": "string"
      +      },
      +      "name": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "name",
      +      "iconURL"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / foundDirectItinerariesForTrip / items / properties / segments / items / properties / marketingCompany / properties
      Removed value: -{
      -  "iconURL": {
      -    "format": "uri",
      -    "type": "string"
      -  },
      -  "name": {
      -    "type": "string"
      -  }
      -}
    • removedOutput schema / properties / foundDirectItinerariesForTrip / items / properties / segments / items / properties / marketingCompany / required
      Removed value: -[
      -  "name",
      -  "iconURL"
      -]
    • removedOutput schema / properties / foundDirectItinerariesForTrip / items / properties / segments / items / properties / marketingCompany / type
      Removed value: -"object"
    • changedOutput schema / properties / foundDirectItinerariesForTrip / items / properties / segments / items / properties / ownerCompany / description
      Previous value: -"This is the original owner of the vessel. This company's code is the one that should be used in the proceeding booking flow."New value: +"This is the original owner of the vessel."
    • changedOutput schema / properties / foundDirectItinerariesForTrip / items / properties / segments / items / required
      Previous value: -[
      -  "vehicleIsMandatory",
      -  "departurePort",
      -  "arrivalPort",
      -  "departureDateTime",
      -  "arrivalDateTime",
      -  "ownerCompany",
      -  "marketingCompany",
      -  "vessel",
      -  "accommodations"
      -]New value: +[
      +  "vehicleIsMandatory",
      +  "departurePort",
      +  "arrivalPort",
      +  "departureDateTime",
      +  "arrivalDateTime",
      +  "ownerCompany",
      +  "vessel",
      +  "marketingCompany",
      +  "accommodations"
      +]
  3. Changed2 schema fields changed
    • addedOutput schema / properties / foundDirectItinerariesForTrip / items / properties / segments / items / properties / vehicleIsMandatory
      Added value: +{
      +  "type": "boolean"
      +}
    • changedOutput schema / properties / foundDirectItinerariesForTrip / items / properties / segments / items / required
      Previous value: -[
      -  "departurePort",
      -  "arrivalPort",
      -  "departureDateTime",
      -  "arrivalDateTime",
      -  "ownerCompany",
      -  "marketingCompany",
      -  "vessel",
      -  "accommodations"
      -]New value: +[
      +  "vehicleIsMandatory",
      +  "departurePort",
      +  "arrivalPort",
      +  "departureDateTime",
      +  "arrivalDateTime",
      +  "ownerCompany",
      +  "marketingCompany",
      +  "vessel",
      +  "accommodations"
      +]
  4. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "foundDirectItinerariesForTrip": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "deepLink": {
      +            "description": "A redirection URL to the search results page for the user to proceed to the booking flow",
      +            "format": "uri",
      +            "type": "string"
      +          },
      +          "hasETicket": {
      +            "description": "Whether e-ticket/mobile boarding is available for this trip.",
      +            "type": "boolean"
      +          },
      +          "hasPets": {
      +            "description": "Whether pets are allowed on this trip. True if petPolicy.type is NOTICKET or TICKET.",
      +            "type": "boolean"
      +          },
      +          "hasVehicles": {
      +            "description": "Whether vehicle options are available for this trip.",
      +            "type": "boolean"
      +          },
      +          "segments": {
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "accommodations": {
      +                  "description": "Each segment has a list of available accommodations. The accommodation selection will be common for all passengers.",
      +                  "items": {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "expectedPrice": {
      +                        "additionalProperties": false,
      +                        "properties": {
      +                          "totalPriceInCents": {
      +                            "type": "number"
      +                          }
      +                        },
      +                        "required": [
      +                          "totalPriceInCents"
      +                        ],
      +                        "type": "object"
      +                      },
      +                      "type": {
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "type",
      +                      "expectedPrice"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                "arrivalDateTime": {
      +                  "description": "Date time is in local time of port. Date time format is 2023-11-29T11:25:00+02:00, including the difference with UTC time",
      +                  "format": "date-time",
      +                  "type": "string"
      +                },
      +                "arrivalPort": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "name": {
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "name"
      +                  ],
      +                  "type": "object"
      +                },
      +                "departureDateTime": {
      +                  "description": "Date time is in local time of port. Date time format is 2023-11-29T11:25:00+02:00, including the difference with UTC time",
      +                  "format": "date-time",
      +                  "type": "string"
      +                },
      +                "departurePort": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "name": {
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "name"
      +                  ],
      +                  "type": "object"
      +                },
      +                "marketingCompany": {
      +                  "additionalProperties": false,
      +                  "description": "Marketing company is the one managing this trip segment. This company and its logo should be used in UI and client side information and displays.",
      +                  "properties": {
      +                    "iconURL": {
      +                      "format": "uri",
      +                      "type": "string"
      +                    },
      +                    "name": {
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "name",
      +                    "iconURL"
      +                  ],
      +                  "type": "object"
      +                },
      +                "ownerCompany": {
      +                  "additionalProperties": false,
      +                  "description": "This is the original owner of the vessel. This company's code is the one that should be used in the proceeding booking flow.",
      +                  "properties": {
      +                    "name": {
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "name"
      +                  ],
      +                  "type": "object"
      +                },
      +                "vessel": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "name": {
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "name"
      +                  ],
      +                  "type": "object"
      +                }
      +              },
      +              "required": [
      +                "departurePort",
      +                "arrivalPort",
      +                "departureDateTime",
      +                "arrivalDateTime",
      +                "ownerCompany",
      +                "marketingCompany",
      +                "vessel",
      +                "accommodations"
      +              ],
      +              "type": "object"
      +            },
      +            "type": "array"
      +          }
      +        },
      +        "required": [
      +          "segments",
      +          "hasVehicles",
      +          "hasPets",
      +          "hasETicket",
      +          "deepLink"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "foundDirectItinerariesForTrip"
      +  ],
      +  "type": "object"
      +}
  5. First observed

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so safety and external-lookup behavior are covered without description help. The description usefully adds the deprecation lifecycle status, but says nothing about result limits, pagination, or ordering, and nothing beyond the schema's implicit one-way scope.

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 sentences with no filler, and the deprecation plus alternative lead the text so an agent sees the routing signal first. Every clause earns its place.

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?

With an output schema present and annotations covering the read-only/open-world profile, the description need not explain return values, and the deprecation context is the key addition. It stops just short of noting result volume or whether the search is exhaustive, a minor gap for an open-world search tool.

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 three parameters (departureLocation, arrivalLocation, date) are already fully documented with format examples and the 'not a port code' constraint. The description adds only the 'one-way' framing and does not extend parameter 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource ('Get a list of available one-way ferry trips between two ports on a specific date') and explicitly contrasts itself with the sibling search_ferry_trips (which adds round-trip, multi-leg, and per-segment availability). An agent can distinguish the two without reading either schema.

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?

The opening sentence states the tool is deprecated and names the preferred alternative along with exactly what the alternative offers that this one does not, giving an explicit routing decision. When-not guidance and the alternative are both present and front-loaded.

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