Skip to main content
Glama

Plan a multi-stop trip

plan_trip
Read-onlyIdempotent

Use this when the user plans a trip with several stops. Returns hotels for each stay in travel order (e.g. Lisbon 4 nights, Porto 3, Madrid 5): the best match for each stop by the OKstays Comfort Score (or the travel style's score), alternatives, the stay dates and an indicative total. Each hotel link opens its OKstays page with the stop's dates, so its Book Now button books those nights. Agree the stops and nights with the user first; list_cities shows which destinations of a country we cover. Read-only, no sign-in.

Input Schema

NameRequiredDescriptionDefault
tagsNoFilters every hotel must score 8+ on, as in search_hotels.
stopsYesThe trip's stops in order.
adultsNoGuests per room (default 2).
personaNoTravel style for every stop: digital-nomad, deep-sleep, avoid-crowds, romantic, family, business, solo-safe, luxury, budget-comfort, long-stays.
max_priceNoMaximum indicative price per night in USD.
min_scoreNoMinimum Comfort Score (0-10).
start_dateNoCheck-in date of the first stop, YYYY-MM-DD; each stop starts when the one before ends. Without it, no dates are set.
alternativesNoOther options per stop (default 2).
property_typeNoproperty_type: hotels (default), apartments, hostels or any. hotels includes guest houses, B&Bs, aparthotels and resorts; apartments includes holiday homes, villas and homestays; any adds every kind, boats and campsites too. The long-stays persona defaults to any.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / property_type
      Added value: +{
      +  "description": "property_type: hotels (default), apartments, hostels or any. hotels includes guest houses, B&Bs, aparthotels and resorts; apartments includes holiday homes, villas and homestays; any adds every kind, boats and campsites too. The long-stays persona defaults to any.",
      +  "enum": [
      +    "hotels",
      +    "apartments",
      +    "hostels",
      +    "any"
      +  ],
      +  "type": "string"
      +}
  2. Changed1 schema field changed
    • changedInput schema / properties / persona / description
      Previous value: -"Travel style for every stop: digital-nomad, deep-sleep, avoid-crowds, romantic, family, business, solo-safe, luxury, budget-comfort."New value: +"Travel style for every stop: digital-nomad, deep-sleep, avoid-crowds, romantic, family, business, solo-safe, luxury, budget-comfort, long-stays."
  3. Added

TDQS

A4.7/5.0
Behavior5/5

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

Despite annotations already covering read-only/idempotent safety, the description adds substantial behavior beyond them: results ordered by travel sequence, best match chosen by Comfort Score or the travel style's score, alternatives, stay dates, indicative totals, and the deep-link behavior where each hotel link carries the stop's dates so its Book Now button books those nights. 'No sign-in' is also extra context not in 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?

Five short sentences, each doing distinct work: trigger, return shape, link behavior, prerequisite, sibling pointer, and safety. The important scope and return information is front-loaded with no filler.

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?

With 9 parameters, no output schema, and rich annotations, the description fills the key gaps: what is returned per stop, how dates chain, how ranking works, and the confirmation prerequisite. 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.

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds meaning beyond it: persona drives which score ranks hotels, and start_date is chained so each stop begins when the previous ends. It also reinforces ordering of stops and the need to settle nights with the user, though it does not explain per-parameter defaults or limits beyond the schema.

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 states a specific verb and resource ('plan a multi-stop trip', 'returns hotels for each stay in travel order') and its multi-stop scope implicitly separates it from single-city siblings like search_hotels. An agent can identify the tool's job without opening the schema.

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

Usage Guidelines4/5

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

It gives explicit triggering context ('when the user plans a trip with several stops'), a prerequisite ('agree the stops and nights with the user first'), and routes coverage questions to list_cities. It lacks an explicit when-not / alternative for a single-destination search (search_hotels), so it falls short of the 5 bar.

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.