Flights MCP Server
maratsarbasov/flights-mcp · 15 stars · Python · GPL-3.0
MCP server MCP server searching flights with granular filtering, sorting options, and purchase integration.
Install
The repo has no one-line install. Follow its README.
Files
✈️ Flights MCP Server
A Model Context Protocol (MCP) server that provides flight search capabilities using the Aviasales Flight Search API. This server allows you to search for flights, filter results, get detailed flight information, and generate booking links.
flights-mcp-demo.mp4
How to use
You can either use the remote MCP server or deploy your own instance:
-
Remote MCP
A public instance is available at:
https://findflights.me/sse
This server uses the SSE transport protocol and is ready to use without setup.⚠️ Important: Currently not all LLM clients support remote MCP connections. For example, Claude.ai supports remote MCP integrations only on Pro+ plans.
-
Self-Hosted Deployment
If you prefer to run your own server, follow the instructions in the Installation section.Note: To deploy your own server, you must obtain an Aviasales API Key and Marker ID.
Features
- Flight Search: Search for one-way, round-trip, and multi-city flights
- Advanced Filtering: Filter results by price, duration, airlines, departure/arrival times, and number of stops
- Multiple Sorting Options: Sort by price, departure time, arrival time, or duration
- Detailed Flight Information: Get comprehensive flight details including baggage allowances and airline information
- Booking Links: Generate booking links for selected flights
- Local Storage: Performed searches are stored locally so LLM can access past searches without waiting
- Multiple MCP Transport Options: Supports stdio, HTTP, and SSE transports
Installation
Prerequisites
- Aviasales API key
- Python 3.12 or higher
- UV package manager
Setup
- Clone the repository:
git clone <repository-url> cd flights-mcp
-
Set up environment variables (see Environment Variables section)
-
Run the server
uv run src/flights-mcp/main.py
The server binds to 0.0.0.0, making it accessible on all network interfaces of the host machine.
Environment Variables
The following environment variables are required:
-
FLIGHTS_AVIASALES_API_TOKEN(required): Your Aviasales API token -
FLIGHTS_AVIASALES_MARKER(required): Your Aviasales marker ID -
FLIGHTS_TRANSPORT(optional): Transport protocol to use- Options:
stdio(default),streamable_http,sse
- Options:
-
FLIGHTS_HTTP_PORT(optional): Port for HTTP/SSE transport- Only used when
FLIGHTS_TRANSPORTisstreamable_httporsse - Default:
4200
- Only used when
-
FLIGHTS_HTTP_PATH(optional): URI path for the endpoint- Only used when
FLIGHTS_TRANSPORTisstreamable_httporsse - Default:
/mcp
- Only used when
MCP Tools
The server provides the following MCP tools:
| Tool | Description |
|---|---|
search_flights |
Searches for flights using the Aviasales Flight Search API. Returns search description with search_id and summary of found options. |
get_flight_options |
Retrieves, filters, and sorts flight options from a previous search. Returns a paginated list of filtered flight options. |
get_flight_option_details |
Returns detailed flight information including segments, pricing, baggage allowances, and agency terms. |
request_booking_link |
Generates a booking link for a specific flight option. |
Typical Usage Pattern
- Search for flights using
search_flights()- Call multiple times for flexible dates - Filter and browse options using
get_flight_options()- Lightweight tool, call multiple times with different filters and sorting option - Get detailed information using
get_flight_option_details()- For user's preferred options - Generate booking link using
request_booking_link()- Only when user confirms booking intent
Support
For issues related to:
- MCP Server: Open an issue in this repository
- MCP Protocol: See Model Context Protocol Documentation
Facts
- Kind
- MCP server
- Group
- Uncategorized
- Stars
- 15
- License
- GPL-3.0
- Language
- Python
- Last push
- 2025-06-04
- Forks
- 3
- Homepage
- findflights.me/sse
- 1REAio.github.morluto/reaReverse engineer anything from your terminal or agent with one CLI and MCP server.125.3k
- 2com.browser-use/browser-usecom.browser-use/browser-useControl a real Chrome browser to complete any task: fill forms, extract data, book flights.117.7k
- 3World Monitorapp.worldmonitor/mcpLive markets, conflicts, country risk, chokepoints, energy, and China decision signals. 93 tools.88.3k
- 4Scrapling MCP Serverd4vinci/scrapling🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scraplingdev86.9k
- 5Everythingmodelcontextprotocol/serversThis MCP server attempts to exercise all the features of the MCP protocol. It is not intended to be a useful server, but rather a test server for builders of MCP clients. It implements prompts, tools, resources, sampling, and more to showcase MCP capabilities.85.8k
- 6Fetchmodelcontextprotocol/serversA Model Context Protocol server that provides web content fetching capabilities. This server enables LLMs to retrieve and process content from web pages, converting HTML to markdown for easier consumption.85.8k