Airline Reservation MCP Server
README.md
# 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
1. **Clone or create the MCP server:**
```bash
mkdir -p ~/Documents/Cline/MCP
cd ~/Documents/Cline/MCP
# Copy the airline-reservation-server folder here
```
2. **Install dependencies:**
```bash
cd airline-reservation-server
npm install
```
3. **Build the server:**
```bash
npm run build
```
4. **Set up Python scripts:**
Ensure the airline reservation system's Python scripts are in place at:
`~/Desktop/airline_reservation_system/scripts/`
- `search_flights.py`
- `get_flight_details.py`
- `create_booking.py`
- `get_user_bookings.py`
- `cancel_booking.py`
5. **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`
```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 city
- `arrivalCity` (string): Arrival city
- `departureDate` (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 user
- `flightId` (number): Flight ID to book
- `passengerName` (string): Full name of the passenger
- `passengerEmail` (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:
1. Add new tools in `src/airline-reservation-server/index.ts`
2. Create corresponding Python scripts in the airline system
3. Update the database helper functions as needed
4. Rebuild and test the server
## License
MIT License - see LICENSE file for details.
## Related
- [Airline Reservation System](https://github.com/yourusername/airline-reservation-system) - The underlying database system
- [Model Context Protocol](https://modelcontextprotocol.io/) - MCP specification and documentation
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues