
Flight Search
STDIOFlight search service with MCP tools for querying flights between airports.
Flight search service with MCP tools for querying flights between airports.
A flight search service built with Model Context Protocol (MCP). This service demonstrates how to implement MCP tools for flight search capabilities.
The Model Context Protocol (MCP) is a standard developed by Anthropic that enables AI models to use tools by defining a structured format for tool descriptions, calls, and responses. This project implements MCP tools that can be used by Claude and other MCP-compatible models.
# Install from PyPI pip install mcp-flight-search # Or install from the project directory (development mode) pip install -e .
Start the MCP server:
# Using the command-line entry point mcp-flight-search --connection_type http # Or run directly python main.py --connection_type http
You can also specify a custom port:
python main.py --connection_type http --port 5000
Set the SerpAPI key as an environment variable:
export SERP_API_KEY="your-api-key-here"
This package provides the following Model Context Protocol tools:
search_flights_tool
: Search for flights between airports with parameters:
origin
: Departure airport code (e.g., ATL, JFK)destination
: Arrival airport code (e.g., LAX, ORD)outbound_date
: Departure date (YYYY-MM-DD)return_date
: Optional return date for round trips (YYYY-MM-DD)server_status
: Check if the MCP server is running
mcp-flight-search/
├── mcp_flight_search/
│ ├── __init__.py # Package initialization and exports
│ ├── config.py # Configuration variables (API keys)
│ ├── models/
│ │ ├── __init__.py # Models package init
│ │ └── schemas.py # Pydantic models (FlightInfo)
│ ├── services/
│ │ ├── __init__.py # Services package init
│ │ ├── search_service.py # Main flight search logic
│ │ └── serpapi_client.py # SerpAPI client wrapper
│ ├── utils/
│ │ ├── __init__.py # Utils package init
│ │ └── logging.py # Logging configuration
│ └── server.py # MCP server setup and tool registration
├── main.py # Main entry point
├── pyproject.toml # Python packaging configuration
├── LICENSE # MIT License
└── README.md # Project documentation
For more articles on AI/ML and Generative AI, follow me on Medium: https://medium.com/@arjun-prabhulal
This project is licensed under the MIT License - see the LICENSE file for details.