{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"smithery_akekaratp-flights-mcp-ts","slug":"akekaratp-flights-mcp-ts","name":"Flight and Stay Search Server","type":"mcp","url":"https://smithery.ai/servers/AkekaratP/flights-mcp-ts","page_url":"https://unfragile.ai/akekaratp-flights-mcp-ts","categories":["mcp-servers"],"tags":["mcp","model-context-protocol","smithery:AkekaratP/flights-mcp-ts"],"pricing":{"model":"open_source","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"smithery_akekaratp-flights-mcp-ts__cap_0","uri":"capability://search.retrieval.one.way.flight.search.with.multi.criteria.filtering","name":"one-way flight search with multi-criteria filtering","description":"Searches for one-way flights between two airports using the Duffel API, accepting departure/arrival airports, date, passenger count, and cabin class preferences. The MCP server translates user parameters into Duffel API requests, returning structured flight offers with pricing, duration, stops, and airline details. Implements parameter validation and error handling for invalid airport codes or dates.","intents":["Find the cheapest one-way flight from New York to London on a specific date","Search for business-class one-way flights with specific passenger requirements","Compare multiple one-way flight options across different airlines and times","Get flight details including layovers, total duration, and baggage policies"],"best_for":["Travel booking platforms integrating flight search","LLM agents building conversational travel assistants","Backend services needing standardized flight data from multiple providers"],"limitations":["Duffel API rate limits apply — typically 100-1000 requests/minute depending on plan tier","Search results cached by Duffel for 5 minutes; real-time pricing updates require polling","Limited to airports and dates supported by Duffel's partner airlines","No direct access to airline-specific loyalty program pricing or seat maps"],"requires":["Duffel API key with flight search permissions","Valid IATA airport codes (e.g., LHR, JFK, CDG)","ISO 8601 date format for departure date","MCP client compatible with TypeScript/Node.js 18+"],"input_types":["structured JSON with departure_airport, arrival_airport, departure_date, passengers, cabin_class"],"output_types":["structured JSON array of flight offers with id, airline, price, duration, stops, departure/arrival times"],"categories":["search-retrieval","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_akekaratp-flights-mcp-ts__cap_1","uri":"capability://search.retrieval.round.trip.flight.search.with.return.date.flexibility","name":"round-trip flight search with return date flexibility","description":"Searches for round-trip flights by accepting outbound and return dates, applying the same multi-criteria filtering (cabin class, passenger count, airlines) to both legs. The server constructs two coordinated Duffel API requests and correlates results, returning paired flight offers with combined pricing and total journey duration. Supports flexible return dates within a date range.","intents":["Find round-trip flights with specific outbound and return dates","Search for round-trip flights with flexible return dates to minimize cost","Compare round-trip options across different cabin classes and airlines","Get total journey cost and duration for round-trip itineraries"],"best_for":["Vacation and leisure travel booking platforms","Travel agents building client-facing search interfaces","Chatbots handling multi-leg trip planning"],"limitations":["Return date must be after outbound date; no open-jaw itineraries (different return airport)","Flexible date search across date ranges requires multiple API calls, increasing latency","Duffel does not guarantee same airline for both legs; round-trip pricing may not equal sum of one-way prices","No direct support for multi-city round-trip patterns (e.g., NYC→London→Paris→NYC)"],"requires":["Duffel API key with flight search permissions","Valid IATA airport codes for departure and arrival","ISO 8601 dates for both outbound_date and return_date","MCP client with support for async tool execution"],"input_types":["structured JSON with departure_airport, arrival_airport, outbound_date, return_date, passengers, cabin_class"],"output_types":["structured JSON array of paired round-trip offers with outbound_flight, return_flight, total_price, total_duration"],"categories":["search-retrieval","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_akekaratp-flights-mcp-ts__cap_2","uri":"capability://search.retrieval.multi.city.flight.itinerary.search.with.sequential.routing","name":"multi-city flight itinerary search with sequential routing","description":"Constructs multi-leg flight itineraries by chaining multiple flight searches (e.g., NYC→London, London→Paris, Paris→NYC) with user-specified dates for each leg. The server validates routing logic (arrival airport of leg N matches departure of leg N+1), executes sequential Duffel API calls, and aggregates results into a single multi-city itinerary with cumulative pricing and duration. Supports 3+ cities with flexible date ranges per leg.","intents":["Plan a multi-city European tour with flights between 4+ cities","Search for complex itineraries like NYC→London→Paris→Amsterdam→NYC","Find the cheapest combination of flights across multiple legs with date flexibility","Get total cost and duration for a complete multi-city journey"],"best_for":["Complex travel itinerary platforms (Kiwix, Skyscanner multi-city mode)","Travel agents planning custom multi-destination trips","LLM agents handling open-ended travel planning conversations"],"limitations":["Requires explicit date specification for each leg; no automatic optimization across all legs","Sequential API calls introduce cumulative latency (3 legs = 3x single-flight search time)","No built-in constraint solver for minimizing total cost across all legs simultaneously","Duffel API does not natively support multi-city searches; server must orchestrate multiple one-way searches","No support for open-jaw itineraries where final destination differs from origin"],"requires":["Duffel API key with flight search permissions","Array of 3+ city pairs with IATA codes and ISO 8601 dates for each leg","Validation that arrival_airport of leg N equals departure_airport of leg N+1","MCP client supporting sequential async tool calls"],"input_types":["structured JSON array of legs, each with departure_airport, arrival_airport, departure_date, passengers, cabin_class"],"output_types":["structured JSON object with legs array (each containing flight offers), total_price, total_duration, routing_validation_status"],"categories":["search-retrieval","planning-reasoning","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_akekaratp-flights-mcp-ts__cap_3","uri":"capability://search.retrieval.flight.offer.detail.retrieval.with.expanded.booking.information","name":"flight offer detail retrieval with expanded booking information","description":"Retrieves detailed information for a specific flight offer by ID, including passenger-level pricing breakdown, baggage allowances, seat availability, cancellation policies, and airline-specific terms. The server calls Duffel's offer detail endpoint and enriches results with parsed policy text and fare rules. Returns comprehensive booking-ready information without requiring a separate booking step.","intents":["Get detailed baggage, seat, and cancellation policy information before booking","Retrieve passenger-level pricing breakdown (base fare, taxes, fees)","Check seat availability and seat map for a specific flight","Understand airline-specific terms and conditions for a flight offer"],"best_for":["Booking confirmation pages needing detailed offer information","Travel agents reviewing offer details with clients","LLM agents explaining flight details in natural language"],"limitations":["Offer details expire after 15 minutes; expired offers must be re-searched","Seat maps and real-time seat availability depend on airline API integration; not all airlines provide this","Baggage and cancellation policies are airline-defined; parsing may require manual updates when policies change","No direct access to ancillary services (seat selection, meal upgrades) pricing"],"requires":["Valid flight offer ID from a prior search result","Duffel API key with offer detail permissions","MCP client with support for single-object retrieval"],"input_types":["structured JSON with offer_id (string)"],"output_types":["structured JSON object with offer details: passengers array, price breakdown, baggage_allowance, seat_map, cancellation_policy, airline_terms"],"categories":["search-retrieval","data-processing-analysis","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_akekaratp-flights-mcp-ts__cap_4","uri":"capability://search.retrieval.accommodation.search.with.guest.reviews.and.ratings","name":"accommodation search with guest reviews and ratings","description":"Searches for accommodations (hotels, hostels, vacation rentals) using location, check-in/check-out dates, guest count, and room preferences. The server queries Duffel's accommodation API (or integrated partner like Booking.com), returning structured results with pricing, amenities, guest reviews, ratings, and availability. Supports filtering by price range, star rating, and amenity preferences (WiFi, parking, pool, etc.).","intents":["Find hotels in a city for specific dates with guest review ratings","Search for budget accommodations with specific amenities (WiFi, kitchen, parking)","Compare accommodation options by price, rating, and distance to landmarks","Get detailed reviews and photos for a specific hotel before booking"],"best_for":["Travel booking platforms bundling flights and hotels","Vacation rental aggregators","Travel chatbots handling end-to-end trip planning"],"limitations":["Accommodation availability and pricing vary by booking platform; Duffel may not have all properties","Guest reviews are aggregated from partner sources; review freshness and authenticity depend on source","No direct access to real-time room inventory or dynamic pricing models","Search results limited to accommodations with Duffel/partner integrations; independent properties may not appear","Filtering by complex amenity combinations requires multiple API calls"],"requires":["Duffel API key with accommodation search permissions","Valid location (city name, coordinates, or location ID)","ISO 8601 check-in and check-out dates","Guest count and room requirements","MCP client with support for complex filtering parameters"],"input_types":["structured JSON with location, check_in_date, check_out_date, guests, room_count, price_range, star_rating, amenities array"],"output_types":["structured JSON array of accommodations with id, name, price, rating, reviews array, amenities, photos, distance_to_center"],"categories":["search-retrieval","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_akekaratp-flights-mcp-ts__cap_5","uri":"capability://search.retrieval.accommodation.detail.retrieval.with.photos.reviews.and.policies","name":"accommodation detail retrieval with photos, reviews, and policies","description":"Retrieves comprehensive details for a specific accommodation by ID, including full photo gallery, guest review text and ratings, cancellation policies, house rules, and amenity descriptions. The server calls Duffel's accommodation detail endpoint and structures results for easy consumption by LLM agents or UI rendering. Includes aggregated review sentiment analysis if available.","intents":["Get full photo gallery and detailed description of a hotel before booking","Read guest reviews and ratings to assess accommodation quality","Understand cancellation and refund policies before committing","Check house rules and amenity details (check-in time, pet policy, etc.)"],"best_for":["Hotel detail pages in booking platforms","Travel chatbots explaining accommodation options in natural language","Vacation rental comparison tools"],"limitations":["Photo galleries may be large; loading all images increases latency and bandwidth","Guest reviews are text-heavy; LLM agents may need summarization for brevity","Cancellation policies vary by booking date and rate type; policies shown are for current search only","Review sentiment analysis not standardized across accommodation sources"],"requires":["Valid accommodation ID from a prior search result","Duffel API key with accommodation detail permissions","MCP client with support for large JSON responses (photo arrays, review text)"],"input_types":["structured JSON with accommodation_id (string)"],"output_types":["structured JSON object with accommodation details: photos array, reviews array (with text, rating, author), amenities, cancellation_policy, house_rules, contact_info"],"categories":["search-retrieval","data-processing-analysis","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_akekaratp-flights-mcp-ts__cap_6","uri":"capability://data.processing.analysis.price.comparison.and.fare.rule.analysis.across.flight.options","name":"price comparison and fare rule analysis across flight options","description":"Analyzes multiple flight offers from a search result to identify price trends, fare rules, and value propositions. The server compares base fares, taxes, fees, baggage allowances, and cancellation policies across options, returning a structured comparison with recommendations (cheapest, fastest, best value). Implements basic heuristics for value scoring (price per hour of travel, baggage flexibility, etc.).","intents":["Find the cheapest flight option among search results","Identify the fastest flight option with fewest stops","Compare value across options considering price, duration, and baggage","Understand fare rule differences (refundable vs. non-refundable) across airlines"],"best_for":["Travel booking UIs highlighting best-value options","LLM agents recommending flights based on user priorities","Travel agents comparing options with clients"],"limitations":["Value scoring heuristics are simplistic; does not account for user-specific preferences (airline loyalty, seat comfort, etc.)","Comparison requires multiple flight offers from same search; single-offer searches cannot be compared","Fare rule analysis limited to Duffel-provided data; airline-specific nuances may not be captured","No integration with historical price data for trend analysis"],"requires":["Array of 2+ flight offers from a search result","Duffel API key (for enriching offers with detail if needed)","MCP client supporting complex comparison logic"],"input_types":["structured JSON array of flight offers with price, duration, stops, baggage, cancellation_policy"],"output_types":["structured JSON object with comparison_results array, recommendations (cheapest, fastest, best_value), value_scores"],"categories":["data-processing-analysis","planning-reasoning","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_akekaratp-flights-mcp-ts__cap_7","uri":"capability://safety.moderation.parameter.validation.and.error.handling.for.travel.searches","name":"parameter validation and error handling for travel searches","description":"Validates all input parameters (airport codes, dates, passenger counts, cabin classes) before executing Duffel API calls, returning structured error messages for invalid inputs. Implements checks for date logic (return date after departure, check-out after check-in), passenger count limits, and supported cabin classes. Catches and translates Duffel API errors (rate limits, invalid airports, unavailable dates) into user-friendly messages.","intents":["Validate user input before making expensive API calls","Provide clear error messages when dates or airports are invalid","Handle API rate limits and quota errors gracefully","Prevent malformed requests from reaching the Duffel API"],"best_for":["LLM agents needing to validate user input before search","Travel booking platforms with strict input validation requirements","Chatbots handling user input from natural language"],"limitations":["Validation logic must be maintained in sync with Duffel API changes","Airport code validation requires a static list of valid IATA codes; new airports require updates","Date validation does not account for airline-specific blackout dates or seasonal restrictions","Error messages are generic; airline-specific error details may be lost in translation"],"requires":["Static list of valid IATA airport codes","Duffel API documentation for supported cabin classes and passenger limits","MCP client supporting structured error responses"],"input_types":["structured JSON with any travel search parameters (airports, dates, passengers, cabin_class)"],"output_types":["structured JSON with validation_status (valid/invalid), errors array (if invalid), warnings array (if applicable)"],"categories":["safety-moderation","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_akekaratp-flights-mcp-ts__cap_8","uri":"capability://tool.use.integration.mcp.tool.schema.definition.and.context.management","name":"mcp tool schema definition and context management","description":"Defines standardized MCP tool schemas for all flight and accommodation search capabilities, enabling LLM clients to discover and invoke tools with proper type hints and parameter documentation. The server implements MCP's tool_call and tool_result protocol, managing context across multiple search requests within a conversation. Handles tool invocation errors and provides structured responses compatible with Claude, ChatGPT, and other LLM clients.","intents":["Enable LLM agents to discover available flight and accommodation search tools","Provide type hints and parameter documentation for tool invocation","Maintain conversation context across multiple search requests","Handle tool invocation errors and return structured error responses"],"best_for":["LLM agents (Claude, ChatGPT, Llama) integrating travel search","MCP client implementations (e.g., Claude Desktop, custom agents)","Multi-turn travel planning conversations"],"limitations":["MCP schema must be manually updated when tool parameters change","Context management is stateless; conversation history must be maintained by the LLM client","No built-in persistence for search history or user preferences across sessions","Tool invocation latency depends on Duffel API response times; no caching of search results"],"requires":["MCP client compatible with TypeScript/Node.js 18+","LLM client supporting tool_call and tool_result protocol (Claude 3+, ChatGPT 4+)","Duffel API key for all tool invocations"],"input_types":["MCP tool_call messages with tool name and parameters"],"output_types":["MCP tool_result messages with structured JSON response or error"],"categories":["tool-use-integration","memory-knowledge"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":32,"verified":false,"data_access_risk":"moderate","permissions":["Duffel API key with flight search permissions","Valid IATA airport codes (e.g., LHR, JFK, CDG)","ISO 8601 date format for departure date","MCP client compatible with TypeScript/Node.js 18+","Valid IATA airport codes for departure and arrival","ISO 8601 dates for both outbound_date and return_date","MCP client with support for async tool execution","Array of 3+ city pairs with IATA codes and ISO 8601 dates for each leg","Validation that arrival_airport of leg N equals departure_airport of leg N+1","MCP client supporting sequential async tool calls"],"failure_modes":["Duffel API rate limits apply — typically 100-1000 requests/minute depending on plan tier","Search results cached by Duffel for 5 minutes; real-time pricing updates require polling","Limited to airports and dates supported by Duffel's partner airlines","No direct access to airline-specific loyalty program pricing or seat maps","Return date must be after outbound date; no open-jaw itineraries (different return airport)","Flexible date search across date ranges requires multiple API calls, increasing latency","Duffel does not guarantee same airline for both legs; round-trip pricing may not equal sum of one-way prices","No direct support for multi-city round-trip patterns (e.g., NYC→London→Paris→NYC)","Requires explicit date specification for each leg; no automatic optimization across all legs","Sequential API calls introduce cumulative latency (3 legs = 3x single-flight search time)","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.05,"quality":0.53,"ecosystem":0.38999999999999996,"match_graph":0.25,"freshness":0.5,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.15,"match_graph":0.23,"freshness":0.12}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-05-24T12:16:25.635Z","last_scraped_at":"2026-05-03T15:18:44.266Z","last_commit":null},"community":{"stars":null,"forks":null,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=akekaratp-flights-mcp-ts","compare_url":"https://unfragile.ai/compare?artifact=akekaratp-flights-mcp-ts"}},"signature":"QCcaUnoQnQo8cpsUKYZP1RDsfp6Gxe17g/xvRLkeiPci+b1p2H2eQeZvVZGCb+nOXEJ14qEN19RSE5sXCa1tDA==","signedAt":"2026-06-20T17:46:10.646Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/akekaratp-flights-mcp-ts","artifact":"https://unfragile.ai/akekaratp-flights-mcp-ts","verify":"https://unfragile.ai/api/v1/verify?slug=akekaratp-flights-mcp-ts","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}