Rakuten Travel
Pesquise hotéis e verifique a disponibilidade deles usando a API Rakuten Travel.
GitHub
1
Experimente este MCPPatrocinadoDocumentação
Servidor MCP Rakuten Travel
Um servidor Model Context Protocol (MCP) que fornece uma interface para a API Rakuten Travel para busca de hotéis e verificação de disponibilidade.
Recursos
- Busca de Hotéis: Busque hotéis por localização, número do hotel ou código de área
- Busca de Disponibilidade: Encontre hotéis vagos com disponibilidade em tempo real
- Recurso de Código de Área: Acesse dados hierárquicos de localização do Japão
- Type-Safe: Tipos TypeScript abrangentes com validação Zod
- Compatível com MCP: Funciona com qualquer cliente compatível com MCP
Pré-requisitos
- Deno runtime instalado
- ID de aplicação da API Rakuten Travel (Obtenha um aqui)
Instalação
- Clone o repositório:
git clone https://github.com/yourusername/rakuten_travel_mcp.git
cd rakuten_travel_mcp
Uso
Executando o Servidor
- Configure seu cliente MCP. (o exemplo a seguir é 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>"
}
}
}
}
Ferramentas Disponíveis
1. Busca de Hotéis (hotel-search)
Busque hotéis usando vários critérios:
Busca por Número do Hotel:
{
"hotelNo": ["123456", "789012"]
}
Busca por Coordenadas:
{
"latitude": 35.6762,
"longitude": 139.6503,
"searchRadius": 3,
"datumType": 1
}
Busca por Código de Área:
{
"largeClassCode": "japan",
"middleClassCode": "tokyo",
"smallClassCode": "shibuya"
}
2. Busca de Hotéis Disponíveis (vacant-hotel-search)
Busque hotéis disponíveis:
{
"checkinDate": "2024-03-15",
"checkoutDate": "2024-03-17",
"rooms": 1,
"adultNum": 2,
"largeClassCode": "japan",
"middleClassCode": "tokyo"
}
Recursos Disponíveis
Recurso de Código de Área (config://area_code)
Acesse dados hierárquicos de localização para o Japão:
- Nível de país (ex.: "japan")
- Nível de prefeitura (ex.: "tokyo", "osaka")
- Nível de cidade (ex.: "shibuya", "shinjuku")
- Nível de área (distritos detalhados)
Desenvolvimento
Executando Testes
# Run all tests
deno task test
# Run tests in watch mode
deno task test:watch
Estrutura do Projeto
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 da API
Parâmetros Comuns
hits: Número de resultados por página (1-30, padrão: 30)page: Número da página para paginaçãosort: Ordem de classificação (várias opções disponíveis)
Específicos da Busca de Hotéis
hotelNo: Matriz de números de hotéislatitude/longitude: Coordenadas para busca geográficasearchRadius: Raio de busca em km (1-3)squeezeCondition: Filtro para hotéis com/sem vagashotelType: Filtro por tipo de hotel (0-3)
Específicos da Busca de Hotéis Disponíveis
checkinDate/checkoutDate: Datas obrigatórias (AAAA-MM-DD)rooms: Número de quartos (1-5)adultNum: Adultos por quarto (1-5)minCharge/maxCharge: Filtros de faixa de preço
Testes
O projeto inclui testes abrangentes para:
- Validação de esquema
- Construção de parâmetros da API
- Processamento de respostas
- Tratamento de erros
- Timeouts de rede
Tratamento de Erros
O servidor lida com vários cenários de erro:
- Parâmetros obrigatórios ausentes
- Formatos de data inválidos
- Limites de taxa da API
- Timeouts de rede
- Respostas inválidas da API
Contribuindo
- Faça um fork do repositório
- Crie sua branch de recurso (
git checkout -b feature/amazing-feature) - Faça commit das suas alterações (
git commit -m 'Add some amazing feature') - Envie para a branch (
git push origin feature/amazing-feature) - Abra um Pull Request
Licença
Este projeto está licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.
Agradecimentos
- Construído com Model Context Protocol SDK
- Alimentado por Rakuten Travel API