Skip to main content
Glama

Generate Itinerary from Places

generate_itinerary_from_places

Give at least 3 places plus optional traveller preferences and let the AI concierge build a full, bespoke day-by-day itinerary. It mines Iconic Expeditions content for real detail and synthesizes an ORIGINAL plan tailored to the guest (never a copy of a published itinerary). Attributed to the Iconic Expeditions account and made public. Returns immediately with the itinerary id + share link; poll get_itinerary for progress (generation_status: pending -> building -> complete). Requires a bearer token.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
titleYesItinerary title, e.g. 'Highlights of Zimbabwe'
placesYesAt least 3 place names, e.g. ['Victoria Falls', 'Hwange', 'Mana Pools']
languageNoLanguage for day titles, notes, and activity text: 'en' (English), 'ru' (Russian), or 'zh' (Chinese). Defaults to English.
num_daysYesNumber of days for the trip
preferencesNoTraveller preferences that should shape the plan: pace, interests, budget, travel style

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description carries the full behavioral burden. It discloses key behaviors: the tool is asynchronous (returns immediately with an ID, requires polling get_itinerary), it creates original plans (never copies), and it's attributed to a specific account and made public. The generation progress states are provided. This is strong transparency.

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?

The description is a single, focused paragraph that front-loads the core action and input requirements. It efficiently packs behavioral notes (asynchronous, originality, attribution) and output expectations. A minor reward could be given for structuring into logical clauses, but it could be slightly more terse.

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?

Given the tool's complexity (5 params, async with polling, no output schema), the description covers the essential interaction flow: inputs -> immediate response -> polling mechanism. It doesn't need to explain return values since get_itinerary (a sibling) likely covers the output schema, but it could explicitly mention that the returned share link is part of the immediate response.

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. The description adds value by clarifying the 'places' parameter's usage ('at least 3'), explaining what 'preferences' means ('pace, interests, budget, travel style'), and that 'language' uses a three-letter code. This provides context beyond the schema field descriptions.

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 clearly states the tool's purpose: given user places and preferences, it builds a bespoke itinerary. It uses specific verbs ('builds,' 'mines,' 'synthesizes') and distinguishes itself from siblings like 'create_itinerary' (which likely creates an empty shell) and 'update_itinerary'.

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?

The description explains when to use the tool: when the user has at least 3 places and optional preferences. It doesn't explicitly say when not to use it or compare to 'get_itinerary', but the context of building vs. polling is implied. Requires a bearer token usage context is mentioned.

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.

TDQS

A3.7/5.0
Disambiguation5/5

Every tool targets a distinct operation or resource: create, read, update, delete for itineraries; add/delete for activities and days; content/destination retrieval; pricing and booking services. The two aliases are explicitly marked as backward-compatible, so agents can still distinguish them.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case (e.g., create_itinerary, delete_activity, get_itinerary_dossier). Even the aliases (get_wp_content, search_wp_content) adhere to the same convention, ensuring predictability.

Tool Count4/5

23 tools is on the higher side but justified by the domain's complexity: itinerary CRUD, day/activity management, content search, destination lookup, pricing, booking services, and dossier handling. Each tool serves a clear purpose, though minor consolidation could be possible.

Completeness4/5

Covers the full lifecycle for itineraries and most related entities. Missing operations like updating or deleting a day, or updating an activity, are minor gaps that agents can work around by recreating or using get_itinerary. The planning dossier and booking request tools add depth.

Resources