تكامل MCP واحد.
كل الموردين.
واجهة التوزيع الموحّدة لوكلاء الذكاء الاصطناعي: البحث والأسعار الحية والحجز المؤكَّد على مرحلتين — مع عروض أسعار تحمل أدلتها وقواعد تسعير تهيّئها بنفسك.
ضريبة التكامل الجديدة
موردو الفنادق يطلقون كلٌّ MCP خاصًا به. كل تكامل يعني حسابًا جديدًا وفضاء معرّفات جديدًا وصندوق تسعير أسود جديد — يعيد وكيلك بناء الأنابيب نفسها لكل مورد، إلى الأبد.
اجمع مرة واحدة
جميع موصّلات الموردين (Dida وTourmind وYalago وHotelbeds…) تعمل خلف سطح أدوات MCP واحد. حين يطلق موردٌ 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 للويب / موصلات 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 وليس 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 configsDevin 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الإعدادات ← الامتدادات / الموصلات ← إضافة موصل مخصص: الصق عنوان النقطة الطرفية، والمصادقة = 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)
豆包 · DoubaoWork agent · ByteDanceدوباو لسطح المكتب (وضع العمل) — موصلات MCP مخصصة في 技能·连接器: عنوان + رمز، أو أمر محلي.
hbcli mcp setup doubao # prints your token, then 豆包电脑版 → 技能·连接器: # 新建 → 自定义连接器 → URL + token # URL: https://api-test.hotelbyte.com/mcp # token: Bearer <token> # or command mode: hbcli mcp serve
WorkBuddyWorkbench · Tencentمنصة العمل الشاملة من Tencent — منصتها المفتوحة (سبتمبر 2026) تدعم موصلات MCP: جاهزة أو خادمك الخاص.
hbcli mcp setup workbuddy # prints your token, then WorkBuddy → MCP 连接器 → 自定义 Server: # URL: https://api-test.hotelbyte.com/mcp # Header: Authorization · Value: Bearer <token>
TraeIDE · ByteDanceمن ByteDance — لوحة MCP أو ملف .trae/mcp.json.
hbcli mcp setup trae # writes [mcp_servers.hotelbyte] into ~/.trae/traecli.toml # (read by both Traex.app and the trae CLI)
Coze · 扣子Agent platform · ByteDanceمنصة وكلاء من ByteDance — ألحق امتدادات MCP بأي بوت أو تدفق عمل.
hbcli mcp setup coze # prints your token, then Bot/工作流 → 扩展 → MCP: # Type: Streamable HTTP # URL: https://api-test.hotelbyte.com/mcp # Header: Authorization · Value: Bearer <token>
QoderIDE · Alibabaمنصة البرمجة الوكيلية من Alibaba — أضف MCP من الإعدادات.
hbcli mcp setup generic # token + fields
{ "mcpServers": { "hotelbyte":
{ "command": "hbcli", "args": ["mcp", "serve"] } } }
# MCP settings → paste JSON (stdio) or remote URLCodeBuddyIDE · Tencentمساعد البرمجة بالذكاء الاصطناعي من Tencent — أضف MCP من إعداداته.
hbcli mcp setup generic # token + fields
{ "mcpServers": { "hotelbyte":
{ "command": "hbcli", "args": ["mcp", "serve"] } } }
# MCP settings → import or pasteCherry StudioDesktop · open sourceعميل مكتبي مفتوح المصدر — الإعدادات ← خوادم MCP، بـ stdio أو streamable HTTP.
hbcli mcp setup cherry # prints your token, then 设置 → MCP 服务器 → 添加: # Type: Streamable HTTP · URL: .../mcp # Header: Authorization · Value: Bearer <token>
OpenClawOpen source · 2026وكيل المصدر المفتوح الصاعد لعام 2026 — تنسيق أدوات قائم على تدفقات العمل ويتحدث MCP.
hbcli mcp setup generic # token + fields # register hotelbyte as an MCP tool source: transport: stdio command: hbcli mcp serve
HermesOpen source · 2026وكيل مفتوح المصدر مستقل بذاكرة طويلة الأمد — نداءات الأدوات متوافقة مع MCP.
hbcli mcp setup generic # token + fields Type: Streamable HTTP URL: https://api-test.hotelbyte.com/mcp Header: Authorization: Bearer <token>
ClineVS Code agentوكيل VS Code مفتوح المصدر — لوحة MCP Servers ← Configure.
hbcli mcp setup cline # merges hotelbyte into cline_mcp_settings.json
Roo CodeVS Code agentوكيل VS Code مفتوح المصدر (من عائلة Cline) — إعدادات MCP.
hbcli mcp setup generic # token + fields # Roo Code → MCP Servers → Edit JSON → paste the snippet
Open WebUISelf-hosted chatواجهة محادثة ذاتية الاستضافة — اربط أي خادم MCP عبر mcpo ثم أضفه كأداة.
hbcli mcp setup generic # token + fields uvx mcpo --port 8010 -- hbcli mcp serve # Open WebUI → Settings → Tools → http://localhost:8010
LangChain · LangGraphFrameworkأطر وكلاء Python — حزمة langchain-mcp-adapters تكشف الأدوات مباشرة.
hbcli mcp setup generic # get the token first
from langchain_mcp_adapters.client import MultiServerMCPClient
client = MultiServerMCPClient({"hotelbyte": {
"url": "https://api-test.hotelbyte.com/mcp",
"transport": "streamable_http",
"headers": {"Authorization": "Bearer <token>"}}})
tools = await client.get_tools()CrewAIFrameworkتنسيق متعدد الوكلاء — MCPServerAdapter يحوّل نقطة النهاية إلى أدوات للفريق.
hbcli mcp setup generic # get the token first
from crewai_tools import MCPServerAdapter
adapter = MCPServerAdapter({"hotelbyte": {
"url": "https://api-test.hotelbyte.com/mcp",
"headers": {"Authorization": "Bearer <token>"}}})
tools = adapter.tools()Dots · ChatGPTDevDay · 2026-09وكلاء OpenAI الدائمون (DevDay 2026، 29 سبتمبر) — كل dot يعمل على حاسوبه السحابي الخاص؛ اربط التوريد الفندقي كإضافة.
hbcli mcp setup generic # token + fields 1. Settings → Security and login → Developer mode: ON 2. chatgpt.com/plugins → “+” → add MCP server (Bearer <token>) 3. Dot profile → Customize → Plugins → enable hotelbyte
InstinctPersonal · 2026-08الوكيل الشخصي الفيروسي عبر الرسائل (يحجز رحلات وفنادق عبر iMessage/WhatsApp) — مستضاف، فيدخل التوريد من جانب المنصة.
Hosted agent — no client-side config. Its platform team integrates the unified API / MCP behind the scenes: one contract, all suppliers. → Partner integration: sales@hotelbyte.com
KarpoPersonal · 2026رفيق المدينة من MachinePulse داخل iMessage — خطط ومطاعم وإقامات استباقية؛ التوريد من جانب المنصة.
Hosted agent — no client-side config. City-plan tools call the unified API / MCP behind the scenes: one contract, all suppliers. → Partner integration: sales@hotelbyte.com
أي وكيل · ذاتي البناءJSON-RPCلا حاجة إلى SDK: MCP عبر streamable-http هو ثلاث نداءات JSON-RPC. يعمل من أي لغة أو إطار أو بيئة تشغيل — بما في ذلك الوكلاء الذين تبنيهم بنفسك. وتشير حزم SDK الرسمية (Python mcp و TypeScript @modelcontextprotocol/sdk) إلى العنوان نفسه.
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 يوم خمول) أو أي تذكرة توقعها المنصة. لا تُلصق اعتمادات الموردين هنا — الرمز هو هويتك لدى HotelByte.
سطح الأدوات
الأدوات تغطي المعاملة كاملة. أدوات الكتابة توجد فقط حين يفعّلها النشر — ولا تُنفَّذ أبدًا دون تأكيد صريح.
hotel.listقراءةابحث عن الفنادق؛ يعيد sessionId المستخدم عبر التدفق كاملًاhotel.ratesقراءةأنواع الغرف والأسعار الحية، مع قابلية الاسترداد ورسوم الإلغاءhotel.check_availقراءةالمرحلة الأولى من اثنتين: أعد التحقق من المخزون والسعر قبل الحجزorder.queryقراءةحالة الطلب والاستعلام عن أرقام التأكيدorder.bookكتابة · تأكيديتطلب confirm=true؛ وcustomerReferenceNo هو مفتاح idempotencyorder.cancelكتابة · تأكيديتطلب confirm=true؛ قد يُرسَم الإلغاء وهو غير قابل للتراجععروض أسعار تحمل أدلتها
كل نتيجة أداة تعيد { response, evidence }. تعكس response واجهة HTTP نفسها؛ ومغلّف الأدلة يجعل كل عرض سعر قابلًا للاقتباس والتتبع — سلّم traceId للدعم فيمكنهم إعادة بناء ذلك العرض تحديدًا.
{
"response": { "list": [ … ] },
"evidence": {
"tool": "hotel.list",
"traceId": "20261003…",
"sessionId": "S-2026…",
"currency": "USD"
}
}حجز بحدّ تأكيد صارم
- hotel.rates — اعرض السعر وقابلية الاسترداد ورسوم الإلغاء على المستخدم.
- hotel.check_avail — أعد التحقق من السعر الدقيق؛ الأسعار الحية تتحرك.
- order.book مع confirm=true — فقط بعد موافقة المستخدم. أي شيء أقل يُرفض من الخادم قبل بدء تدفق الطلب.
- تعيد المحاولات استخدام customerReferenceNo — idempotent بالمفتاح، والتكرارات تظهر تحذيرًا لينًا يجب تأكيده.
جرّب البيئة التجريبية الآن
UAT · no SLAنقطة البيئة التجريبية متاحة للوصول العام. يمكن لأي عميل MCP التهيئة ضدها بتذكرة صالحة:
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"}'منظور المشتريات
ماذا تفحص عند تقييم واجهة توزيع بالذكاء الاصطناعي
محايد تجاه الموردين. ثلاثة أسئلة تفصل طبقة التجميع عن MCP آخر بمخزون واحد — وكيف تثبت كل نقطة في الحال.
هل هو مجرد MCP مورد آخر «بمخزونه الخاص فقط»؟
لا. نحن طبقة التجميع: جميع موصّلات الموردين خلف سطح أدوات واحد، وMCP الجديد لأي مورد مستقبلي ليس سوى مسار صاعد إضافي لنا.
شغّل hotel.list على destinationName واحد وراقب هل تغطي النتائج عروضًا وأدنى سعر حقيقي من عدة موردين.
هل قد يطلق الوكيل حجزًا حقيقيًا بالخطأ؟
لا. يجب أن يحمل order.book confirm=true (بعد موافقة المستخدم على السعر والتواريخ وسياسة الإلغاء بدقة)؛ النداءات بدونه تُرفض من الخادم ولا يبدأ تدفق الطلب أصلًا.
نادِ order.book دون معامل confirm ولاحظ الرفض الصريح وعدم نشوء أي طلب.
إلى أي مدى شفافية الأسعار؟
كل عرض سعر يحمل مغلّف أدلة (traceId / sessionId / العملة / الوقت)، قابل للاقتباس والتتبع؛ والفتح المتدرّج لتكوين التكلفة والهامش يحكمه تكوين القواعد لا الصندوق الأسود.
خذ traceId من النتيجة واطلب من الطرف الآخر مطابقته وإعادة بناء السلسلة الكاملة لذلك العرض.