Travel MCP Server
by matiasvagli
README.md
# MCP Server - Travel
Un MCP Server para búsqueda de vuelos, hoteles, clima y atracciones turísticas.
## Características
- ✈️ **Búsqueda de Vuelos** - Encuentra vuelos de ida y vuelta entre aeropuertos
- 🏨 **Búsqueda de Hoteles** - Busca alojamientos por ciudad y fechas
- 🌤️ **Pronóstico del Clima** - Obtén el clima para tu destino
- 🎯 **Atracciones Turísticas** - Descubre museos, restaurantes y puntos de interés
- 🍽️ **Búsqueda de Restaurantes** - Encuentra restaurantes por tipo de cocina
## Instalación
### Requisitos
- Node.js 18 o superior
- npm o yarn
- APIs keys gratuitas (instrucciones abajo)
### Pasos
1. **Clonar el repositorio**
```bash
git clone <repo-url>
cd mcp-server-travel
```
2. **Instalar dependencias**
```bash
npm install
```
3. **Configurar API Keys**
```bash
cp .env.example .env
```
Luego editar `.env` con tus API keys:
```env
# Obtener en: https://openweathermap.org/api
OPENWEATHER_API_KEY=your_key_here
# Obtener en: https://developers.amadeus.com/
AMADEUS_API_KEY=your_key_here
# Obtener en: https://www.geoapify.com/
GEOAPIFY_API_KEY=your_key_here
```
## Desarrollo
### Ejecutar en modo desarrollo
```bash
npm run dev
```
El servidor se iniciará y mostrará los tools disponibles.
### Compilar TypeScript
```bash
npm run build
```
## Integración con clientes MCP
Este MCP Server es compatible con cualquier cliente que soporte el protocolo Model Context Protocol.
### Configuración del cliente
Consulta la documentación de tu cliente MCP para saber cómo agregar servidores MCP personalizados. Por ejemplo, para **Claude Desktop**, la configuración se realiza en:
### Ejemplo de configuración
Este es un ejemplo de cómo se vería la configuración (varía según el cliente):
```json
{
"mcpServers": {
"travel": {
"command": "node",
"args": ["/path/to/mcp-server-travel/dist/index.js"],
"env": {
"OPENWEATHER_API_KEY": "your_key_here",
"AMADEUS_API_KEY": "your_key_here",
"GEOAPIFY_API_KEY": "your_key_here"
}
}
}
}
```
### Configuración
- Reemplaza `/path/to/mcp-server-travel` con la ruta actual al directorio del proyecto
- Reemplaza los valores de `env` con tus API keys
- Reinicia tu cliente MCP para que los cambios tomen efecto
## Tools Disponibles
### ✈️ Vuelos
#### `search_flights`
Busca vuelos de ida entre dos aeropuertos.
**Parámetros:**
- `origin` (string): Código IATA del aeropuerto de origen (ej: "BUE", "JFK")
- `destination` (string): Código IATA del destino (ej: "FCO", "CDG")
- `departure_date` (string): Fecha de salida en formato YYYY-MM-DD
**Ejemplo:**
```
Buscar vuelos de Buenos Aires a Roma para el 15 de mayo
```
#### `search_round_trip_flights`
Busca vuelos de ida y vuelta.
**Parámetros:**
- `origin` (string): Código IATA del origen
- `destination` (string): Código IATA del destino
- `departure_date` (string): Fecha de salida (YYYY-MM-DD)
- `return_date` (string): Fecha de regreso (YYYY-MM-DD)
### 🏨 Hoteles
#### `search_hotels`
Busca hoteles en una ciudad para fechas específicas.
**Parámetros:**
- `city` (string): Nombre de la ciudad
- `check_in_date` (string): Fecha de entrada (YYYY-MM-DD)
- `check_out_date` (string): Fecha de salida (YYYY-MM-DD)
- `adults` (number, opcional): Número de adultos (default: 1)
#### `get_hotel_details`
Obtiene detalles y precios de un hotel específico.
**Parámetros:**
- `hotel_id` (string): ID del hotel
- `check_in_date` (string): Fecha de entrada (YYYY-MM-DD)
- `check_out_date` (string): Fecha de salida (YYYY-MM-DD)
### 🌤️ Clima
#### `get_weather`
Obtiene el pronóstico del clima para una ciudad en una fecha específica.
**Parámetros:**
- `city` (string): Nombre de la ciudad
- `date` (string): Fecha (YYYY-MM-DD)
#### `get_weather_forecast`
Obtiene el pronóstico extendido (hasta 5 días).
**Parámetros:**
- `city` (string): Nombre de la ciudad
- `start_date` (string): Fecha de inicio (YYYY-MM-DD)
- `days` (number, opcional): Número de días (default: 5, max: 5)
### 🎯 Atracciones
#### `search_attractions`
Busca atracciones turísticas por categoría.
**Parámetros:**
- `city` (string): Nombre de la ciudad
- `category` (string): Categoría (ej: "tourism", "museum", "park", "historic")
**Categorías disponibles:** tourism, museum, park, historic, restaurant, landmark
#### `search_attractions_by_categories`
Busca atracciones en múltiples categorías a la vez.
**Parámetros:**
- `city` (string): Nombre de la ciudad
- `categories` (array, opcional): Array de categorías
#### `search_restaurants`
Busca restaurantes, opcionalmente por tipo de cocina.
**Parámetros:**
- `city` (string): Nombre de la ciudad
- `cuisine` (string, opcional): Tipo de cocina (ej: "Italian", "Japanese")
## Códigos IATA Comunes
### Aeropuertos Argentina
- **BUE**: Buenos Aires (Ministro Pistarini)
- **ARB**: Buenos Aires (Aeroparque)
### Aeropuertos Principales
- **JFK**: Nueva York (John F. Kennedy)
- **LAX**: Los Ángeles
- **ORD**: Chicago
- **LHR**: Londres (Heathrow)
- **CDG**: París (Charles de Gaulle)
- **FCO**: Roma (Fiumicino)
- **MAD**: Madrid
- **BCN**: Barcelona
- **VCE**: Venecia
- **MIL**: Milán
## Licencia
MIT
## Soporte
Para reportar bugs o sugerencias, abre un issue en el repositorio.
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues