Duffel MCP for AI. Book trips, manage bookings, and pay from your chat.
Works with every AI agent you already use
…and any MCP-compatible client








Connect to your AI in seconds.
Duffel MCP connects your AI client directly to global travel infrastructure. You search and book flights, find hotel stays, and handle the whole itinerary—all through natural conversation.
It lets your agent compare live prices, manage bookings, and process payments without opening a browser tab.
What your AI can do
Book stay
Finalizes and books an accommodation stay after rates are confirmed.
Cancel order
Cancels a specific flight order based on its unique ID.
Change order
Requests modifications to details (dates, passengers) for an existing trip order.
You can search for hotels, list accommodations, and create flight offer requests to build options based on natural language prompts.
The agent handles complex actions like creating a final order (create_order), requesting payment holds (create_payment), or canceling existing travel reservations.
You fetch live prices for both accommodations using fetch_stay_rates and specific flight offers to ensure you're getting the latest deals.
Access detailed, standardized data—like airport codes (get_airport) or airline information (list_airlines)—to validate trip details.
You can change an order with change_order or retrieve your history by listing all current orders through list_orders.
Ask an AI about this
Waiting for input…
Duffel: 29 Tools for Travel Planning
These tools cover the entire travel lifecycle. Use them to search accommodations, list orders, verify rates, and finalize bookings through your AI agent.
Make your AI actually useful.
Add this MCP to Claude, Cursor, or Windsurf and your AI stops guessing. It gets real tools to look things up, take action, and handle the stuff you keep doing by hand.
Start using Duffel on VinkiusBook Stay
Finalizes and books an accommodation stay after rates are confirmed.
Cancel Order
Cancels a specific flight order based on its unique ID.
Change Order
Requests modifications to details (dates, passengers) for an existing trip order.
Create Offer Request
Initiates a request to gather multiple pricing options for potential flights.
Create Order
Creates and confirms a final flight booking or itinerary purchase.
Create Payment
Generates a payment link required to hold an order while finalizing details.
Create Webhook
Sets up automated data notifications for future events related to bookings.
Fetch Stay Rates
Retrieves the current pricing and availability across all options found during a...
Get Accommodation
Fetches specific details about one particular hotel or lodging property.
Get Aircraft
Looks up technical specifications for a given type of airplane.
Get Airline
Retrieves information and operational details about a specific airline.
Get Airport
Finds detailed data, including codes and locations, for any airport worldwide.
Get Offer Request
Retrieves the details and status of a prior request to gather multiple offers.
Get Offer
Gets comprehensive pricing and availability data for a single flight offer.
Get Order
Pulls all specific information about an already existing, confirmed travel order.
Get Payment
Checks the status or details of a payment that was created for an order hold.
List Accommodation
Retrieves a list of all properties found in a search result set.
List Aircraft
Provides a catalog listing of different types of aircraft available globally.
List Airlines
Returns an exhaustive list of operational airlines that service routes.
List Airports
Generates a list of all airports and their associated codes/locations.
List Offer Requests
Lists every offer request you have previously submitted for flights or travel.
List Offers
Shows all current available flight offers tied to a specific request ID.
List Orders
Provides an overview and list of all confirmed travel orders associated with your...
List Webhook Events
Retrieves records of automated webhooks that were triggered or received.
Price Offer
Verifies the final, locked-in price and services for a specific flight offer before booking.
Quote Stay
Generates a preliminary, non-binding quote for accommodation stays based on dates...
Search Stays
Searches the database to find available hotels and lodging options within a given...
Get Seat Maps
Displays available seat configurations and layouts for a specific flight offer.
Suggest Accommodation
Suggests specific hotel names or properties by matching them against a provided...
Security and governance baked right in.
Pick your AI client below to get set up. Just create a Vinkius account, subscribe, and you're instantly up and running. We handle the entire backend infrastructure, delivering out-of-the-box support for HTTPS Streamable, SSE, and OAuth2—zero messy routing required.
Choose How to Get Started
Build a custom MCP for your own tools, or connect a ready-made integration from our catalog.
Build Your Own
Turn any API into an MCP. Import a spec, define Agent Skills, or deploy with MCPFusion.
- Import from OpenAPI, Swagger, or YAML specs
- Create Agent Skills with progressive disclosure
- Deploy to edge with MCPFusion framework
- Built in DLP, auth, and compliance on every call
- Real time usage dashboard and cost metering
- Publish to catalog or keep private
Make Your AI Do More
Start with Duffel, then connect any of our 5,100+ other servers whenever your AI needs more. One click, no limits.
- Use this MCP plus 5,100+ others, all in one place
- Add new capabilities to your AI anytime you want
- Every connection is secured and compliant automatically
- Track usage and costs across all your servers
- Works with Claude, ChatGPT, Cursor, and more
- New servers added to the catalog every week
Independent Platform Disclaimer: Vinkius is an independent platform and is not affiliated with, endorsed by, sponsored by, verified by, or otherwise authorized by Duffel. All third-party trademarks, logos, and brand names are the property of their respective owners. Their use on this website is strictly for informational purposes to identify service compatibility and interoperability.
VINKIUS INFRASTRUCTURE
Cloud Hosted
Managed infra
V8 Isolated
Sandboxed per request
Zero-Trust Proxy
No stored credentials
DLP Enforced
Policy on every call
GDPR Compliant
EU data residency
Token Compression
~60% cost reduction
Works with Claude, ChatGPT, Cursor, and more
The Model Context Protocol standardizes how applications expose capabilities to LLMs. Instead of operating in isolation, your AI gains direct access to external platforms, live data, and real-world actions through secure, standardized connections.
This connection provides 29 powerful capabilities that interface natively with Claude, ChatGPT, Cursor, and other compatible AI platforms. No middleware. No custom integration required.
Manually planning travel means clicking through five different websites.
Right now, finding a trip is a multi-tab nightmare. You start on an aggregator site for flights, copy the dates and destinations, then open a second tab for hotels to cross-reference rates. Next, you jump to a third platform just to check if the airport codes are correct. It's tedious, it’s slow, and it takes half your morning.
With this MCP, everything happens in one chat window. You tell your agent the destination and dates once. The agent handles the complex search across flights (using `create_offer_request`), finds lodging (`search_stays`), cross-references airport details (`get_airport`), and presents a full package deal. It’s instant.
The Duffel MCP gives you booking control.
The major manual steps that vanish are copying the confirmation number from one site to another, calling customer support just to confirm a rate change, or switching between payment portals. The agent handles order retrieval (`list_orders`) and modification (`change_order`) right where you're talking.
What’s different now is control. You own the entire process—from the initial search through `create_offer_request` to confirming the final booking with `book_stay`. There are no dead ends, just actionable next steps.
What your AI can actually do with this
This connector turns your AI into a full-stack travel assistant. Forget manually switching between airline sites or booking platforms. You can simply tell your agent what trip you need, and it handles the rest. It searches for flights using create_offer_request, pulls real-time hotel rates with search_stays, and gives you options before you even know which ones matter.
When you're ready to lock in a booking, it manages everything from creating an order via create_order to handling payments through create_payment. It also keeps your existing travel history neat by letting you list or change orders directly from the chat. Because Vinkius hosts this MCP, your agent gains access to all of Duffel's tools—everything from fetching airport codes with get_airport to viewing detailed seat maps via get_seat_maps.
It’s basically a full travel agency in your conversation window.
019e5d13-5007-739a-a5f5-6c947055f200 Here's how it actually works
The bottom line is you don't need multiple websites; you just talk to your AI client.
Subscribe to this MCP and enter your Duffel Access Token into Vinkius.
Start chatting with your agent, asking it to search for a trip or list existing reservations.
Your agent uses the tools to fetch live data and presents you with actionable options for booking.
Who is this actually for?
This MCP is built for anyone whose job involves coordinating complex logistics—whether it’s a travel agent managing dozens of clients or an internal corporate team booking cross-department trips. You're tired of copy-pasting flight numbers and switching between rate sheets; you need one unified interface that handles the whole lifecycle.
You use this to find the best combinations of flights and hotels for multiple clients simultaneously, pulling rates and offers without manual portal searching.
You manage large team bookings, check order statuses across groups, and handle bulk cancellations using a unified AI interface.
You integrate travel capabilities into custom internal tools or agents, relying on the structured data access provided by get_airport or list_aircraft.
What Changes When You Connect
You get immediate pricing clarity. Instead of guessing, you use price_offer to verify the final service costs for any flight offer before committing.
Managing existing trips is easy. Use list_orders or get_order to pull up your full itinerary and check its status without logging into a separate portal.
Booking stays just got simple. You can use search_stays first, then fetch_stay_rates to get the exact cost for any property you find.
The whole process is covered. If you need to change something, the MCP handles it with tools like change_order, minimizing your steps from four clicks to a single command.
It's deep data access. You don't just book; you also get specialized context using get_airport or list_airlines, which is critical for complex multi-stop routes.
See it in action
The team needs to plan an emergency conference trip.
A project manager asks the agent for hotels in Dallas between Oct 10th and Oct 15th. The agent runs search_stays, presents a list, and then uses fetch_stay_rates to confirm which of those options has availability for 12 people.
A client needs to compare three different flight routes.
The travel agent tells the AI: 'Find me all one-way flights from LAX to MIA in November.' The agent executes create_offer_request, uses list_offers to show options, and then lets the agent use get_seat_maps so the client can visualize the seats.
The user needs to confirm an existing booking change.
Instead of calling customer service, the corporate manager asks the AI to check status. The agent runs list_orders, finds the ID, and then uses change_order to initiate a date shift.
The developer needs structured trip data for an internal dashboard.
A developer calls the MCP's functions like get_airline and list_airports to ensure their custom agent can reliably validate airport codes and airline credentials before processing a booking.
The honest tradeoffs
Assuming one tool does everything.
Asking the AI simply to 'book me a trip.' This is too vague; the agent doesn't know if you mean flights, hotels, or both, and can't proceed.
Be specific. Start by saying: 'First, run search_stays for Paris next month. Then, use create_offer_request to find flight options from JFK.' This gives the agent a clear sequence of actions.
Trying to bypass payment steps.
Telling the AI, 'Book it and charge my card.' The system needs explicit confirmation for payments. It can't just assume you want to finalize an order without payment data.
Always let the agent run create_payment first. This generates a secure hold or link that confirms the transaction is ready before calling create_order.
Using general search terms for specific IDs.
Asking the AI to 'update my order from last week.' The system needs unique identifiers, not just descriptive phrases, to know which record to modify.
You must first use list_orders to get the correct Order ID, and then pass that specific ID to change_order or get_order.
When It Fits, When It Doesn't
Use this MCP if your workflow requires managing multiple components—flights and accommodations—in a single conversation. If you need to check flight prices, use create_offer_request. If you only need basic hotel listings and rates, stick with search_stays or list_accommodation. Don't use this MCP if your goal is simply to write an itinerary draft; that requires pure LLM text generation. You must use the specific booking tools (book_stay, create_order) to move from a drafted plan to a confirmed, paid reservation.
Questions you might have
How do I use Duffel MCP to book a hotel stay? +
Start by using search_stays to find properties and dates. Once you have options, run fetch_stay_rates on the specific hotels until you are ready to confirm with book_stay.
What is the difference between `get_offer` and `list_offers`? +
list_offers shows all available options for a request ID. get_offer, however, pulls detailed data, including specific pricing and availability, for just one selected option.
Can I use Duffel MCP to check my payment details? +
Yes. Use the list_orders tool to find your order ID, then call get_payment with that ID to verify status or amounts.
Do I need a specific airport code for `get_airport`? +
No. You can ask the agent for general location data or just provide the city name; the tool handles looking up and validating the necessary codes for you.
After I book a trip, how can I use `list_orders` to check my entire booking history and status? +
You retrieve all your past orders by calling list_orders. This returns an array of order objects, giving you the ID, dates, and current status for every flight or stay booked through Duffel. It's perfect for auditing records without manually checking emails.
Before I search for flights, how can I use `list_airports` to verify if a specific airport code is available in the system? +
Running list_airports gives you a comprehensive list of all supported locations. This lets you validate your input codes before attempting any searches or creating offer requests, saving time and preventing bad API calls.
If my initial flight search is wrong, how can I use `get_offer_request` to review and adjust the original parameters? +
You grab a specific request ID and pass it to get_offer_request. This pulls back all the details—the dates, origins, and passengers—so you can spot an error or tweak the criteria before re-running the search.
If I only want to secure a flight but not commit funds immediately, what process do I use with `create_payment`? +
You first get a specific offer and then run get_offer_request. Once you're ready to hold it, calling create_payment initiates the payment process for that particular offer. This locks in pricing without finalizing the ticket.
How do I search for flights between two cities? +
Use the create_offer_request tool. You'll need to provide the origin, destination, departure date, and passenger details. The agent will then return available flight offers.
Can I see the seat map before booking a flight? +
Yes! Once you have an Offer ID, use the get_seat_maps tool to retrieve the visual layout and availability of seats for that specific flight offer.
How do I find hotel rates for a specific search result? +
After performing a search with search_stays, use the fetch_stay_rates tool with the search_result_id to get all available pricing and room options for that accommodation.
We've already built the connector for Duffel. Just plug in your AI agents and start using Vinkius.
No hosting. No infrastructure. No complex setup.
All 29 tools are live and waiting.
You're up and running in seconds.
Vinkius gives your AI agents access to the full catalog of app connectors, all fully managed, secure, and enterprise-ready. One subscription, every tool you need.
Built, hosted, and secured by Vinkius. You just connect and go.