Aller au contenu
MCP · Model Context Protocol

Une seule intégration MCP.
Tous les fournisseurs.

L’interface de distribution unifiée pour les agents IA : recherche, tarifs en temps réel et réservation confirmée en deux étapes, avec des devis qui portent leurs propres preuves et des règles tarifaires que vous configurez.

La nouvelle taxe d’intégration

Chaque fournisseur hôtelier lance son propre MCP. Chaque intégration, c’est un nouveau compte, un nouvel espace d’identifiants, une nouvelle boîte noire tarifaire : votre agent reconstruit la même tuyauterie pour chaque fournisseur, indéfiniment.

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

Agrégez une seule fois

Tous les connecteurs fournisseurs (Dida, Tourmind, Yalago, Hotelbeds, ...) se trouvent derrière une seule surface d’outils MCP. Quand un fournisseur lancera son propre MCP demain, ce sera une source amont de plus pour nous, pas une intégration de plus pour vous.

your-agent → /mcp → tous les fournisseurs

Trois points d’entrée

Même surface d’outils, même contrat : choisissez le parcours adapté à l’environnement d’exécution de votre agent.

Passerelle locale

Machines que vous contrôlez (Claude Code / Cursor / Codex) : hbcli lance une passerelle stdio locale ; la clé reste dans le magasin d’identifiants local et les configurations d’agent ne contiennent aucun secret.

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

Clé statique

Plateformes hébergées et CI : générez une clé statique à longue durée d’inactivité (elle n’expire qu’après 30 jours d’inactivité ; durée de vie absolue plafonnée à 365 jours côté serveur) et placez-la directement dans la configuration.

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

Connecteurs de plateforme OAuth 2.1

Claude web / connecteurs ChatGPT : découverte standard RFC 9728/8414, enregistrement dynamique et PKCE. La page de consentement est hébergée de notre côté ; le token est un JWT de la plateforme.

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

Connectez votre agent en une minute

Chaque carte commence par une seule commande, hbcli mcp setup <client>, qui écrit la configuration (ou affiche votre token et les champs exacts à coller) et vérifie la connexion. Les outils d’écriture exigent toujours une confirmation explicite.

Sans inscription — essayez maintenant

hbcli mcp setup <client> --demo fonctionne dès maintenant : l’identité sandbox partagée est intégrée à la CLI, sans compte ni identifiants. Recherchez de vrais hôtels en quelques secondes ; passez à votre propre tenant dès que vous voulez aller plus loin.

Utilisez votre propre tenant

Inscrivez-vous sur le portail, émettez des identifiants API, puis lancez hbcli auth set-credentials && hbcli mcp setup : vos règles fournisseurs, votre marge, vos clients. Un même utilisateur peut détenir les deux identités.

Claude CodeCLI

HTTP distant en une ligne, ou la passerelle stdio locale pour que les clés ne transitent pas sur le réseau.

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 dans ~/.cursor/mcp.json, ou par projet dans .cursor/mcp.json.

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

Plugin personnalisé (mode développeur) : URL MCP + authentification par clé API. Choisissez clé API, pas OAuth, sinon la création échoue à la vérification.

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

Connecteurs Grok : serveur MCP personnalisé sur grok.com, sur le web et sur mobile.

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 — la passerelle stdio.

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

L’IDE agent-first de Google (2.0 à I/O 2026) : MCP natif, contrôle du navigateur, gestionnaire d’agents.

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

L’application de bureau d’agents autonomes de Cognition, anciennement Windsurf (juin 2026).

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

Paramètres → Extensions / Connecteurs → Ajouter un connecteur personnalisé : collez l’URL de l’endpoint, authentification = Bearer. Les connecteurs de plateforme de type annuaire utilisent le flux de découverte OAuth 2.1 décrit plus haut.

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

Fichier d’espace de travail .vscode/mcp.json (type stdio).

hbcli mcp setup vscode
# writes .vscode/mcp.json in the current folder (servers key)
Tout agent · développé en interneJSON-RPC

Aucun SDK requis : MCP sur streamable-http se résume à trois appels JSON-RPC. Fonctionne depuis n’importe quel langage, framework ou runtime, y compris les agents que vous développez vous-même. Les SDK officiels (Python mcp, TypeScript @modelcontextprotocol/sdk) pointent vers la même 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}]}}}

Chaque résultat renvoie { response, evidence } : conservez le traceId pour le rapprochement. order.book nécessite d’abord check_avail et confirm=true ; les nouvelles tentatives réutilisent customerReferenceNo.

Source du token : hbcli mcp token (clé statique qui expire après 30 jours d’inactivité) ou tout ticket émis par le portail. Ne collez jamais d’identifiants fournisseurs ici : le token est votre identité HotelByte.

La surface d’outils

Les outils couvrent l’intégralité de la transaction. Les outils d’écriture n’existent que lorsqu’un déploiement les active, et ne s’exécutent jamais sans confirmation explicite.

hotel.listlectureRecherche d’hôtels ; renvoie le sessionId utilisé tout au long du flux
hotel.rateslectureTypes de chambres et tarifs en temps réel, avec conditions de remboursement et frais d’annulation
hotel.check_availlectureÉtape 1 sur 2 : revérifier l’inventaire et le prix avant de réserver
order.querylectureConsultation du statut des commandes et des numéros de confirmation
order.bookécriture · confirmationRequiert confirm=true ; customerReferenceNo est la clé d’idempotence
order.cancelécriture · confirmationRequiert confirm=true ; l’annulation peut être facturée et est irréversible

Des devis qui portent leurs preuves

Chaque résultat d’outil renvoie { response, evidence }. La response reflète l’API HTTP ; l’enveloppe de preuves rend chaque devis citable et traçable : transmettez le traceId au support et il pourra reconstituer exactement ce devis.

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

Des réservations avec une frontière de confirmation stricte

  1. hotel.rates — présentez à l’utilisateur le prix, les conditions de remboursement et les frais d’annulation.
  2. hotel.check_avail — revérifiez le tarif exact ; les prix en temps réel peuvent bouger.
  3. order.book avec confirm=true — uniquement après le consentement de l’utilisateur. Tout le reste est rejeté côté serveur avant le démarrage du flux de commande.
  4. Les nouvelles tentatives réutilisent customerReferenceNo — idempotence par clé ; les doublons apparaissent sous forme d’avertissement léger à confirmer.

Essayez la sandbox maintenant

UAT · no SLA

L’endpoint de la sandbox est accessible publiquement. Tout client MCP peut s’y initialiser avec un ticket valide :

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"}'

Point de vue achats

Que vérifier pour évaluer une interface de distribution IA

Neutre vis-à-vis des fournisseurs. Trois questions distinguent une couche d’agrégation d’un énième MCP à inventaire unique, et comment vérifier chaque point sur-le-champ.

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.