Skip to main content
Glama

Flight Simulator MCP Server

by jabir366
  • Apple
README.md•5.71 kB
# Flight Simulator MCP Server An enhanced Model Context Protocol (MCP) server for comprehensive airline booking operations, built with FastMCP 2.0 and Python. ## Features ### šŸ›« Core Booking Tools (17 total) - **Flight Search & Booking**: Multi-criteria search, booking creation, modifications - **Check-in & Services**: Online check-in, seat selection, baggage, meal preferences - **Real-time Operations**: Flight tracking, price alerts, disruption handling - **Loyalty & Groups**: Frequent flyer integration, group bookings, special assistance ### šŸ“Š Information Resources (9 total) - Airport information with timezones - Real-time flight status - Seat maps and availability - Weather impact data - Airline policies - Gate information - Upgrade availability - Loyalty benefits ### šŸ¤– AI-Powered Prompts (6 total) - Intelligent flight search assistance - Complete booking workflow guidance - Multi-city trip planning - Disruption management - Loyalty optimization - Accessibility support ## Installation ### Prerequisites - Python 3.10 or higher - UV package manager (recommended) or pip ### Setup 1. Clone the repository: ```bash git clone <repository-url> cd flight-sim-mcp ``` 2. Install dependencies using UV (recommended): ```bash uv pip install -r requirements.txt ``` Or using pip: ```bash pip install -r requirements.txt ``` 3. Copy environment configuration: ```bash cp .env.example .env ``` 4. Configure your `.env` file with appropriate values. ## Usage ### Running the Server Start the MCP server: ```bash python src/server.py ``` The server will start in stdio mode by default, suitable for integration with Claude Desktop or other MCP clients. ### Integration with Claude Desktop 1. Open your Claude Desktop configuration file: - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json` - Windows: `%APPDATA%\Claude\claude_desktop_config.json` 2. Add the flight simulator server: ```json { "mcpServers": { "flight-simulator": { "command": "python", "args": ["/path/to/flight-sim-mcp/src/server.py"], "env": {} } } } ``` 3. Restart Claude Desktop ### Example Interactions **Flight Search:** ``` "Find me a flight from San Francisco to New York next Friday" ``` **Group Booking:** ``` "I need to book flights for 8 people from SFO to JFK on March 15th" ``` **Check-in:** ``` "Check me in for booking BK12345ABC" ``` **Flight Tracking:** ``` "Track flight UA123" ``` **Loyalty Optimization:** ``` "How can I maximize my miles on upcoming trips?" ``` ## Available Tools ### Flight Search & Booking - `search_flights` - Search with multiple criteria - `get_flight_details` - Detailed flight information - `create_booking` - Book flights - `get_booking` - Retrieve booking details - `cancel_booking` - Cancel with refund calculation - `modify_booking` - Change flights or dates ### Check-in & Services - `check_in` - Online check-in with boarding passes - `select_seats` - Choose specific seats - `add_baggage` - Add checked bags - `add_services` - Meals, WiFi, priority boarding - `travel_insurance` - Trip protection options - `special_assistance` - Accessibility services ### Real-time & Loyalty - `track_flight` - Live flight status - `price_alert` - Monitor price changes - `loyalty_account` - Link frequent flyer accounts - `group_booking` - 5+ passenger bookings - `upgrade_seat` - Request upgrades ## Testing ### Using MCP Inspector 1. Install MCP Inspector: ```bash npm install -g @modelcontextprotocol/inspector ``` 2. Run the inspector: ```bash npx mcp-inspector python src/server.py ``` 3. Access the web UI at `http://localhost:5173` ### Running Unit Tests ```bash pytest tests/ ``` ## Development ### Project Structure ``` flight-sim-mcp/ ā”œā”€ā”€ src/ │ ā”œā”€ā”€ server.py # Main MCP server │ ā”œā”€ā”€ tools/ # Tool implementations │ ā”œā”€ā”€ resources/ # Resource endpoints │ ā”œā”€ā”€ models/ # Pydantic data models │ ā”œā”€ā”€ data/ # Mock database │ └── prompts/ # AI prompt templates ā”œā”€ā”€ tests/ # Test files ā”œā”€ā”€ pyproject.toml # Project configuration └── README.md # This file ``` ### Adding New Tools 1. Create a new file in `src/tools/` 2. Import the MCP instance: `from ..server import mcp` 3. Define tools using the `@mcp.tool()` decorator 4. Import the module in `server.py` ### Mock Data The server uses a mock database that generates realistic flight data for demonstrations. In production, this would connect to real airline APIs. ## Security Considerations - API tokens should be stored in environment variables - Payment tokens are mocked - implement real payment integration for production - Personal data handling follows privacy best practices - Rate limiting is recommended for production deployments ## Deployment ### Local Development The default stdio transport is perfect for local development and testing with Claude Desktop. ### Remote Deployment For remote access, configure SSE transport: ```python # In server.py or via environment variables MCP_TRANSPORT=sse MCP_HOST=0.0.0.0 MCP_PORT=8080 ``` Deploy options: - Docker container (Dockerfile included) - Railway/Render (one-click deploy) - AWS Lambda (serverless) - Any Python-capable hosting platform ## Contributing 1. Fork the repository 2. Create a feature branch 3. Add tests for new functionality 4. Submit a pull request ## License MIT License - see LICENSE file for details ## Support For issues, questions, or contributions: - Open an issue on GitHub - Check existing documentation - Review MCP protocol specs at modelcontextprotocol.io

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jabir366/MCPFligh'

If you have feedback or need assistance with the MCP directory API, please join our Discord server