Airline Reservation MCP Server
An MCP (Model Context Protocol) server that provides tools for interacting with an airline reservation system through Claude/Cline.
PLEASE NOTE- YOU MUST INSTALL https://github.com/srinipusuluri/airline_reservation_system
Features
This MCP server exposes 5 tools for managing airline reservations:
- search_flights - Search for available flights between cities on a specific date
- get_flight_details - Get detailed information about a specific flight
- create_booking - Create a new flight booking for a registered user
- get_user_bookings - Retrieve all bookings for a specific user
- cancel_booking - Cancel an existing flight booking
Installation
Prerequisites
- Node.js (v16 or later)
- Python 3.x
- Access to an airline reservation system database
Setup
- Clone or create the MCP server:
mkdir -p ~/Documents/Cline/MCP
cd ~/Documents/Cline/MCP
# Copy the airline-reservation-server folder here
- Install dependencies:
cd airline-reservation-server
npm install
- Build the server:
npm run build
- Set up Python scripts:
Ensure the airline reservation system's Python scripts are in place at: ~/Desktop/airline_reservation_system/scripts/
search_flights.pyget_flight_details.pycreate_booking.pyget_user_bookings.pycancel_booking.py
- Configure in Cline settings:
Add the following to your MCP settings file: ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
{
"mcpServers": {
"airline-reservation": {
"command": "node",
"args": ["/Users/yourusername/Documents/Cline/MCP/airline-reservation-server/build/airline-reservation-server/index.js"],
"disabled": false,
"autoApprove": []
}
}
}
Note: Replace yourusername with your actual username in the path.
Usage
Once installed and configured, you can use the MCP server tools through natural language commands:
Examples
Search for flights: `` "Find flights from New York to Los Angeles on 2025-10-08" ``
Get flight details: `` "Show me the details for flight 101" "Get information about flight ID 1" ``
Create a booking: `` "Book flight 1 for user john_doe with passenger John Smith at john@example.com" "Create a booking for mary_jane on flight 15 for Mary Jane at mary@example.com" ``
Check user bookings: `` "Show all bookings for user john_doe" "What are the current bookings for mary_jane?" ``
Cancel a booking: `` "Cancel booking number 123" "Cancel booking ID 456" ``
Tool Specifications
search_flights
Description: Search for available flights between cities on a specific date
Parameters:
departureCity(string): Departure cityarrivalCity(string): Arrival citydepartureDate(string): Departure date in YYYY-MM-DD format
Returns: Array of available flights with details
get_flight_details
Description: Get detailed information about a specific flight
Parameters:
flightId(number): Flight ID to retrieve
Returns: Complete flight information including airline, times, pricing, and availability
create_booking
Description: Create a new flight booking for a user
Parameters:
username(string): Username of the registered userflightId(number): Flight ID to bookpassengerName(string): Full name of the passengerpassengerEmail(string): Email address of the passenger
Returns: Booking confirmation with details
get_user_bookings
Description: Get all flight bookings for a specific user
Parameters:
username(string): Username to retrieve bookings for
Returns: Array of user's bookings with flight details
cancel_booking
Description: Cancel an existing flight booking
Parameters:
bookingId(number): Booking ID to cancel
Returns: Success/failure status of cancellation
Architecture
The MCP server acts as a bridge between natural language interfaces and the Python-based airline reservation system:
[Claude/Cline] → [MCP Server (TypeScript)] → [Python Scripts] → [SQLite Database]
- MCP Server: Handles protocol communication and tool validation
- Python Scripts: Interface with the existing database operations
- Database: Stores flight, user, and booking information
Error Handling
The server includes comprehensive error handling for:
- Invalid parameters
- Database connection issues
- Flight/booking not found
- Booking conflicts (no seats available)
Contributing
To extend this MCP server:
- Add new tools in
src/airline-reservation-server/index.ts - Create corresponding Python scripts in the airline system
- Update the database helper functions as needed
- Rebuild and test the server
License
MIT License - see LICENSE file for details.
Related
- Airline Reservation System - The underlying database system
- Model Context Protocol - MCP specification and documentation






