Amadeus MCP Server
Busca ofertas de vuelos utilizando la API de Amadeus Flight Offers Search.
Documentación
Servidor MCP de Amadeus
MCP-Amadeus es un servidor Model Context Protocol (MCP) desarrollado por la comunidad que se integra con la API de Búsqueda de Ofertas de Vuelos de Amadeus para proporcionar capacidades de búsqueda de vuelos a través de interfaces de lenguaje natural. Diseñado para usarse con clientes compatibles con MCP (por ejemplo, Claude Desktop).
Este proyecto permite a los usuarios buscar fácilmente opciones de vuelos entre dos ubicaciones con fechas específicas utilizando el poder de los modelos de lenguaje grandes (LLMs) y la API de Amadeus.
Este proyecto utiliza el SDK oficial de amadeus-python
Aviso legal: Este es un proyecto de código abierto no afiliado ni respaldado por Amadeus IT Group. Amadeus® es una marca registrada de Amadeus IT Group.
✨ Características
✈️ Búsqueda de Ofertas de Vuelos
Recupera opciones de vuelos entre dos ubicaciones para fechas específicas.
"Estoy buscando vuelos sin escalas de Nueva York a Londres el 15 de junio, cualquier aerolínea, para 1 adulto."
→ ✈️ Devuelve opciones de vuelos disponibles con detalles como hora de salida, hora de llegada, aerolínea y precio.
- Impulsado por la API de Búsqueda de Ofertas de Vuelos de Amadeus
- Requiere origen, destino, número de boletos y fecha de viaje
🌐 Demostración
Una vez instalado y conectado a un cliente compatible con MCP (por ejemplo, Claude Desktop), este servidor expone herramientas que tu asistente de IA puede usar para obtener datos de vuelos.
🚀 Inicio Rápido
Instalación mediante Smithery
Para instalar Amadeus MCP Server para Claude Desktop automáticamente a través de Smithery:
npx -y @smithery/cli install @donghyun-chae/mcp-amadeus --client claude
1. Clonar y Configurar
git clone https://github.com/donghyun-chae/mcp-amadeus.git
cd mcp-amadeus-flight-offers
# Install dependencies (using uv or pip)
uv sync
2. Obtén tu Clave de API y Configura el Entorno
cp .env.example .env
Luego edita .env y agrega tus credenciales de API:
AMADEUS_CLIENT_ID=your_client_id
AMADEUS_CLIENT_SECRET=your_client_secret
Regístrate en https://developers.amadeus.com/ y crea una aplicación para obtener tu Client ID y Client Secret.
3. Configurar el Cliente MCP
Registra este servidor en tu cliente MCP (por ejemplo, Claude for Desktop).
Edita ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"amadeus": {
"command": "/ABSOLUTE/PATH/TO/PARENT/FOLDER/uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/PARENT/FOLDER/src/",
"run",
"--env-file",
"/ABSOLUTE/PATH/TO/PARENT/FOLDER/.env",
"server.py"
]
}
}
}
Reemplaza
/ABSOLUTE/PATH/TO/PARENT/FOLDER/con la ruta real a tu carpeta del proyecto.
mi caso:
{
"mcpServers": {
"amadeus": {
"command": "/Users/asena/.local/bin/uv",
"args": [
"--directory",
"/Users/asena/mcp-amadeus/src/",
"run",
"--env-file",
"/Users/asena/mcp-amadeus/.env",
"server.py"
]
}
}
}
🛠️ Herramientas
Después de la instalación, la siguiente herramienta se expone a los clientes MCP:
get_flight_offers
Recupera ofertas de vuelos desde la API de Búsqueda de Ofertas de Vuelos de Amadeus.
Solicitud:
{
"action": "tool",
"name": "get_flight_offers",
"params": {
"origin": "JFK",
"destination": "LHR",
"departure_date": "2025-06-15"
}
}
Parámetros:
| Nombre | Tipo | Requerido | Descripción | Ejemplo |
|---|---|---|---|---|
| origin | string | Sí | Código IATA de la ciudad/aeropuerto de salida | JFK |
| destination | string | Sí | Código IATA de la ciudad/aeropuerto de destino | LHR |
| departure_date | string | Sí | Fecha de salida (AAAA-MM-DD) | 2025-06-15 |
| return_date | string | No | Fecha de regreso (AAAA-MM-DD). Solo ida si se omite | 2025-06-20 |
| adults | integer | Sí | Número de adultos (1-9). Predeterminado: 1 | 2 |
| children | integer | No | Número de niños (2-11). Máximo total: 9 | 1 |
| infants | integer | No | Número de bebés (≤2). Máximo: # de adultos | 1 |
| travel_class | string | No | Clase de cabina: ECONOMY, BUSINESS, etc. | ECONOMY |
| non_stop | boolean | No | Si es true, solo vuelos sin escalas. Predeterminado: false | true |
| currency_code | string | No | Moneda en ISO 4217 (por ejemplo, USD) | EUR |
| max_price | integer | No | Precio máximo por viajero | 500 |
| max | integer | No | Número máximo de ofertas. Predeterminado: 250 | 10 |
Salida: Devuelve ofertas de vuelos en formato JSON con aerolínea, horarios, duración y detalles de precios de Amadeus.
📚 Referencias
- SDK de Python para Model Context Protocol
- SDK de Python de Amadeus
- Documentación de la API de Amadeus
📝 Licencia
Licencia MIT © 2025 donghyun-chae