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 httpYou can also specify a custom port:
python main.py --connection_type http --port 5000Set 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.