Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DUFFEL_ACCESS_TOKEN | Yes | Your Duffel API access token. Get your token from the Duffel Dashboard (More → Developers → Access Tokens). Create a test token for testing (free, unlimited balance) or a live token for production bookings. |
Schema
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| duffel_search_flights | Search for available flights based on journey requirements.
This tool creates an offer request and returns available flight options with pricing,
schedules, and airline information. Each offer includes:
- Total price and currency
- Flight segments with timings
- Airline and aircraft details
- Cabin class and baggage allowance
- Offer ID for booking
Use this when users want to:
- Find flights between destinations
- Compare prices and schedules
- Check availability for specific dates
- Get flight options before booking
Important notes:
- Offers expire after 15-30 minutes (check expires_at)
- Use passenger age instead of type for better accuracy
- Round trips require 2 slices (outbound + return)
- Direct flights: set max_connections=0
Returns flight offers in specified format (JSON or Markdown summary). |
| duffel_get_offer | Retrieve detailed information and current pricing for a specific flight offer.
This tool fetches the latest version of an offer, including:
- Up-to-date pricing and availability
- Complete flight schedule and routing
- Passenger requirements and restrictions
- Baggage allowance and cabin details
- Cancellation and change policies
Use this when:
- User selects a flight from search results
- Before booking to confirm current price
- To check if an offer is still available
- To get passenger IDs needed for booking
Important: Always retrieve the offer immediately before booking to ensure pricing
is current, as offers expire after 15-30 minutes.
Returns offer details in specified format (JSON or Markdown). |
| duffel_create_order | Create a flight booking (order) for the specified offer and passengers.
⚠️ IMPORTANT: This creates a real booking and may involve payment. This action:
- Creates a confirmed airline reservation
- May charge the payment method (if not using test mode)
- Issues a booking reference from the airline
- Is typically non-refundable or has cancellation fees
Before calling this tool:
1. Verify the offer is current using duffel_get_offer
2. Confirm all passenger details are accurate (names match IDs)
3. Check payment amount matches offer total
4. Ensure user understands booking terms
Required data:
- Offer ID from search results
- Complete passenger details (names as on ID, date of birth, contact info)
- Payment information matching offer total
The tool returns:
- Order ID for reference
- Airline booking reference
- Confirmation details
- Ticket information
Response codes:
- 201: Order created successfully (immediate confirmation)
- 200: Booking confirmed, details arriving soon (webhook notification will follow)
- 202: Booking processing (check webhooks or email for confirmation)
Use test mode tokens for testing to avoid actual charges.
Returns order details in specified format (JSON or Markdown). |
| duffel_get_order | Retrieve complete details for an existing flight order.
This tool fetches:
- Order status and booking reference
- Flight itinerary and schedule
- Passenger information
- Payment and pricing details
- Documents and tickets
- Change and cancellation options
Use this when:
- User needs to review their booking
- Checking order status
- Before making changes or cancellations
- Retrieving booking reference for airline website
Returns order details in specified format (JSON or Markdown). |
| duffel_search_airports | Search for airports by name, city, or IATA code.
This tool helps users find correct airport codes for flight searches by:
- Searching airport names (e.g., "Heathrow", "Charles de Gaulle")
- Searching city names (e.g., "London", "Paris")
- Validating IATA codes (e.g., "LHR", "CDG")
Results include:
- Airport name and IATA code
- City and country information
- GPS coordinates
- Time zone
Use this when:
- User provides city/airport names instead of codes
- Verifying airport codes before search
- Finding all airports in a city
- User unsure of exact airport code
Returns matching airports in specified format (JSON or Markdown). |
| duffel_list_airports | List airports with optional country filter.
This tool retrieves a paginated list of airports. Results can be filtered by country
using ISO 3166-1 alpha-2 country codes (e.g., 'US', 'GB', 'FR').
Use this when:
- Exploring available airports
- Getting airports in a specific country
- Building airport selection lists
Note: For finding a specific airport, use duffel_search_airports instead.
Returns airports in specified format (JSON or Markdown). |