Skip to main content
Glama

Plan a trip

anywayr_plan_trip
Idempotent

Saves a private trip and returns its real trip_url immediately; completed means saved, not itinerary ready. Before calling, confirm a city or named stay destination (not a country) and its exact local arrival/check-out dates; ask one combined question if those are missing or an overseas departure day is ambiguous. Do not save a placeholder draft first. Use one destination_ref or confirmed segments for 2–5 contiguous cities. Dates and travelers are required; budget is optional. Keep the wider journey and undecided stops in planning_context; never save guesses as preferences. A whole-trip budget is a ceiling, not a hotel rate: use wider_journey when it covers the wider trip, even if only Japan is saved; do not narrow it to saved_trip without the traveler saying so. Private context and ceiling metadata have no edit operation or website editor. Share trip_url and saved_scope first. Poll only if the host can actually wait planning_progress.poll_after_ms, for at most 60 seconds; otherwise return the current phase. Stop on ready, failed or unknown. Never promise a completion time or a later callback. It does not invite, hold inventory or spend money. Effects: Creates one private draft trip per request key and runs trip research (model and provider cost).

Input Schema

NameRequiredDescriptionDefault
briefYes
partyNo
budgetNo
segmentsNoConfirmed cities in travel order with contiguous local check-in/check-out dates. Unchosen stops belong in planning_context.undecided_stops.
arrival_atNo
date_rangeNoConfirmed local first-night/check-out dates at the destination, not an unconfirmed overseas departure date. Ask before calling when arrival day is ambiguous.
request_keyYesAny unique string of 16-128 characters you generate (letters, digits and . _ : -). Reuse the same key only to retry the exact same request.
departure_atNo
planning_budgetNo
destination_refsNoOne confirmed city or named stay destination from anywayr_resolve_destination, never a country placeholder. For multiple cities use segments.
planning_contextNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only cover the generic safety profile (readOnlyHint=false, idempotentHint=true, openWorldHint=true, destructiveHint=false). The description adds what the annotations cannot: one private draft per request_key, immediate trip_url, that the call incurs model and provider cost, that private context/ceiling metadata has no edit or web editor, and that the tool does not invite, hold inventory or spend money.

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?

Front-loaded with purpose and the key 'completed means saved' clarification, and most sentences carry a distinct rule. It is dense and several sentences pack multiple semicolon-joined rules, which makes it harder to scan, but given 11 nested parameters and no output schema there is little 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 no output schema, the description supplies the return contract itself: immediate trip_url, a phase-based planning status, poll_after_ms, and terminal states (ready/failed/unknown). It also tells the agent what to surface first (trip_url and saved_scope) and what not to promise (completion time, callbacks), which is complete for a complex write-and-research tool.

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 description coverage is only 36% across 11 parameters (many nested), so the description carries real weight and does: it explains destination_refs vs segments ('one destination_ref or confirmed segments for 2-5 contiguous cities'), that dates and travelers are required and budget optional, that undecided stops belong in planning_context, and it disambiguates budget scope (whole-trip ceiling is 'not a hotel rate'; use wider_journey unless the traveler narrows it). It does not explicitly cover 'brief' or 'party', but adds substantial meaning 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 opening sentence gives a specific verb and resource ('Saves a private trip and returns its real trip_url immediately') and immediately disambiguates the word 'completed' for this tool. An agent can distinguish it from anywayr_get_trip, anywayr_update_trip and anywayr_list_trips without opening any 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?

Explicit preconditions are given ('confirm a city or named stay destination (not a country) and its exact local arrival/check-out dates', 'ask one combined question if those are missing'), along with a prohibition ('Do not save a placeholder draft first') and a routing rule ('Use one destination_ref or confirmed segments for 2-5 contiguous cities'). Polling guidance names the condition and the cap (poll_after_ms, at most 60 seconds) and stop states.

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