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
- Clona el repositorio:
git clone <repository-url>
cd travel-mcp-server
- Instala las dependencias:
npm install
- Configura las variables de entorno:
- Copia
.env.examplea.env - Completa tus claves de API (consulta Configuración de Claves de API)
- Copia
Configuración de Claves de API
Necesitarás obtener claves de API de los siguientes servicios:
- API de Vuelos: Amadeus, Skyscanner u otro proveedor de datos de vuelos
- API de Alojamiento: Booking.com, Airbnb u otro servicio de alojamiento
- API de Cambio de Divisas: Fixer.io, ExchangeRate-API u otro servicio similar
- API del Tiempo: OpenWeatherMap, WeatherAPI u otro servicio meteorológico
- 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 salidadestination: Aeropuerto/ciudad de llegadadepartureDate: Fecha de salidareturnDate: Fecha de regreso (opcional para viaje de ida)passengers: Número de pasajerosclass: 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óncheckIn: Fecha de entradacheckOut: Fecha de salidaguests: Número de huéspedesrooms: Número de habitacionestype: 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óndate: Fecha para el pronósticodays: 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 viajeduration: Duración del viaje en díastravelers: Número de viajeroscategory: 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
- Crea una nueva clase de servicio en
src/services/ - Implementa los métodos requeridos
- Registra el servicio en
src/index.ts - Añade las herramientas y manejadores correspondientes
Ejecutar Pruebas
npm test
Contribuciones
- Haz un fork del repositorio
- Crea una rama de características:
git checkout -b feature-name - Realiza tus cambios
- Ejecuta las pruebas:
npm test - Haz commit de tus cambios:
git commit -m 'Add feature' - Haz push a la rama:
git push origin feature-name - 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:
- Consulta la sección de Issues
- Crea un nuevo issue con información detallada
- 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.