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"
- MCP-compliant tools for flight search functionality
- Integration with SerpAPI Google Flights
- Support for one-way and round-trip flights
- Rich logging with structured output
- Modular, maintainable code structure
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.