No-key travel MCP for Claude Desktop, Codex-style agents, Hermes, and other clients. Provides travel search, airport lookup, route comparison, and booking link generation without requiring authentication.
Travel Assistant MCP demonstrates solid tool design with clear naming, comprehensive descriptions, and well-structured schemas. All 5 tools follow verb_noun convention (search_, get_, compare_, build_, explain_). Descriptions are detailed (150-250 chars) and include usage guidance and prerequisites. Input schemas are complete with proper types and descriptions. Tool annotations (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) are correctly applied. However, output schemas are not documented, LLMs cannot predict response structure. Error handling is absent, no guidance on retryability, user-fixable errors, or recovery paths. Parameter descriptions could be more prescriptive about constraints (e.g., IATA code format, date validation). The build_booking_link tool has empty required array, which is unusual and may confuse LLMs about whether parameters are truly optional.
Generate only an external booking link for an already chosen route. Use after route details are known or after compare_routes/search_travel_options; do not use as the first step when the user still needs search guidance. Read-only, no authentication, no booking completion, and no reservation side effects. The returned link may be commission-eligible and is disclosed in output.
Compare two or more airport route pairs side by side. Use when the user is choosing between alternate origins, destinations, or airports; use search_travel_options for one dated route and get_airport_info for a single airport lookup. Read-only, no authentication, no booking side effects. Responses may include commission-eligible external booking links for each route.
Explain general travel timing and logistics, including booking windows, airport arrival timing, layovers, and seasonal considerations. Use for advice questions like when to book or how early to arrive; use search_travel_options when the user wants route-specific flight search. Read-only, no authentication, no external booking link, and no booking side effects.
Look up metadata for one airport by IATA code. Use to validate or explain a single airport code before route planning; use search_travel_options for an actual trip search and compare_routes for multiple origin-destination pairs. Read-only, no authentication, no external booking links, and no booking side effects.
Output schemas not documented. LLMs cannot predict response structure, fields, or types. Agents cannot plan downstream tool calls or extract required data reliably.
No error handling guidance. Tools lack recovery hints, retryability classification, or actionable error messages. If a search fails or airport code is invalid, LLM has no guidance on next steps.
build_booking_link has empty required array (required: []) despite having meaningful parameters. This signals to LLMs that all parameters are optional, but origin/destination are logically required for a booking link. Ambiguous parameter optionality.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 64 | 2026-07-28+ | v2 |
Primary travel search workflow for one origin-destination airport pair. Use when the user wants flight/trip options for a specific route; use compare_routes for multiple routes, build_booking_link only when route details are already known, and get_airport_info only to validate one airport. Read-only, no authentication, no booking side effects. return_date is optional; omit it for one-way trips. Responses include route metadata and may include commission-eligible external booking links.
Parameter descriptions lack prescriptive constraints. 'Origin airport IATA code' does not state format (3 uppercase letters), validation rules, or examples of invalid input. LLMs cannot self-correct invalid codes without explicit constraints.
No pagination or result-limiting guidance. search_travel_options and compare_routes may return large result sets. No documented limit, offset/page parameters, or guidance on handling thousands of routes.