Amadeus Flight Availabilities MCP App
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Amadeus Flight Availabilities MCP AppSearch for flights from JFK to LHR on March 15, 2025"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Amadeus Flight Availabilities MCP App
An MCP (Model Context Protocol) App with interactive dashboard UI that integrates with the Amadeus Flight Availabilities Search API. This application allows users to search for available flights and view seat availability in real-time.
Current Status
Component | Status |
Project Setup | ✅ Complete |
MCP Server | ✅ Complete |
React Dashboard | ✅ Complete |
shadcn/ui Components | ✅ Complete |
Single-file Build | ✅ Complete |
Server-side API Proxy | ✅ Complete (Security fix) |
Standalone Mode | ✅ Complete |
Claude Code CLI Support | ✅ Complete |
Claude Desktop Support | ✅ Complete |
Related MCP server: Amadeus Agent
What It Does
The Amadeus Flight Availabilities Search API answers the question: "How many seats are still available on this flight?"
This MCP App provides:
Interactive flight search form with IATA airport codes
Real-time seat availability display per booking class
Filter options by cabin class, airline, and number of stops
Visual availability indicators (available, limited, full/waitlist)
Features
Flight Search: Search by origin/destination IATA codes and date
Seat Availability: View available seats per booking class (Economy, Business, First)
Flight Details: Carrier info, aircraft type, departure/arrival times, terminals
Filtering: Filter by cabin class, airlines, and connection preferences
Interactive Dashboard: Rich UI with expandable flight details
Tech Stack
Category | Technology |
Framework | React 18 + TypeScript |
UI Library | shadcn/ui + Tailwind CSS |
MCP SDK |
|
Bundler | Vite + |
Validation | Zod |
Server | Express (HTTP transport) |
Package Manager | bun |
Prerequisites
Node.js 18+
bun runtime
Amadeus API credentials (Client ID and Client Secret)
Claude Code CLI (recommended) OR Claude Desktop
Quick Start
1. Clone and Install
# Navigate to project directory
cd amadeus-flights-mcp-app
# Install dependencies
bun install2. Configure Environment
Copy .env.example to .env and add your Amadeus credentials:
cp .env.example .envEdit .env:
AMADEUS_CLIENT_ID=your_api_key
AMADEUS_CLIENT_SECRET=your_api_secret3. Build the Project
bun run build4. Start the Server
bun run devThe server will be available at http://localhost:3001.
Claude Integration
Option 1: Claude Code CLI (Recommended)
Claude Code CLI supports HTTP transport, which provides the best experience for interactive MCP Apps with UI.
# Add MCP server to Claude Code
claude mcp add amadeus-flights http://localhost:3001/mcpThen ask Claude:
"Search for flights from JFK to LHR on March 15, 2025"
Option 2: Claude Desktop
Add to your Claude Desktop config (claude_desktop_config.json):
{
"mcpServers": {
"amadeus-flights": {
"command": "bun",
"args": ["PATH/TO/amadeus-flights-mcp-app/main.ts", "--stdio"],
"env": {
"AMADEUS_CLIENT_ID": "your_client_id",
"AMADEUS_CLIENT_SECRET": "your_client_secret"
}
}
}
}Option 3: Standalone Mode (No Claude)
Simply open http://localhost:3001 in your browser. The React dashboard works without Claude.
Usage
Standalone Mode (Browser)
Start the server:
bun run devOpen browser: Go to
http://localhost:3001Use the dashboard: Search for flights using the form
API status: Check if Amadeus API is configured via the status indicator
Claude Mode
Start the server:
bun run dev(for Claude Code) orbun run serve(for Claude Desktop)Open Claude (Code CLI or Desktop)
Ask Claude: "Search for flights from JFK to LHR on 2024-12-15"
View results: Interactive dashboard shows available flights with seat counts
Filter: Use filters to narrow down by cabin class, carrier, or stops
Which Claude to Use?
Feature | Claude Code CLI | Claude Desktop |
HTTP Transport | ✅ Yes | ❌ No (stdio only) |
Interactive UI | ✅ Renders properly | ⚠️ May not render |
Setup Complexity | Lower | Higher (path required) |
Recommendation: Use Claude Code CLI for the best experience with interactive MCP Apps.
Security
Important: Amadeus API credentials are never exposed to the browser.
Credentials are stored server-side in environment variables
Frontend calls the
/api/flightsproxy endpointThe server handles OAuth2 authentication internally
Built bundle contains no credentials (verified with
grep)
Security Features
Feature | Description |
CORS | Restricted to localhost origins (configurable via |
Security Headers | X-Content-Type-Options, X-Frame-Options, X-XSS-Protection |
Request Limit | 10KB max for API request body |
Credentials | Never embedded in browser bundle |
API Reference
Amadeus API: Flight Availabilities Search
Authentication: OAuth 2.0 with client credentials
Test Environment:
https://test.api.amadeus.com/v1
Project Structure
amadeus-flights-mcp-app/
├── src/
│ ├── components/ # React components
│ │ ├── ui/ # shadcn/ui components
│ │ └── Flight*.tsx # Flight search & results
│ ├── lib/ # Utilities
│ │ ├── amadeus.ts # API client (server-side)
│ │ └── utils.ts # Helper functions
│ ├── types/ # TypeScript types
│ └── styles/ # CSS
├── server.ts # MCP server
├── main.ts # Entry point (Express server + API proxy)
├── dist/ # Built frontend
├── docs/ # Documentation
└── .env # Environment variables (not committed)Documentation
Getting Started - Detailed setup guide
Claude Setup - Connect to Claude Code CLI or Claude Desktop
API Reference - Amadeus API documentation
Architecture - System design
User Guide - Usage instructions
Changelog
See CHANGELOG.md for version history.
License
MIT
Resources
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/amrahman90/amadeus-flights-mcp-app'
If you have feedback or need assistance with the MCP directory API, please join our Discord server