Zum Inhalt springen
MCP · Model Context Protocol

Eine MCP-Integration.
Alle Lieferanten.

Die einheitliche Vertriebsschnittstelle für KI-Agenten: Suche, Live-Raten und zweistufig bestätigte Buchung – mit Angeboten, die ihre eigenen Nachweise mitführen, und Preisregeln, die Sie selbst konfigurieren.

Die neue Integrationssteuer

Hotellieferanten bringen jeweils ihr eigenes MCP heraus. Jede Integration bedeutet ein weiteres Konto, einen weiteren ID-Raum, eine weitere Preis-Blackbox – Ihr Agent baut für jeden Lieferanten dieselben Anbindungen neu, ohne Ende.

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

Einmal aggregieren

Alle Lieferanten-Connectoren (Dida, Tourmind, Yalago, Hotelbeds, ...) liegen hinter einer einzigen MCP-Tool-Oberfläche. Bringt ein Lieferant morgen sein eigenes MCP heraus, wird es für uns ein weiterer Upstream-Kanal – keine weitere Integration für Sie.

your-agent → /mcp → alle Lieferanten

Drei Zugangswege

Dieselbe Tool-Oberfläche, derselbe Vertrag – wählen Sie den Weg, der zur Laufzeitumgebung Ihres Agenten passt.

Lokales Gateway

Rechner unter Ihrer Kontrolle (Claude Code / Cursor / Codex): hbcli betreibt ein lokales stdio-Gateway; der Schlüssel bleibt im lokalen Credential Store, und die Agent-Konfigurationen enthalten keinerlei Geheimnisse.

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

Statischer Schlüssel

Gehostete Plattformen und CI: Erzeugen Sie einen langlebigen statischen Schlüssel (verfällt erst nach 30 inaktiven Tagen; absolute Lebensdauer serverseitig auf 365 Tage begrenzt) und tragen Sie ihn direkt in die Konfiguration ein.

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

Plattform-Connectoren mit OAuth 2.1

Claude Web / ChatGPT-Connectoren: standardisierte Discovery nach RFC 9728/8414, dynamische Registrierung und PKCE. Die Zustimmungsseite wird von uns gehostet; das Token ist ein Plattform-JWT.

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

Verbinden Sie Ihren Agenten in einer Minute

Jede Karte beginnt mit einem Befehl – hbcli mcp setup <client> –, der die Konfiguration schreibt (oder Ihr Token samt der exakt einzufügenden Felder ausgibt) und die Verbindung prüft. Schreibende Tools erfordern weiterhin eine ausdrückliche Bestätigung.

Ohne Registrierung – jetzt testen

hbcli mcp setup <client> --demo funktioniert sofort – die gemeinsame Sandbox-Identität ist in die CLI integriert, ohne Konto und ohne Zugangsdaten. Suchen Sie in Sekunden echte Hotels; wechseln Sie jederzeit zu Ihrem eigenen Mandanten, wenn Sie mehr brauchen.

Eigenen Mandanten nutzen

Registrieren Sie sich im Portal, erstellen Sie API-Zugangsdaten und führen Sie dann hbcli auth set-credentials && hbcli mcp setup aus – Ihre Lieferantenregeln, Ihr Aufschlag, Ihre Kunden. Ein Benutzer kann beide Identitäten gleichzeitig nutzen.

Claude CodeCLI

Remote-HTTP per Einzeiler – oder das lokale stdio-Gateway, damit Schlüssel nicht über das Netz gehen.

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 in ~/.cursor/mcp.json oder pro Projekt in .cursor/mcp.json.

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

Benutzerdefiniertes Plugin (Entwicklermodus): MCP-URL + API-Key-Authentifizierung – wählen Sie API-Key, nicht OAuth, sonst schlägt die Erstellung bereits beim Verbindungstest fehl.

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

Grok-Connectoren – benutzerdefinierter MCP-Server auf grok.com, für Web und Mobil.

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 – das stdio-Gateway.

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

Googles Agent-first-IDE (2.0 auf der I/O 2026) – natives MCP, Browsersteuerung, Agent-Manager.

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

Der autonome Agenten-Desktop von Cognition – vormals Windsurf (Juni 2026).

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

Einstellungen → Erweiterungen / Connectoren → Benutzerdefinierten Connector hinzufügen: Endpunkt-URL einfügen, Authentifizierung = Bearer. Plattform-Connectoren im Verzeichnisstil nutzen den oben beschriebenen Discovery-Flow nach OAuth 2.1.

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

Workspace-Datei .vscode/mcp.json (Typ stdio).

hbcli mcp setup vscode
# writes .vscode/mcp.json in the current folder (servers key)
Beliebiger Agent · EigenentwicklungJSON-RPC

Kein SDK nötig: MCP über streamable-http besteht aus drei JSON-RPC-Aufrufen. Funktioniert mit jeder Sprache, jedem Framework und jeder Runtime – auch mit selbst entwickelten Agenten. Die offiziellen SDKs (Python mcp, TypeScript @modelcontextprotocol/sdk) zeigen auf dieselbe 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}]}}}

Jedes Ergebnis liefert { response, evidence } – bewahren Sie die traceId für den Abgleich auf. order.book erfordert zuerst check_avail und confirm=true; Wiederholungen verwenden dieselbe customerReferenceNo.

Token-Quelle: hbcli mcp token (statischer Schlüssel, verfällt nach 30 inaktiven Tagen) oder ein beliebiges vom Portal ausgestelltes Ticket. Fügen Sie hier niemals Lieferanten-Zugangsdaten ein – das Token ist Ihre HotelByte-Identität.

Die Tool-Oberfläche

Die Tools decken die gesamte Transaktion ab. Schreibende Tools existieren nur, wenn ein Deployment sie aktiviert – und werden nie ohne ausdrückliche Bestätigung ausgeführt.

hotel.listLesenHotels suchen; liefert die sessionId, die durch den gesamten Ablauf genutzt wird
hotel.ratesLesenZimmertypen und Live-Raten, inklusive Erstattbarkeit und Stornogebühren
hotel.check_availLesenPhase 1 von zwei: Verfügbarkeit und Preis vor der Buchung erneut prüfen
order.queryLesenBuchungsstatus und Abfrage von Bestätigungsnummern
order.bookSchreiben · BestätigungErfordert confirm=true; customerReferenceNo ist der Idempotenzschlüssel
order.cancelSchreiben · BestätigungErfordert confirm=true; eine Stornierung kann kostenpflichtig und unwiderruflich sein

Angebote mit Nachweis

Jedes Tool-Ergebnis liefert { response, evidence }. Die response spiegelt die HTTP-API; der Nachweisblock macht jedes Angebot zitierbar und nachvollziehbar – geben Sie die traceId an den Support weiter, und er kann genau dieses Angebot rekonstruieren.

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

Buchungen mit fester Bestätigungsgrenze

  1. hotel.rates – Preis, Erstattbarkeit und Stornogebühren dem Nutzer anzeigen.
  2. hotel.check_avail – den exakten Preis erneut prüfen; Live-Preise können sich ändern.
  3. order.book mit confirm=true – erst nach Zustimmung des Nutzers. Alles andere wird serverseitig abgelehnt, bevor der Buchungsablauf beginnt.
  4. Wiederholungen verwenden dieselbe customerReferenceNo – idempotent per Schlüssel; Duplikate erscheinen als weiche Warnung, die Sie bestätigen müssen.

Sandbox jetzt testen

UAT · no SLA

Der Sandbox-Endpunkt ist öffentlich erreichbar. Jeder MCP-Client kann sich mit einem gültigen Ticket daran initialisieren:

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

Einkaufsperspektive

Worauf Sie bei der Bewertung einer KI-Vertriebsschnittstelle achten sollten

Anbieterneutral. Drei Fragen unterscheiden eine Aggregationsschicht von einem weiteren MCP mit nur einem Inventar – und wie Sie jeden Punkt sofort überprüfen.

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.