MCP Flight Search
arjunprabhulal/mcp-flight-search · 43 stars · Python · MIT
MCP server MCP Server implementation for the Model Context Protocol (MCP) enabling AI tool usage - Realtime Flight Search
Install
The repo has no one-line install. Follow its README.
Files
MCP Flight Search
A flight search service built with Model Context Protocol (MCP). This service demonstrates how to implement MCP tools for flight search capabilities.
What is Model Context Protocol?
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.
Installation
# Install from PyPI pip install mcp-flight-search # Or install from the project directory (development mode) pip install -e .
Usage
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
Environment Variables
Set the SerpAPI key as an environment variable:
export SERP_API_KEY="your-api-key-here"
Features
- 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
MCP Tools
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
Project Structure
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
Author
For more articles on AI/ML and Generative AI, follow me on Medium: https://medium.com/@arjun-prabhulal
License
This project is licensed under the MIT License - see the LICENSE file for details.
Facts
- Kind
- MCP server
- Group
- Uncategorized
- Stars
- 43
- License
- MIT
- Language
- Python
- Last push
- 2025-04-07
- Forks
- 24
- Topics
- ai, genai, mcp, mcp-server, mcp-tools, model-context-protocol, serpapi, fligh-search
- 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