Flight + Stay Search MCP (TypeScript)

Flight + Stay Search MCP (TypeScript)

By clockworked247 GitHub

A TypeScript implementation of a flight search MCP server that uses the Duffel API to search for flights. This MCP server provides tools to search for one-way, round-trip, and multi-city flights.

flights-mcp flight-search
Overview

what is Flight + Stay Search MCP?

Flight + Stay Search MCP is a TypeScript implementation of a flight search server that utilizes the Duffel API to search for flights and accommodations. It allows users to find one-way, round-trip, and multi-city flights, as well as search for hotels and get guest reviews.

how to use Flight + Stay Search MCP?

To use the Flight + Stay Search MCP, follow these steps:

  1. Install dependencies using npm install.
  2. Build the project with npm run build.
  3. Start the server using npm start.
  4. Set up your environment variables in a .env file with your Duffel API key.

key features of Flight + Stay Search MCP?

  • Search for one-way, round-trip, and multi-city flights.
  • Get detailed information about specific flight offers.
  • Specify cabin class, number of passengers, and connection preferences.
  • Filter by departure and arrival time windows.
  • Search for travel stays (hotels/accommodations) and get guest reviews.

use cases of Flight + Stay Search MCP?

  1. Finding flights from one city to another for business or leisure.
  2. Planning multi-city trips with specific travel dates.
  3. Searching for hotels in a desired location with guest reviews.

FAQ from Flight + Stay Search MCP?

  • Can I search for both flights and hotels?

Yes! The MCP allows you to search for flights and accommodations in one interface.

  • Is there a test API key available?

Yes! You can start with a test API key (duffel_test) to try the functionality.

  • What programming language is this project built with?

The project is built using TypeScript.

Content

Flight + Stay Search MCP (TypeScript)

A TypeScript implementation of a flight & Stay search MCP server that uses the Duffel API to search for flights. This MCP server provides tools to search for one-way, round-trip, and multi-city flights.

smithery badge

Features

  • Search for one-way, round-trip, and multi-city flights
  • Get detailed information about specific flight offers
  • Specify cabin class, number of passengers, and connection preferences
  • Filter by departure and arrival time windows
  • Search for travel stays (hotels/accommodations)
  • Get guest reviews for a specific stay/hotel

Setup

  1. Install dependencies:

    npm install
    
  2. Build the project:

    npm run build
    
  3. Start the server:

    npm start
    

Environment Variables

Create a .env file with:

DUFFEL_API_KEY=your_duffel_api_key

You can start with a test API key (duffel_test) to try the functionality.

Using with Smithery

To publish this MCP to Smithery:

npx @smithery/cli publish

To run the published MCP:

npx @smithery/cli run @your-username/flights-mcp-ts --config "{\"duffelApiKey\":\"your_duffel_api_key\"}"

Available Tools

This MCP provides the following tools:

  1. search_flights - Search for one-way, round-trip, or multi-city flights
  2. get_offer_details - Get detailed information about a specific flight offer
  3. search_multi_city - A specialized tool for multi-city flight searches
  4. search_stays - Search for travel stays (hotels/accommodations)
  5. get_stay_reviews - Get guest reviews for a specific stay/hotel

Example Queries

  • "Find flights from SFO to NYC on May 15, 2025"
  • "Search for a round-trip flight from LAX to LHR departing June 10 and returning June 20"
  • "Find business class flights from Tokyo to Paris for 2 adults"
  • "Get details for flight offer [offer_id]"
  • "Find hotels in London for 2 guests from 2025-06-10 to 2025-06-12"
  • "Get reviews for stay [hotel_id]"

Stays/Hotel Search and Reviews

1. Search for Stays (search_stays)

Parameters:

  • location (string): City, airport code, or area to search for stays
  • check_in_date (string): Check-in date (YYYY-MM-DD)
  • check_out_date (string): Check-out date (YYYY-MM-DD)
  • guests (number): Number of guests
  • rooms (number, optional): Number of rooms
  • radius_km (number, optional): Search radius in kilometers

Example Request:

{
  "location": "London",
  "check_in_date": "2025-06-10",
  "check_out_date": "2025-06-12",
  "guests": 2
}

Example Response:

{
  "offers": [
    {
      "offer_id": "off_123",
      "hotel_id": "acc_0000AWr2VsUNIF1Vl91xg0",
      "hotel_name": "The Grand Hotel",
      "address": "1 Main St, London",
      "price": { "amount": "350.00", "currency": "GBP" },
      "room_type": "Deluxe Suite",
      "cancellation_policy": "Free cancellation until 24h before check-in"
    }
  ]
}

Note: Use the hotel_id from the search results as the stay_id for reviews.


2. Get Stay Reviews (get_stay_reviews)

Parameters:

  • stay_id (string): The unique Duffel stay/hotel ID (from the search_stays result)
  • after (string, optional): Pagination cursor (after)
  • before (string, optional): Pagination cursor (before)
  • limit (number, optional): Max reviews to return (1-200)

Example Request:

{
  "stay_id": "acc_0000AWr2VsUNIF1Vl91xg0"
}

Example Response:

{
  "meta": { "limit": 50, "after": "..." },
  "reviews": [
    {
      "text": "Excellent facilities. Polite staff.\nAir conditioning could use some maintenance.\n",
      "score": 8.4,
      "reviewer_name": "Bessie Coleman",
      "created_at": "2025-01-01"
    }
  ]
}

Local Development

For development with automatic reloading:

npm run dev

License

MIT

No tools information available.
Amadeus MCP Server
Amadeus MCP Server by privilegemendes

-

amadeus flight-search
View Details