Travel MCP Server

Un servidor integral de planificación de viajes para búsqueda de vuelos, reserva de alojamiento, cambio de

Documentación

Travel MCP Server

Un servidor de Model Context Protocol (MCP) para planificación integral de viajes, que proporciona búsqueda de vuelos, reserva de alojamiento, cambio de divisas, pronóstico del tiempo y capacidades de cálculo de presupuesto de viaje.

Características

  • 🛫 Búsqueda de Vuelos: Encuentra y compara vuelos con diversas opciones
  • 🏨 Búsqueda de Alojamiento: Busca hoteles, alquileres vacacionales y otros alojamientos
  • 💱 Cambio de Divisas: Obtén tipos de cambio en tiempo real para el presupuesto de viaje
  • 🌤️ Pronóstico del Tiempo: Consulta las condiciones meteorológicas para tus fechas de viaje
  • 💰 Calculadora de Presupuesto de Viaje: Calcula y planifica tus gastos de viaje

Instalación

  1. Clona el repositorio:
git clone <repository-url>
cd travel-mcp-server
  1. Instala las dependencias:
npm install
  1. Configura las variables de entorno:

Configuración de Claves de API

Necesitarás obtener claves de API de los siguientes servicios:

  1. API de Vuelos: Amadeus, Skyscanner u otro proveedor de datos de vuelos
  2. API de Alojamiento: Booking.com, Airbnb u otro servicio de alojamiento
  3. API de Cambio de Divisas: Fixer.io, ExchangeRate-API u otro servicio similar
  4. API del Tiempo: OpenWeatherMap, WeatherAPI u otro servicio meteorológico
  5. API de Google Places: Para recomendaciones de atracciones y restaurantes

Actualiza tu archivo .env con estas claves:

FLIGHT_API_KEY=your_flight_api_key
BOOKING_API_KEY=your_booking_api_key
EXCHANGE_API_KEY=your_exchange_api_key
WEATHER_API_KEY=your_weather_api_key
GOOGLE_PLACES_API_KEY=your_google_places_api_key

Uso

Desarrollo

Ejecuta el servidor en modo desarrollo con recarga en caliente:

npm run dev

Producción

Compila e inicia el servidor:

npm run build
npm start

Modo de Observación

Ejecuta con reinicio automático al cambiar archivos:

npm run watch

Herramientas Disponibles

El servidor MCP proporciona las siguientes herramientas:

1. Buscar Vuelos (search_flights)

Busca vuelos entre destinos con opciones personalizables.

Parámetros:

  • origin: Aeropuerto/ciudad de salida
  • destination: Aeropuerto/ciudad de llegada
  • departureDate: Fecha de salida
  • returnDate: Fecha de regreso (opcional para viaje de ida)
  • passengers: Número de pasajeros
  • class: Clase de vuelo (económica, ejecutiva, primera)

2. Buscar Alojamiento (search_accommodation)

Encuentra hoteles, alquileres vacacionales y otras opciones de alojamiento.

Parámetros:

  • destination: Ciudad o ubicación
  • checkIn: Fecha de entrada
  • checkOut: Fecha de salida
  • guests: Número de huéspedes
  • rooms: Número de habitaciones
  • type: Tipo de alojamiento (hotel, apartamento, etc.)

3. Obtener Tipo de Cambio (get_exchange_rate)

Obtén los tipos de cambio actuales entre divisas.

Parámetros:

  • from: Código de divisa de origen (p. ej., USD)
  • to: Código de divisa de destino (p. ej., EUR)
  • amount: Cantidad a convertir (opcional)

4. Obtener Pronóstico del Tiempo (get_weather_forecast)

Consulta las condiciones meteorológicas para tu destino de viaje.

Parámetros:

  • location: Ciudad o ubicación
  • date: Fecha para el pronóstico
  • days: Número de días a pronosticar (opcional)

5. Calcular Presupuesto de Viaje (calculate_trip_budget)

Calcula los costos estimados del viaje, incluidos vuelos, alojamiento y gastos diarios.

Parámetros:

  • destination: Destino de viaje
  • duration: Duración del viaje en días
  • travelers: Número de viajeros
  • category: Categoría de presupuesto (económico, medio, lujo)

Estructura del Proyecto

travel-mcp-server/
├── src/
│   ├── index.ts              # Main server entry point
│   └── services/
│       ├── FlightService.ts       # Flight search functionality
│       ├── AccommodationService.ts # Accommodation search
│       ├── CurrencyService.ts     # Currency exchange
│       └── WeatherService.ts      # Weather forecasting
├── dist/                     # Compiled TypeScript output
├── package.json             # Project dependencies and scripts
├── tsconfig.json           # TypeScript configuration
├── .env                    # Environment variables (not in repo)
├── .gitignore             # Git ignore rules
└── README.md              # This file

Integración con Clientes MCP

Este servidor se puede utilizar con cualquier cliente compatible con MCP, como:

  • Claude Desktop
  • Otros asistentes de IA compatibles con MCP
  • Aplicaciones de cliente MCP personalizadas

Añade el servidor a la configuración de tu cliente MCP:

{
  "mcpServers": {
    "travel-planner": {
      "command": "npx",
      "args": ["travel-mcp-server"]
    }
  }
}

Guía de Desarrollo

Stack Tecnológico

  • TypeScript: Desarrollo de JavaScript con seguridad de tipos
  • Node.js: Entorno de ejecución
  • MCP SDK: Implementación del Model Context Protocol
  • Axios: Cliente HTTP para solicitudes de API
  • Zod: Validación de esquemas
  • dotenv: Gestión de variables de entorno

Añadir Nuevos Servicios

  1. Crea una nueva clase de servicio en src/services/
  2. Implementa los métodos requeridos
  3. Registra el servicio en src/index.ts
  4. Añade las herramientas y manejadores correspondientes

Ejecutar Pruebas

npm test

Contribuciones

  1. Haz un fork del repositorio
  2. Crea una rama de características: git checkout -b feature-name
  3. Realiza tus cambios
  4. Ejecuta las pruebas: npm test
  5. Haz commit de tus cambios: git commit -m 'Add feature'
  6. Haz push a la rama: git push origin feature-name
  7. Envía una solicitud de extracción (pull request)

Licencia

Este proyecto está licenciado bajo la Licencia ISC; consulta el archivo LICENSE para más detalles.

Soporte

Si encuentras algún problema o tienes preguntas:

  1. Consulta la sección de Issues
  2. Crea un nuevo issue con información detallada
  3. Proporciona registros y pasos de reproducción

Hoja de Ruta

  • Añadir más integraciones de servicios de viaje
  • Implementar caché para respuestas de API
  • Añadir planificación de itinerarios de viaje
  • Soporte para coordinación de viajes en grupo
  • Integración con servicios de calendario
  • Aplicación móvil complementaria

Nota: Recuerda mantener tus claves de API seguras y nunca las subas al control de versiones. Utiliza siempre variables de entorno para la configuración sensible.