Rakuten Travel
Busca hoteles y verifica su disponibilidad utilizando la API de Rakuten Travel.
GitHub
1
Prueba este MCPPatrocinadoDocumentación
Servidor MCP de Rakuten Travel
Un servidor de Model Context Protocol (MCP) que proporciona una interfaz para la API de Rakuten Travel para búsqueda de hoteles y verificación de disponibilidad.
Características
- Búsqueda de Hoteles: Busca hoteles por ubicación, número de hotel o código de área
- Búsqueda de Disponibilidad: Encuentra hoteles vacantes con disponibilidad en tiempo real
- Recurso de Código de Área: Accede a datos jerárquicos de ubicaciones en Japón
- Seguridad de Tipos: Tipos TypeScript completos con validación Zod
- Compatible con MCP: Funciona con cualquier cliente compatible con MCP
Requisitos Previos
- Deno runtime instalado
- ID de Aplicación de la API de Rakuten Travel (Obtén uno aquí)
Instalación
- Clona el repositorio:
git clone https://github.com/yourusername/rakuten_travel_mcp.git
cd rakuten_travel_mcp
Uso
Ejecutar el Servidor
- Configura tu cliente MCP. (el siguiente ejemplo es para
Claude Desktop)
```json
{
"mcpServers": {
"rakuten_travel_mcp": {
"command": "deno",
"args": [
"run",
"--allow-net=app.rakuten.co.jp",
"--allow-env=APPLICATION_ID",
"/path/to/rakuten_travel_mcp/serve.ts"
],
"env": {
"APPLICATION_ID": "<your_application_id>"
}
}
}
}
Herramientas Disponibles
1. Búsqueda de Hoteles (hotel-search)
Busca hoteles usando varios criterios:
Búsqueda por Número de Hotel:
{
"hotelNo": ["123456", "789012"]
}
Búsqueda por Coordenadas:
{
"latitude": 35.6762,
"longitude": 139.6503,
"searchRadius": 3,
"datumType": 1
}
Búsqueda por Código de Área:
{
"largeClassCode": "japan",
"middleClassCode": "tokyo",
"smallClassCode": "shibuya"
}
2. Búsqueda de Hoteles Vacantes (vacant-hotel-search)
Busca hoteles disponibles:
{
"checkinDate": "2024-03-15",
"checkoutDate": "2024-03-17",
"rooms": 1,
"adultNum": 2,
"largeClassCode": "japan",
"middleClassCode": "tokyo"
}
Recursos Disponibles
Recurso de Código de Área (config://area_code)
Accede a datos jerárquicos de ubicaciones en Japón:
- Nivel de país (por ejemplo, "japan")
- Nivel de prefectura (por ejemplo, "tokyo", "osaka")
- Nivel de ciudad (por ejemplo, "shibuya", "shinjuku")
- Nivel de área (distritos detallados)
Desarrollo
Ejecutar Pruebas
# Run all tests
deno task test
# Run tests in watch mode
deno task test:watch
Estructura del Proyecto
rakuten_travel_mcp/
├── serve.ts # Main MCP server implementation
├── types.ts # TypeScript types and Zod schemas
├── area_code.json # Hierarchical location data
├── *.test.ts # Test files
├── deno.json # Deno configuration
└── .env # Environment variables (create this)
Parámetros de la API
Parámetros Comunes
hits: Número de resultados por página (1-30, predeterminado: 30)page: Número de página para paginaciónsort: Orden de clasificación (varias opciones disponibles)
Específicos de Búsqueda de Hoteles
hotelNo: Matriz de números de hotellatitude/longitude: Coordenadas para búsqueda geográficasearchRadius: Radio de búsqueda en km (1-3)squeezeCondition: Filtro para hoteles con/sin vacanteshotelType: Filtro por tipo de hotel (0-3)
Específicos de Búsqueda de Hoteles Vacantes
checkinDate/checkoutDate: Fechas requeridas (AAAA-MM-DD)rooms: Número de habitaciones (1-5)adultNum: Adultos por habitación (1-5)minCharge/maxCharge: Filtros de rango de precios
Pruebas
El proyecto incluye pruebas completas para:
- Validación de esquemas
- Construcción de parámetros de API
- Procesamiento de respuestas
- Manejo de errores
- Tiempos de espera de red
Manejo de Errores
El servidor maneja varios escenarios de error:
- Parámetros requeridos faltantes
- Formatos de fecha inválidos
- Límites de velocidad de la API
- Tiempos de espera de red
- Respuestas de API inválidas
Contribuciones
- Haz un fork del repositorio
- Crea tu rama de características (
git checkout -b feature/amazing-feature) - Haz commit de tus cambios (
git commit -m 'Add some amazing feature') - Haz push a la rama (
git push origin feature/amazing-feature) - Abre una Solicitud de Extracción
Licencia
Este proyecto está licenciado bajo la Licencia MIT - consulta el archivo LICENSE para más detalles.
Agradecimientos
- Construido con Model Context Protocol SDK
- Impulsado por Rakuten Travel API