MCPpedia last refreshed this data
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"airline-mcp-server": {
"command": "<see-readme>",
"args": []
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
A Spring Boot MCP (Model Context Protocol) server that exposes flight search and booking as AI-callable tools via the Duffel API. Connect any MCP-compatible AI client (Claude, etc.) and let the AI handle the entire flight search and booking flow conversationally.
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in other
Compress tool outputs, logs, files, and RAG chunks before they reach the LLM. 60-95% fewer tokens, same answers. Library, proxy, MCP server.
Pi Coding Agent extension (CLI-first) — routes bash/read/grep/find/ls through lean-ctx CLI for strong token savings. Optional MCP bridge can register advanced tools.
One local source for the MCP servers, tools, and memory your AI coding agents share, synced into each tool's native config with a review gate and a receipt for every change. No daemon, no lock-in.
97% token reduction for AI coding sessions — zero deps, 21 languages, MCP server
MCP Security Weekly
Get CVE alerts and security updates for Airline Mcp Server and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
A Spring Boot MCP (Model Context Protocol) server that exposes flight search and booking as AI-callable tools via the Duffel API. Connect any MCP-compatible AI client (Claude, etc.) and let the AI handle the entire flight search and booking flow conversationally.
User (natural language)
│
▼
Claude AI Client ──── discovers tools ────► MCP Server (this app)
◄──── searchFlights ───────────── Duffel API
◄──── bookFlight ───────────────── │
│ ▼
▼ Real airline inventory
Natural language response
Claude reads the tool descriptions, decides which tools to call, extracts parameters from the conversation, and returns a natural language response. No routing logic needed in your client code.
| Layer | Technology |
|---|---|
| Language | Java 26 |
| Framework | Spring Boot 4.1.0 |
| AI / MCP | Spring AI 2.0.0-RC2 (spring-ai-starter-mcp-server-webmvc) |
| Protocol | MCP STREAMABLE (HTTP + SSE) |
| Flight API | Duffel REST API v2 |
| JSON | Jackson |
src/main/java/com/aie/airline/
├── AirlineApplication.java # Spring Boot entry point + bean wiring
├── service/
│ └── AirlineTools.java # @Tool methods exposed to Claude
├── repository/
│ └── FlightProvider.java # Interface: search / price / book
├── provider/
│ └── DuffelProvider.java # Duffel API implementation
├── model/
│ ├── Flight.java # Search result
│ ├── FlightQuery.java # Search parameters
│ ├── PricedOffer.java # Re-validated offer with expiry
│ ├── Passenger.java # Traveller details
│ ├── BookingResult.java # PNR + confirmation
│ └── BookingRequest.java
└── exception/
└── OfferExpiredException.java # Thrown when Duffel offer expires
Sign up at app.duffel.com, go to Developers → Access tokens, create a test token.
Edit src/main/resources/application.yml:
spring:
ai:
mcp:
server:
name: airline-tickets
version: 1.0.0
protocol: STREAMABLE
type: SYNC
server:
port: 8080
duffel:
token: YOUR_DUFFEL_TOKEN_HERE
mvn spring-boot:run
Server starts on http://localhost:8080. The MCP endpoint is at POST /mcp.
searchFlightsSearch available flights between two cities.
| Parameter | Type | Description |
|---|---|---|
origin | String | IATA code or city, e.g. BLR |
destination | String | IATA code or city, e.g. DXB |
date | String | Travel date in YYYY-MM-DD |
passengers | int | Number of adult passengers |
Returns: list of flights with offer IDs, airline, times, and price.
bookFlightBook a specific offer. Charges payment — irreversible.
| Parameter | Type | Description |
|---|---|---|
offerId | String | Offer ID from searchFlights |
givenName | String | First name as on ID |
familyName | String | Last name as on ID |
bornOn | String | Date of birth YYYY-MM-DD |
gender | String | m or f |
title | String | mr, ms, mrs, or dr |
email | String | Passenger email |
phone | String | Phone with country code, e.g. +919876543210 |
Returns: booking reference (PNR) and confirmation status.
SESSION=$(curl -s -X POST http://localhost:8080/mcp \
-H "Content-Type: application/json" \
-H "Accept: text/event-stream, application/json" \
-d '{
"jsonrpc": "2.0", "id": 1, "method": "initialize",
"params": {
"
... [View full README on GitHub](https://github.com/Virendrakushwaha/airline-mcp-server#readme)