
Search tours and activities near a location. Provide latitude and longitude. Optional radius (1-20 km). Great for finding things to do at a destination.
Get details for a specific tour or activity. Provide the activity ID from search_activities response.
Search airport transfer options (taxi, limo, shuttle). Provide pickup location IATA code, date-time, and drop-off details (address, city, or coordinates).
Book a transfer (taxi, limo, shuttle). Provide the offer ID from searchtransferoffers and optional passenger details.
Get most booked flight destinations from an origin city for a given month. Provide origin IATA city code and period (YYYY-MM). Use search_locations to find city codes.
Get most traveled flight destinations from an origin city for a given month. Provide origin IATA city code and period (YYYY-MM).
Get busiest travel periods for a city in a given year. Provide IATA city code and period (YYYY). Optionally filter by ARRIVING or DEPARTING direction.
Book a flight by creating a flight order. Requires flightoffers from search/pricing and traveler details (name, DOB, contact). Use searchflightoffers then priceflight_offers first.
Get flight order details by order ID (PNR reference). Use the ID returned from createflightorder.
Cancel a flight order by order ID. This operation cannot be undone.
Search flight offers by origin, destination, date, and travelers. Returns priced offers with itineraries. Use searchlocations to find IATA codes. For multi-city, use advancedflight_search instead.
Advanced flight search (POST) supporting multi-city, flexible dates, and complex filters. Provide origindestinations and travelers. For simple one-way/round-trip, use searchflight_offers instead.
Confirm pricing for selected flight offers. Pass full flight offer objects from searchflightoffers response data array.
Find cheapest flight destinations from an origin. Returns destinations with prices. Great for 'where can I fly?' queries. Use search_locations to find origin IATA code.
Find cheapest travel dates for a route. Returns dates with prices for origin-destination pair. Use search_locations to find IATA codes.
Check seat availability for flights. Provide origindestinations and travelers (same format as advancedflight_search).
Get seat map for flight offers. Pass full flight offer objects from searchflightoffers response data array.
Get branded fare upsell options for flight offers. Pass full flight offer objects from searchflightoffers response data array.
AI prediction of which flight offer a user will choose. Pass full flight offer objects from searchflightoffers response data array.
List hotels in a city by IATA city code (e.g., 'PAR' for Paris). Filter by radius, chain, amenities, star rating. Use search_locations to find city codes. Use offset for pagination.
List hotels near coordinates (latitude/longitude). Filter by radius, chain, amenities, star rating. Use offset for pagination.
Get specific hotels by Amadeus property codes (8-char IDs). Use listhotelsby_city to find hotel IDs first.
Search hotel prices and availability. Provide hotel IDs from listhotelsby_city. Filter by dates, adults, rooms, price range, board type. Returns offers with room details and pricing.
Book a hotel room. Requires guest details, room associations (offer IDs from searchhoteloffers), and payment card. Use searchhoteloffers first to get offer IDs.
Get hotel sentiment ratings and review scores. Provide up to 3 hotel IDs from listhotelsby_city. Returns overall rating and category scores.
Search airports and cities by keyword. Returns IATA codes, names, and coordinates. Use subtype to filter by AIRPORT, CITY, or both. Use offset from pageinfo for next page.
Search cities by keyword. Returns city IATA codes, names, and country info. Use offset from page_info for next page.
Search airports by keyword. Returns airport IATA codes, names, and coordinates. Use offset from page_info for next page.
Look up airline by IATA (2-letter) or ICAO (3-letter) code. Returns airline name and codes.
Get airline online check-in URLs. Provide IATA airline code (e.g., 'BA' for British Airways).
Get flight schedule/timetable for a specific flight. Provide IATA airline code, flight number, and departure date. Use lookup_airline to find airline codes.
Get direct flight destinations from an airport. Provide IATA airport code. Use search_airports to find codes. Use offset for pagination.
Get airline route network (all destinations served). Provide IATA airline code. Use lookup_airline to find codes. Use offset for pagination.
Validate Amadeus API credentials by attempting token exchange. Returns {success, message}.

In an mcp.json file, add the configuration below, and restart Cursor.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "url": "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
5 "headers": {
6 "Authorization": "Bearer yMt*****"
7 }
8 }
9 }
10}
11Open your Claude Desktop configuration file and add the server configuration below. You'll also need to restart the application for the changes to take effect.
Make sure Claude is using the Node v20+.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "yMt*****"
14 }
15 }
16 }
17}Open your Windsurf MCP configuration file and add the server configuration below.
Click on the refresh button in the top right of the Manage MCP server page or in the top right of the chat box in the box icon.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api.merge.dev/api/v1/tool-packs/<tool-pack-id>/registered-users/<registered-user-id>/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "<ah-production-access-key>"
14 }
15 }
16 }
17 }In Command Palette (Cmd+Shift+P on macOS, Ctrl+Shift+P on Windows), run "MCP: Open User Configuration".
You can then add the configuration below and press "start" right under servers. Enter the auth token when prompted.
Learn more in the official documentation ↗
1{
2 "inputs": [
3 {
4 "type": "promptString",
5 "id": "agent-handler-auth",
6 "description": "Agent Handler AUTH_TOKEN", // "yMt*****" when prompt
7 "password": true
8 }
9 ],
10 "servers": {
11 "agent-handler": {
12 "type": "stdio",
13 "command": "npx",
14 "args": [
15 "-y",
16 "mcp-remote@latest",
17 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
18 "--header",
19 "Authorization: Bearer ${input:agent-handler-auth}"
20 ]
21 }
22 }
23}It's an MCP server that lets your agents access Amadeus's global travel technology platform via tools. Your agents can invoke these tools to search and book flights, find and reserve hotels, look up activities at a destination, retrieve airport and airline data, and more.
Amadeus doesn't offer an MCP server purpose built for their travel APIs, but you can use one from a third-party platform, like Merge Agent Handler.
The use cases naturally depend on the agent you've built, but here are a few common ones:
Here are some of the most commonly used tools:
search_flight_offers: queries Amadeus for available flights between two airports on specified dates, returning pricing, routing, and availability. Useful for agents that need to surface flight options to a traveler or evaluate itinerary costs before presenting choicesprice_flight_offers: confirms current pricing and availability for a specific flight offer before booking. Call this immediately before create_flight_order to ensure the fare returned in search is still validcreate_flight_order: books a priced flight offer for one or more passengers and returns a booking confirmation. Use this when an agent has confirmed passenger details and a selected fare and is ready to complete the reservationsearch_hotel_offers: retrieves available hotel rooms by city, check-in and check-out dates, and guest count, with pricing and amenity details. Good for agents building multi-component itineraries that need hotel options alongside flightscreate_hotel_booking: completes a hotel reservation for a selected offer and returns a confirmation number. Call this after an agent has presented hotel options and received confirmation from the traveler to proceedsearch_activities: finds tours, experiences, and activities available at a destination. Helpful when an agent is building a full trip itinerary and needs to surface things to do after flights and accommodation are confirmedMerge Agent Handler's Amadeus MCP server offers several advantages over community-built alternatives or rolling your own:
You can take the following steps:
1. Create or log into your Merge Agent Handler account.
2. Install the Merge CLI by running pipx install merge-api, then run merge configure to link the CLI to your Merge account and merge login to authenticate your session.
3. Register the Agent Handler MCP server with Claude Code by running claude mcp add --transport http agent-handler https://ah-api.merge.dev/mcp, then open Claude Code and run /mcp to confirm agent-handler appears with a connected status.
4. Select agent-handler from the MCP list. This opens a browser window where you select which integrations to authenticate. Choose Amadeus and complete the auth flow. Merge stores and manages the credentials going forward.
5. Open a Claude Code session and start querying Amadeus data directly. The first time you use an Amadeus tool, a Magic Link may appear to complete connector authentication.
If you want to connect Merge Agent Handler's Amadeus MCP with internal or customer-facing agentic products, you can follow the steps in our docs.
Whether you're an engineer experimenting with agents or a product manager looking to add tools, you can get started for free now