דילוג לתוכן
MCP · Model Context Protocol

אינטגרציית MCP אחת.
כל הספקים.

ממשק ההפצה המאוחד לסוכני AI: חיפוש, מחירים חיים והזמנה דו-שלבית עם אישור — עם הצעות מחיר שנושאות את הראיות שלהן וכללי תמחור שאתם מגדירים.

מס האינטגרציה החדש

ספקי המלונות משיקים כל אחד MCP משלו. כל אינטגרציה פירושה עוד חשבון, עוד מרחב מזהים, עוד קופסה שחורה של תמחור — והסוכן שלכם בונה מחדש את אותה צנרת לכל ספק, בלי סוף.

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

אגרגציה פעם אחת

כל מחברי הספקים (Dida,‏ Tourmind,‏ Yalago,‏ Hotelbeds ועוד) פועלים מאחורי ממשק כלים MCP אחד. כשספק ישיק מחר MCP משלו, הוא יהפוך עבורנו לעוד ערוץ upstream — לא לעוד אינטגרציה עבורכם.

your-agent → /mcp → כל הספקים

שלוש דרכי כניסה

אותו ממשק כלים, אותו חוזה — בחרו את המסלול שמתאים לסביבה שבה הסוכן שלכם רץ.

שער מקומי

מכונות שבשליטתכם (Claude Code /‏ Cursor /‏ Codex): הכלי hbcli מריץ שער stdio מקומי; המפתח נשאר במאגר פרטי הגישה המקומי, ובתצורות הסוכן אין שום סוד.

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

מפתח סטטי

פלטפורמות מנוהלות ו-CI: הנפיקו מפתח סטטי לטווח ארוך (פג רק לאחר 30 ימים ללא שימוש; משך החיים המוחלט מוגבל בצד השרת ל-365 ימים) והכניסו אותו ישירות לתצורה.

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

מחברי פלטפורמה ב-OAuth 2.1

מחברי Claude web /‏ ChatGPT: גילוי סטנדרטי לפי RFC 9728/8414, רישום דינמי ו-PKCE. דף ההסכמה מתארח אצלנו; הטוקן הוא JWT של הפלטפורמה.

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

חברו את הסוכן שלכם בתוך דקה

כל כרטיס מתחיל בפקודה אחת — hbcli mcp setup <client>‎ — שכותבת את התצורה (או מדפיסה את הטוקן שלכם יחד עם השדות המדויקים להדבקה) ומאמתת את החיבור. כלי כתיבה עדיין דורשים אישור מפורש.

בלי הרשמה — נסו עכשיו

הפקודה hbcli mcp setup <client> --demo עובדת כבר עכשיו — זהות ה-Sandbox המשותפת מובנית ב-CLI, בלי חשבון ובלי פרטי גישה. חפשו מלונות אמיתיים בתוך שניות, ושדרגו לטננט משלכם בכל פעם שתרצו יותר.

חברו את הטננט שלכם

הירשמו בפורטל, הנפיקו פרטי גישה ל-API, ואז הריצו hbcli auth set-credentials && hbcli mcp setup — כללי הספקים שלכם, המרווח שלכם, הלקוחות שלכם. משתמש אחד יכול להחזיק בשתי הזהויות במקביל.

Claude CodeCLI

חיבור HTTP מרוחק בשורה אחת; או שער stdio מקומי, כדי שהמפתחות לא יעברו ברשת.

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

גלובלית בקובץ ‎~/.cursor/mcp.json, או לכל פרויקט בקובץ ‎.cursor/mcp.json.

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

תוסף מותאם אישית (מצב מפתחים): כתובת MCP ואימות במפתח API — בחרו API key ולא OAuth, אחרת היצירה תיכשל כבר בבדיקת החיבור.

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 — שרת MCP מותאם אישית ב-grok.com, בווב ובמובייל.

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 — שער ה-stdio.

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

סביבת הפיתוח של Google שבנויה סביב סוכנים (גרסה 2.0 ב-I/O 2026) — MCP מובנה, שליטה בדפדפן, מנהל סוכנים.

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

אפליקציית הדסקטופ של הסוכן האוטונומי של Cognition — לשעבר Windsurf (יוני 2026).

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

הגדרות ← תוספים / מחברים ← הוספת מחבר מותאם אישית: הדביקו את כתובת ה-URL של נקודת הקצה, אימות = Bearer. מחברי פלטפורמה בסגנון מדריך משתמשים בתהליך הגילוי של 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

קובץ סביבת העבודה ‎.vscode/mcp.json (מסוג stdio).

hbcli mcp setup vscode
# writes .vscode/mcp.json in the current folder (servers key)
כל סוכן · פיתוח עצמיJSON-RPC

אין צורך ב-SDK: פרוטוקול MCP על גבי streamable-http הוא בסך הכול שלוש קריאות JSON-RPC. עובד מכל שפה, פריימוורק או סביבת ריצה — כולל סוכנים שאתם בונים בעצמכם. ערכות ה-SDK הרשמיות (Python mcp,‏ TypeScript @modelcontextprotocol/sdk) מצביעות על אותה כתובת 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}]}}}

כל תוצאה מחזירה { response, evidence } — שמרו את ה-traceId לצורך התאמה. order.book דורש קודם check_avail ו-confirm=true; ניסיונות חוזרים משתמשים שוב ב-customerReferenceNo.

מקור הטוקן: hbcli mcp token (מפתח סטטי שפג לאחר 30 ימים ללא שימוש) או כל כרטיס (ticket) שהונפק בפורטל. לעולם אל תדביקו כאן פרטי גישה של ספקים — הטוקן הוא הזהות שלכם ב-HotelByte.

ממשק הכלים

הכלים מכסים את העסקה כולה. כלי כתיבה קיימים רק כשהפריסה מפעילה אותם — ולעולם אינם מופעלים ללא אישור מפורש.

hotel.listקריאהחיפוש מלונות; מחזיר את ה-sessionId שמשמש לאורך כל התהליך
hotel.ratesקריאהסוגי חדרים ומחירים חיים, כולל אפשרות החזר ודמי ביטול
hotel.check_availקריאהשלב 1 מתוך שניים: אימות חוזר של הזמינות והמחיר לפני ההזמנה
order.queryקריאהסטטוס הזמנה ואיתור מספרי אישור
order.bookכתיבה · אישורדורש confirm=true; מפתח ה-idempotency הוא customerReferenceNo
order.cancelכתיבה · אישורדורש confirm=true; ביטול עשוי להיות כרוך בחיוב ואינו הפיך

הצעות מחיר שנושאות ראיות

כל תוצאת כלי מחזירה { response, evidence }. ה-response משקף את ה-HTTP API; מעטפת הראיות הופכת כל הצעת מחיר לניתנת לציטוט ולמעקב — מסרו את ה-traceId לתמיכה, והם יוכלו לשחזר בדיוק את אותה הצעת מחיר.

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

הזמנות עם גבול אישור נוקשה

  1. hotel.rates — הציגו למשתמש את המחיר, אפשרות ההחזר ודמי הביטול.
  2. hotel.check_avail — אמתו מחדש את המחיר המדויק; מחירים חיים יכולים להשתנות.
  3. order.book עם confirm=true — רק אחרי שהמשתמש אישר. כל דבר פחות מזה נדחה בצד השרת לפני שתהליך ההזמנה מתחיל.
  4. ניסיונות חוזרים משתמשים שוב ב-customerReferenceNo — idempotent לפי מפתח; כפילויות מופיעות כאזהרה רכה שעליכם לאשר.

נסו את ה-Sandbox עכשיו

UAT · no SLA

נקודת הקצה של ה-Sandbox נגישה לציבור. כל לקוח MCP יכול לבצע אתחול מולה עם כרטיס (ticket) תקף:

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

מנקודת המבט של הרכש

מה לבדוק כשמעריכים ממשק הפצה מבוסס AI

ללא תלות בספק מסוים. שלוש שאלות מבדילות בין שכבת אגרגציה לבין עוד MCP עם מלאי יחיד — וכך מוכיחים כל נקודה במקום.

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.