pgallar/amadeus-travelapi-mcp
If you are the rightful owner of amadeus-travelapi-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
Travels MCP is a server that provides tools to interact with Amadeus APIs using SSE transport.
Travels MCP (Amadeus)
Servidor MCP que expone herramientas (tools) para interactuar con las APIs de Amadeus mediante transporte SSE. Incluye módulos de vuelos, hoteles, actividades, analytics, predicciones de viaje, transfers, schedule, reference data y autenticación.
Requisitos
- Docker y Docker Compose instalados
- Credenciales de Amadeus (entorno de prueba o producción):
AMADEUS_CLIENT_ID
yAMADEUS_CLIENT_SECRET
Variables de entorno
- Obligatorias:
AMADEUS_CLIENT_ID
AMADEUS_CLIENT_SECRET
- Opcionales (ya definidas por defecto en
docker-compose.yml
o enstart-server.sh
):HOST
(por defecto0.0.0.0
)PORT
(por defecto8007
)USE_SSE
(por defectotrue
)RELOAD
(por defectotrue
para desarrollo)
Puedes crear un archivo .env
en la carpeta travels-mcp
con el siguiente contenido:
AMADEUS_CLIENT_ID=tu_client_id
AMADEUS_CLIENT_SECRET=tu_client_secret
# Opcionales
HOST=0.0.0.0
PORT=8007
USE_SSE=true
RELOAD=true
Ejecutar con Docker Compose
Desde la carpeta travels-mcp
:
docker compose up -d --build
- El servicio expone el puerto
8007
(mapeado host:contenedor8007:8007
). - Los logs del servicio se montan en
./logs
. - El código fuente se monta en
./src
para facilitar desarrollo.
Para ver logs:
docker compose logs -f
Para detener:
docker compose down
Healthcheck y verificación
El contenedor define un healthcheck que consulta el endpoint SSE http://localhost:8007/sse/
.
- Estado del contenedor:
docker compose ps
- Verificación manual rápida:
curl -i http://localhost:8007/sse/
Si las variables AMADEUS_CLIENT_ID
o AMADEUS_CLIENT_SECRET
no están configuradas, el servicio no iniciará. Usa ./check-env.sh
para validar el entorno localmente en caso de necesitarlo.
Desarrollo
- Hot-reload habilitado (
RELOAD=true
) y volumen de./src
montado. Cambios en el código se reflejan sin reconstruir la imagen en la mayoría de los casos. - Scripts relevantes:
start-server.sh
: arranca el servidor SSE y valida entornocheck-env.sh
: valida variables/archivos/directorios requeridoshealthcheck.sh
: verificación de estado del endpoint SSE
Estructura de módulos (tools)
Las rutas/tools se registran en src/travels/routes.py
e incluyen:
auth
: autenticación y consulta de tokenflights
: búsqueda de ofertas, pricing, órdenes, seatmaps, destinos, disponibilidadhotels
: hoteles por ciudad/ids/geocode, ofertas, órdenes, sentimientos, locations hotelactivities
: actividades por geolocalización, por ID y por bounding boxanalytics
: tráfico aéreo (traveled/booked/busiest), métricas de precio de itinerariostravel_predictions
: demoras de vuelo, on-time de aeropuerto, propósito de viajetransfers
: offers, orders y cancelaciónschedule
: vuelos programadosreference_data
: locations, aeropuertos por geocode, aerolíneas, check-in links, destinos, ciudades
Notas
- El servidor usa transporte SSE a través de
fastmcp
y escucha por defecto en0.0.0.0:8007
. - No es necesario copiar colecciones de Postman dentro de la imagen Docker.