amadeus-travelapi-mcp

pgallar/amadeus-travelapi-mcp

3.2

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.

Tools
9
Resources
0
Prompts
0

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 y AMADEUS_CLIENT_SECRET

Variables de entorno

  • Obligatorias:
    • AMADEUS_CLIENT_ID
    • AMADEUS_CLIENT_SECRET
  • Opcionales (ya definidas por defecto en docker-compose.yml o en start-server.sh):
    • HOST (por defecto 0.0.0.0)
    • PORT (por defecto 8007)
    • USE_SSE (por defecto true)
    • RELOAD (por defecto true 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:contenedor 8007: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 entorno
    • check-env.sh: valida variables/archivos/directorios requeridos
    • healthcheck.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 token
  • flights: búsqueda de ofertas, pricing, órdenes, seatmaps, destinos, disponibilidad
  • hotels: hoteles por ciudad/ids/geocode, ofertas, órdenes, sentimientos, locations hotel
  • activities: actividades por geolocalización, por ID y por bounding box
  • analytics: tráfico aéreo (traveled/booked/busiest), métricas de precio de itinerarios
  • travel_predictions: demoras de vuelo, on-time de aeropuerto, propósito de viaje
  • transfers: offers, orders y cancelación
  • schedule: vuelos programados
  • reference_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 en 0.0.0.0:8007.
  • No es necesario copiar colecciones de Postman dentro de la imagen Docker.