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.