Pular para o conteúdo
MCP · Model Context Protocol

Uma integração MCP.
Todos os fornecedores.

A interface de distribuição unificada para agentes de IA: busca, tarifas em tempo real e reserva confirmada em duas etapas, com cotações que trazem as próprias evidências e regras de preço que você configura.

O novo imposto de integração

Cada fornecedor hoteleiro está lançando o próprio MCP. Cada integração significa mais uma conta, mais um espaço de IDs, mais uma caixa-preta de preços — seu agente reconstrói o mesmo encanamento para cada fornecedor, para sempre.

supplier-MCP × N → N × (auth + ids + pricing + ops)
HotelByte

Agregue uma única vez

Todos os conectores de fornecedores (Dida, Tourmind, Yalago, Hotelbeds, ...) ficam por trás de uma única superfície de ferramentas MCP. Quando um fornecedor lançar o próprio MCP amanhã, ele vira mais uma fonte upstream para nós — não mais uma integração para você.

your-agent → /mcp → todos os fornecedores

Três formas de entrar

Mesma superfície de ferramentas, mesmo contrato — escolha o caminho que combina com onde o seu agente roda.

Gateway local

Máquinas que você controla (Claude Code / Cursor / Codex): o hbcli executa um gateway stdio local; a chave fica no cofre de credenciais local e as configurações do agente não carregam nenhum segredo.

{ "mcpServers": { "hotelbyte":
  { "command": "hbcli", "args": ["mcp", "serve"] } } }

Chave estática

Plataformas hospedadas e CI: gere uma chave estática de inatividade longa (só expira após 30 dias sem uso; vida útil absoluta limitada pelo servidor a 365 dias) e coloque-a direto na configuração.

$ hbcli mcp token
{ "type": "http", "url": "https://…/mcp",
  "headers": { "Authorization": "Bearer <token>" } }

Conectores de plataforma OAuth 2.1

Claude web / conectores do ChatGPT: descoberta padrão RFC 9728/8414, registro dinâmico e PKCE. A página de consentimento é hospedada do nosso lado; o token é um JWT da plataforma.

GET /.well-known/oauth-protected-resource
→ 401 WWW-Authenticate: resource_metadata=…

Conecte seu agente em um minuto

Cada card começa com um único comando — hbcli mcp setup <client> — que grava a configuração (ou exibe seu token e os campos exatos para colar) e verifica a conexão. As ferramentas de escrita continuam exigindo confirmação explícita.

Sem cadastro — teste agora

hbcli mcp setup <client> --demo já funciona — a identidade compartilhada do sandbox vem embutida na CLI, sem conta e sem credenciais. Busque hotéis reais em segundos; migre para o seu próprio tenant quando quiser mais.

Use o seu próprio tenant

Cadastre-se no portal, emita credenciais de API e depois rode hbcli auth set-credentials && hbcli mcp setup — suas regras de fornecedores, seu markup, seus clientes. Um mesmo usuário pode ter as duas identidades.

Claude CodeCLI

HTTP remoto em uma linha; ou o gateway stdio local para manter as chaves fora da rede.

hbcli mcp setup claude-code
# runs: claude mcp add hotelbyte --scope user -- hbcli mcp serve
# (no claude on PATH? prints a paste-ready snippet instead)
CursorIDE

Global em ~/.cursor/mcp.json ou por projeto em .cursor/mcp.json.

hbcli mcp setup cursor
# merges hotelbyte into ~/.cursor/mcp.json
# (your other MCP servers are preserved)
ChatGPTConnector

Plugin personalizado (modo desenvolvedor): URL do MCP + autenticação por chave de API — escolha chave de API, não OAuth, ou a criação falha na verificação.

hbcli mcp setup chatgpt
# prints your token + the exact form fields:
#   Server URL:     https://api-test.hotelbyte.com/mcp
#   Authentication: API key   ← NOT OAuth
#   Header: Authorization · Value: Bearer <token>
GrokConnector · xAI

Conectores do Grok — servidor MCP personalizado no grok.com, na web e no celular.

hbcli mcp setup grok
# writes [mcp_servers.hotelbyte] into ~/.grok/config.toml
# web/mobile connectors instead: grok.com/connectors → Custom
#   (hbcli mcp setup generic prints a token for it)
CodexCLI

~/.codex/config.toml — o gateway stdio.

hbcli mcp setup codex
# appends [mcp_servers.hotelbyte] to ~/.codex/config.toml
AntigravityIDE · Google

A IDE agent-first do Google (2.0 no I/O 2026) — MCP nativo, controle do navegador e gerenciador de agentes.

hbcli mcp setup generic   # token + fields, then paste into mcp_config.json
{ "mcpServers": { "hotelbyte":
  { "command": "hbcli", "args": ["mcp", "serve"] } } }
# note: no "type" field in Antigravity configs
Devin DesktopAgent · Cognition

O app desktop de agentes autônomos da Cognition — antigo Windsurf (junho de 2026).

hbcli mcp setup generic   # token + URL
# Devin → Settings → MCP Marketplace → Add Your Own → paste
# (needs the Manage MCP Servers permission)
Claude Desktop · WebConnectors

Configurações → Extensões / Conectores → Adicionar conector personalizado: cole a URL do endpoint, autenticação = Bearer. Conectores de plataforma no estilo diretório usam o fluxo de descoberta OAuth 2.1 descrito acima.

hbcli mcp setup claude-connectors
# prints your token, then:
#   Add custom connector → paste URL → auth: Bearer <token>
# order.book / order.cancel always require confirm=true
VS Code · CopilotIDE

Arquivo do workspace .vscode/mcp.json (tipo stdio).

hbcli mcp setup vscode
# writes .vscode/mcp.json in the current folder (servers key)
Qualquer agente · desenvolvimento próprioJSON-RPC

Nenhum SDK necessário: MCP sobre streamable-http são três chamadas JSON-RPC. Funciona em qualquer linguagem, framework ou runtime — inclusive em agentes que você mesmo constrói. Os SDKs oficiais (Python mcp, TypeScript @modelcontextprotocol/sdk) apontam para a mesma URL.

POST https://api-test.hotelbyte.com/mcp
Authorization: Bearer <token> · Accept: application/json, text/event-stream

# 1) initialize — protocol version + client info
{"jsonrpc":"2.0","id":1,"method":"initialize","params":{
  "protocolVersion":"2025-06-18","capabilities":{},
  "clientInfo":{"name":"my-agent","version":"1.0"}}}

# 2) tools/list — discover the tools and their schemas
{"jsonrpc":"2.0","id":2,"method":"tools/list"}

# 3) tools/call — search hotels in Dubai for two adults
{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{
  "name":"hotel.list","arguments":{
    "destinationName":"Dubai","checkIn":"2026-11-20","checkOut":"2026-11-22",
    "rooms":[{"adultCount":2}]}}}

Todo resultado retorna { response, evidence } — guarde o traceId para a conciliação. order.book exige check_avail antes e confirm=true; novas tentativas reutilizam o customerReferenceNo.

Origem do token: hbcli mcp token (chave estática que expira após 30 dias sem uso) ou qualquer ticket emitido pelo portal. Nunca cole credenciais de fornecedores aqui — o token é a sua identidade na HotelByte.

A superfície de ferramentas

As ferramentas cobrem a transação inteira. Ferramentas de escrita só existem quando uma implantação as habilita — e nunca executam sem confirmação explícita.

hotel.listleituraBusca hotéis; retorna o sessionId usado em todo o fluxo
hotel.ratesleituraTipos de quarto e tarifas em tempo real, com reembolsabilidade e multas de cancelamento
hotel.check_availleituraEtapa 1 de 2: reverifica inventário e preço antes de reservar
order.queryleituraConsulta de status do pedido e de números de confirmação
order.bookescrita · confirmarExige confirm=true; customerReferenceNo é a chave de idempotência
order.cancelescrita · confirmarExige confirm=true; o cancelamento pode ser cobrado e é irreversível

Cotações que trazem evidências

Todo resultado de ferramenta retorna { response, evidence }. A response espelha a API HTTP; o envelope de evidências torna cada cotação citável e rastreável — passe o traceId para o suporte e ele consegue reconstruir exatamente aquela cotação.

{
  "response": { "list": [ … ] },
  "evidence": {
    "tool": "hotel.list",
    "traceId": "20261003…",
    "sessionId": "S-2026…",
    "currency": "USD"
  }
}

Reservas com um limite rígido de confirmação

  1. hotel.rates — apresente ao usuário o preço, a reembolsabilidade e as multas de cancelamento.
  2. hotel.check_avail — reverifique a tarifa exata; preços em tempo real podem mudar.
  3. order.book com confirm=true — somente após o consentimento do usuário. Qualquer coisa a menos é rejeitada no servidor antes de o fluxo do pedido começar.
  4. Novas tentativas reutilizam o customerReferenceNo — idempotente por chave; duplicatas aparecem como um aviso leve que você precisa confirmar.

Teste o sandbox agora

UAT · no SLA

O endpoint do sandbox é acessível publicamente. Qualquer cliente MCP pode inicializar nele com um ticket válido:

curl -X POST https://api-test.hotelbyte.com/mcp \
  -H "Authorization: Bearer <ticket>" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Visão de compras

O que verificar ao avaliar uma interface de distribuição com IA

Neutro em relação a fornecedores. Três perguntas que separam uma camada de agregação de mais um MCP de inventário único — e como comprovar cada uma na hora.

What to check

Is this yet another single-inventory supplier MCP

What we do

No. We are the aggregation layer: every supplier connector sits behind one tool surface, and every new supplier MCP is just another upstream lane for us.

How to verify

Run hotel.list for one destinationName and check whether results span multiple suppliers with a true minimum price.

What to check

Can the agent accidentally fire a real booking

What we do

No. order.book requires confirm=true (after the user consents to the exact price, dates and cancellation policy); missing or false confirm is rejected server-side before the order flow starts.

How to verify

Call order.book without confirm and check for an explicit rejection and zero side effects.

What to check

How transparent is pricing

What we do

Every quote carries an evidence envelope (traceId / sessionId / currency / time) that is citable and traceable; cost and markup composition opens in tiers via configurable rules, not a black box.

How to verify

Take the traceId from a response and ask the vendor to reconstruct the full chain of that one quote.