Skip to main content
openclaw mcp له مهمتان:
  • تشغيل OpenClaw كخادم MCP باستخدام openclaw mcp serve
  • إدارة تعريفات خوادم MCP الصادرة التي يديرها OpenClaw باستخدام list وshow وstatus وdoctor وprobe وadd وset وconfigure وtools وlogin وlogout وreload وunset
يمثل serve عمل OpenClaw كخادم MCP. أما الأوامر الفرعية الأخرى فتمثل عمل OpenClaw كسجل من جانب عميل MCP للخوادم التي قد تستهلكها بيئات التشغيل الخاصة به لاحقًا.
لا تقرأ list وshow وset وunset إلا إدخالات mcp.servers التي يديرها OpenClaw في إعدادات OpenClaw ولا تكتب إلا إليها. وهي لا تتضمن خوادم mcporter من config/mcporter.json؛ استخدم mcporter list لذلك السجل.
استخدم openclaw acp عندما ينبغي أن يستضيف OpenClaw جلسة بيئة برمجة بنفسه ويوجّه بيئة التشغيل تلك عبر ACP.

اختيار مسار MCP المناسب

إذا لم تكن متأكدًا من المسار الذي تحتاج إليه، فابدأ بـ openclaw mcp status --verbose. فهو يعرض ما حفظه OpenClaw دون تشغيل أي خوادم MCP.

OpenClaw كخادم MCP

هذا هو مسار openclaw mcp serve.

متى تستخدم serve

استخدم openclaw mcp serve عندما:
  • ينبغي أن يتواصل Codex أو Claude Code أو عميل MCP آخر مباشرةً مع محادثات القنوات المدعومة من OpenClaw
  • لديك بالفعل Gateway محلي أو بعيد لـ OpenClaw مع جلسات موجّهة
  • تريد خادم MCP واحدًا يعمل عبر الواجهات الخلفية لقنوات OpenClaw بدلًا من تشغيل جسور منفصلة لكل قناة
استخدم openclaw acp بدلًا من ذلك عندما ينبغي أن يستضيف OpenClaw بيئة تشغيل البرمجة بنفسه ويُبقي جلسة الوكيل داخل OpenClaw.

آلية العمل

يبدأ openclaw mcp serve خادم MCP يعمل عبر stdio. يمتلك عميل MCP تلك العملية. وطالما أبقى العميل جلسة stdio مفتوحة، يتصل الجسر بـ Gateway محلي أو بعيد لـ OpenClaw عبر WebSocket ويعرض محادثات القنوات الموجّهة عبر MCP.
1

العميل يشغّل الجسر

يشغّل عميل MCP ‏openclaw mcp serve.
2

الجسر يتصل بـ Gateway

يتصل الجسر بـ Gateway الخاص بـ OpenClaw عبر WebSocket.
3

الجلسات تصبح محادثات MCP

تصبح الجلسات الموجّهة محادثات MCP وأدوات للنصوص المنسوخة/السجل.
4

إدراج الأحداث المباشرة في قائمة انتظار

توضع الأحداث المباشرة في قائمة انتظار بالذاكرة أثناء اتصال الجسر.
5

دفع Claude الاختياري

إذا كان وضع قناة Claude مفعّلًا، يمكن للجلسة نفسها أيضًا تلقي إشعارات دفع خاصة بـ Claude.
  • تبدأ حالة قائمة الانتظار المباشرة عند اتصال الجسر
  • يُقرأ سجل النصوص المنسوخة الأقدم باستخدام messages_read
  • لا توجد إشعارات دفع Claude إلا أثناء بقاء جلسة MCP نشطة
  • عندما ينقطع اتصال العميل، ينهي الجسر عمله وتزول قائمة الانتظار المباشرة
  • تنهي نقاط دخول الوكيل أحادية التنفيذ، مثل openclaw agent وopenclaw infer model run، أي بيئات تشغيل MCP مضمّنة تفتحها عند اكتمال الرد، ولذلك لا تتراكم عمليات MCP الفرعية العاملة عبر stdio مع التشغيلات البرمجية المتكررة
  • تُنهى خوادم MCP العاملة عبر stdio التي يشغّلها OpenClaw (سواء كانت مضمّنة أو أعدّها المستخدم) كشجرة عمليات عند إيقاف التشغيل، ولذلك لا تستمر العمليات الفرعية التي بدأها الخادم بعد خروج عميل stdio الأب
  • يؤدي حذف جلسة أو إعادة تعيينها إلى التخلص من عملاء MCP لتلك الجلسة عبر مسار تنظيف بيئة التشغيل المشترك، ولذلك لا تبقى اتصالات stdio عالقة ومرتبطة بجلسة أُزيلت

اختيار وضع العميل

أدوات MCP القياسية فقط. استخدم conversations_list وmessages_read وevents_poll وevents_wait وmessages_send وأدوات الموافقة.
حاليًا، يتصرف auto بالطريقة نفسها التي يتصرف بها on. لا يوجد حتى الآن اكتشاف لإمكانات العميل.

ما يعرضه serve

يستخدم الجسر بيانات تعريف مسار جلسة Gateway الحالية لعرض المحادثات المدعومة بالقنوات. تظهر المحادثة عندما تكون لدى OpenClaw بالفعل حالة جلسة ذات مسار معروف، مثل:
  • channel
  • بيانات تعريف المستلم أو الوجهة
  • accountId اختياري
  • threadId اختياري
يمنح ذلك عملاء MCP مكانًا واحدًا من أجل:
  • سرد المحادثات الموجّهة الحديثة
  • قراءة سجل النصوص المنسوخة الحديث
  • انتظار الأحداث الواردة الجديدة
  • إرسال رد عبر المسار نفسه
  • رؤية طلبات الموافقة التي تصل أثناء اتصال الجسر

الاستخدام

أدوات الجسر

يسرد المحادثات الحديثة المدعومة بالجلسات التي لديها بالفعل بيانات تعريف للمسار في حالة جلسة Gateway.عوامل التصفية: limit (بحد أقصى 500)، وsearch، وchannel، وincludeDerivedTitles، وincludeLastMessage.
يعيد محادثة واحدة حسب session_key باستخدام بحث مباشر عن جلسة Gateway.
يقرأ رسائل النصوص المنسوخة الحديثة لمحادثة واحدة مدعومة بجلسة. القيمة الافتراضية لـ limit هي 20، والحد الأقصى 200.
يستخرج كتل محتوى الرسالة غير النصية من رسالة واحدة في النص المنسوخ. هذا عرض لبيانات التعريف فوق محتوى النص المنسوخ، وليس مخزنًا مستقلًا ودائمًا لكتل المرفقات.
يقرأ الأحداث المباشرة الموضوعة في قائمة الانتظار منذ مؤشر رقمي. الحد الأقصى لـ limit هو 200.
يجري استقصاءً طويلًا حتى يصل الحدث المطابق التالي في قائمة الانتظار أو تنتهي المهلة (الافتراضي 30s، والحد الأقصى 300s).استخدم هذا عندما يحتاج عميل MCP عام إلى تسليم شبه فوري دون بروتوكول دفع خاص بـ Claude.
يرسل نصًا عبر المسار نفسه المسجّل بالفعل في الجلسة.السلوك الحالي:
  • يتطلب مسار محادثة موجودًا
  • يستخدم قناة الجلسة والمستلم ومعرّف الحساب ومعرّف سلسلة المحادثة
  • يرسل النص فقط
يسرد طلبات الموافقة المعلقة للتنفيذ/Plugin التي رصدها الجسر منذ اتصاله بـ Gateway.
يحسم طلب موافقة واحدًا معلقًا للتنفيذ/Plugin باستخدام:
  • allow-once
  • allow-always
  • deny

نموذج الأحداث

يحتفظ الجسر بقائمة انتظار أحداث في الذاكرة أثناء اتصاله. أنواع الأحداث الحالية:
  • message
  • exec_approval_requested
  • exec_approval_resolved
  • plugin_approval_requested
  • plugin_approval_resolved
  • claude_permission_request
  • قائمة الانتظار مباشرة فقط؛ وتبدأ عند بدء جسر MCP
  • لا يعيد events_poll وevents_wait تشغيل سجل Gateway الأقدم من تلقاء نفسيهما
  • ينبغي قراءة الأعمال المتراكمة الدائمة باستخدام messages_read

إشعارات قناة Claude

يمكن للجسر أيضًا عرض إشعارات قناة خاصة بـ Claude. وهذا هو مكافئ OpenClaw لمحوّل قناة Claude Code: تظل أدوات MCP القياسية متاحة، لكن يمكن أن تصل الرسائل الواردة المباشرة أيضًا كإشعارات MCP خاصة بـ Claude.
--claude-channel-mode off: أدوات MCP القياسية فقط.
عندما يكون وضع قناة Claude مفعّلًا، يعلن الخادم عن إمكانات Claude التجريبية ويمكنه إصدار:
  • notifications/claude/channel
  • notifications/claude/channel/permission
سلوك الجسر الحالي:
  • تُعاد توجيه رسائل النصوص المنسوخة الواردة من النوع user بصفتها notifications/claude/channel
  • يتم تتبع طلبات أذونات Claude الواردة عبر MCP في الذاكرة
  • إذا أرسل مالك الأمر في المحادثة المرتبطة لاحقًا yes <id> أو no <id> (يمثل <id> معرّف الطلب المكوّن من 5 أحرف، باستثناء l) يحوّل الجسر ذلك إلى notifications/claude/channel/permission
  • هذه الإشعارات خاصة بالجلسة المباشرة فقط؛ وإذا انقطع اتصال عميل MCP، فلن توجد وجهة للدفع
هذا خاص بالعميل عن قصد. ينبغي أن تعتمد عملاء MCP العامة على أدوات الاستقصاء القياسية.

إعدادات عميل MCP

مثال على إعداد عميل stdio:
بالنسبة إلى معظم عملاء MCP العامّين، ابدأ بواجهة الأدوات القياسية وتجاهل وضع Claude. فعّل وضع Claude فقط للعملاء الذين يفهمون فعليًا أساليب الإشعارات الخاصة بـ Claude.

الخيارات

يدعم openclaw mcp serve ما يلي:
string
عنوان URL الخاص بـ WebSocket في Gateway. القيمة الافتراضية هي gateway.remote.url عند ضبطه.
string
رمز Gateway المميز.
string
قراءة الرمز المميز من ملف.
string
كلمة مرور Gateway.
string
قراءة كلمة المرور من ملف.
"auto" | "on" | "off"
وضع إشعارات Claude. القيمة الافتراضية auto.
boolean
سجلات تفصيلية على stderr.
يفضّل استخدام --token-file أو --password-file بدلًا من الأسرار المضمّنة متى أمكن.

حدود الأمان والثقة

لا ينشئ الجسر مسارات توجيه من تلقاء نفسه. بل يعرض فقط المحادثات التي يعرف Gateway بالفعل كيفية توجيهها. وهذا يعني:
  • تظل قوائم السماح بالمرسلين والاقتران والثقة على مستوى القناة تابعة لإعداد قناة OpenClaw الأساسية
  • لا يستطيع messages_send الرد إلا عبر مسار مخزّن موجود
  • تكون حالة الموافقات مباشرة/في الذاكرة فقط لجلسة الجسر الحالية
  • يجب أن تستخدم مصادقة الجسر ضوابط رمز Gateway المميز أو كلمة المرور نفسها التي تثق بها لأي عميل Gateway بعيد آخر
إذا كانت إحدى المحادثات مفقودة من conversations_list، فعادةً لا يكون السبب إعداد MCP، بل بيانات تعريف مسار مفقودة أو غير مكتملة في جلسة Gateway الأساسية.

الاختبار

يتضمن OpenClaw اختبار Docker تمهيديًا حتميًا لهذا الجسر:
يشغّل هذا الاختبار حاوية واحدة: يهيئ حالة المحادثة، ويبدأ Gateway، ثم ينشئ openclaw mcp serve كعملية stdio فرعية ويتحكم فيه بصفته عميل MCP. ويتحقق من اكتشاف المحادثات، وقراءة النصوص المنسوخة، وقراءة بيانات تعريف المرفقات، وسلوك طابور الأحداث المباشرة، وإشعارات القنوات والأذونات بأسلوب Claude عبر جسر stdio MCP الحقيقي. ويُغطّى توجيه الإرسال الصادر (messages_send الذي يعيد استخدام مسار المحادثة المخزّن) بشكل منفصل بواسطة اختبارات الوحدة في src/mcp/channel-server.test.ts. هذه أسرع طريقة لإثبات عمل الجسر دون ربط حساب Telegram أو Discord أو iMessage حقيقي بتشغيل الاختبار. للاطلاع على سياق أوسع للاختبارات، راجع الاختبار.

استكشاف الأخطاء وإصلاحها

يعني ذلك عادةً أن جلسة Gateway غير قابلة للتوجيه مسبقًا. تأكد من أن الجلسة الأساسية تتضمن بيانات تعريف مخزّنة للقناة/المزوّد والمستلِم، وبيانات تعريف اختيارية لمسار الحساب/سلسلة الرسائل.
هذا متوقع. يبدأ الطابور المباشر عند اتصال الجسر. اقرأ سجل النصوص المنسوخة الأقدم باستخدام messages_read.
تحقق من كل ما يلي:
  • أبقى العميل جلسة stdio MCP مفتوحة
  • تكون قيمة --claude-channel-mode هي on أو auto
  • يفهم العميل فعليًا أساليب الإشعارات الخاصة بـ Claude
  • وصلت الرسالة الواردة بعد اتصال الجسر
لا يعرض permissions_list_open إلا طلبات الموافقة التي رُصدت أثناء اتصال الجسر. وهو ليس واجهة API دائمة لسجل الموافقات.

OpenClaw كسجل لعملاء MCP

هذا هو مسار openclaw mcp list وshow وstatus وdoctor وprobe وadd وset، وconfigure وtools وlogin وlogout وreload وunset. لا تعرض هذه الأوامر OpenClaw عبر MCP. بل تدير تعريفات خوادم MCP التي يديرها OpenClaw ضمن mcp.servers في إعداد OpenClaw. وهي لا تقرأ خوادم mcporter من config/mcporter.json. هذه التعريفات المحفوظة مخصصة لبيئات التشغيل التي يشغّلها OpenClaw أو يضبطها لاحقًا، مثل OpenClaw المضمّن ومهايئات بيئات التشغيل الأخرى. يخزّن OpenClaw التعريفات مركزيًا كي لا تضطر بيئات التشغيل هذه إلى الاحتفاظ بقوائم مكررة خاصة بها لخوادم MCP.
  • لا تقرأ هذه الأوامر إلا إعداد OpenClaw أو تكتب فيه
  • لا يتصل status وlist وshow وdoctor من دون --probe وset وconfigure وtools وlogout وreload وunset بخادم MCP المستهدف
  • ينفّذ login تدفق شبكة OAuth الخاص بـ MCP لخادم HTTP المضبوط ويحفظ بيانات الاعتماد المحلية الناتجة
  • يطبع status --verbose تلميحات النقل والمصادقة والمهلة والمرشّح واستدعاء الأدوات المتوازي بعد حلّها، دون اتصال
  • يفحص doctor التعريفات المحفوظة بحثًا عن مشكلات الإعداد المحلي، مثل أوامر stdio المفقودة، وأدلة العمل غير الصالحة، وملفات TLS المفقودة، والخوادم المعطلة، وقيم الترويسات/متغيرات البيئة الحساسة المكتوبة حرفيًا، وتفويض OAuth غير المكتمل
  • يضيف doctor --probe إثبات الاتصال المباشر نفسه الذي يضيفه probe بعد نجاح الفحوصات الثابتة
  • يتصل probe بالخادم المحدد أو بجميع الخوادم المضبوطة، ويسرد الأدوات، ويبلغ عن الإمكانات/التشخيصات
  • ينشئ add تعريفًا من العلامات ويختبره قبل الحفظ، ما لم يُضبط --no-probe أو يلزم إجراء تفويض OAuth أولًا
  • تقرر مهايئات بيئات التشغيل أشكال النقل التي تدعمها فعليًا في وقت التنفيذ
  • يبقي enabled: false الخادم محفوظًا، لكنه يستبعده من اكتشاف بيئة التشغيل المضمّنة
  • يضبط timeout وconnectTimeout مهلتي الطلب والاتصال لكل خادم بالثواني
  • يميّز supportsParallelToolCalls: true الخوادم التي تستطيع المهايئات استدعاءها بالتزامن
  • يمكن لخوادم HTTP استخدام ترويسات ثابتة، وتسجيل الدخول عبر OAuth، والتحكم في التحقق من TLS، ومسارات شهادة/مفتاح mTLS
  • يعرض OpenClaw المضمّن أدوات MCP المضبوطة ضمن ملفي الأدوات العاديين coding وmessaging؛ ويظل minimal يخفيها، بينما يعطلها tools.deny: ["bundle-mcp"] صراحةً
  • يرشّح toolFilter.include وtoolFilter.exclude لكل خادم أدوات MCP المكتشفة قبل أن تصبح أدوات OpenClaw
  • تعرض الخوادم التي تعلن عن موارد أو مطالبات أيضًا أدوات مساعدة لسرد الموارد/قراءتها ولسرد المطالبات/جلبها؛ وتستخدم أسماء الأدوات المساعدة المُنشأة هذه (resources_list وresources_read وprompts_list وprompts_get) مرشّح التضمين/الاستبعاد نفسه
  • تؤدي التغييرات الديناميكية في قائمة أدوات MCP إلى إبطال الكتالوج المخزّن مؤقتًا لتلك الجلسة؛ ويؤدي الاكتشاف/الاستخدام التالي إلى تحديثه من الخادم
  • تؤدي حالات الفشل المتكررة في طلبات أدوات MCP/البروتوكول إلى إيقاف ذلك الخادم مؤقتًا لفترة وجيزة، كي لا يستهلك خادم معطّل واحد دورة التفاعل كاملة
  • تُنهى بيئات تشغيل MCP المضمّنة ذات نطاق الجلسة بعد mcp.sessionIdleTtlMs ملّي ثانية من الخمول (القيمة الافتراضية 10 دقائق؛ اضبط 0 للتعطيل)، كما تنظّفها عمليات التشغيل المضمّنة أحادية التنفيذ عند انتهائها
قد تطبّع مهايئات بيئات التشغيل هذا السجل المشترك إلى الشكل الذي يتوقعه عميلها اللاحق. على سبيل المثال، يستهلك OpenClaw المضمّن قيم transport الخاصة بـ OpenClaw مباشرةً، بينما يتلقى Claude Code وGemini قيم type الأصلية للـ CLI، مثل http أو sse أو stdio. يحترم خادم تطبيق Codex أيضًا كتلة codex اختيارية في كل خادم. هذه بيانات تعريف إسقاط OpenClaw لسلاسل رسائل خادم تطبيق Codex فقط؛ وهي لا تغيّر جلسات ACP أو إعداد حاضنة Codex العامة أو مهايئات بيئات التشغيل الأخرى. استخدم codex.agents غير فارغ لإسقاط خادم في معرّفات وكلاء OpenClaw المحددة فقط. ترفض عملية التحقق من الإعداد قوائم الوكلاء الفارغة أو الخالية أو غير الصالحة، ويحذفها مسار إسقاط بيئة التشغيل بدلًا من جعلها عامة. استخدم codex.defaultToolsApprovalMode ‏(auto أو prompt أو approve) لإصدار default_tools_approval_mode الأصلي الخاص بـ Codex لخادم موثوق. يزيل OpenClaw بيانات تعريف codex قبل تسليم إعداد mcp_servers الأصلي إلى Codex.

تعريفات خوادم MCP المحفوظة

الأوامر:
  • openclaw mcp list
  • openclaw mcp show [name]
  • openclaw mcp status [--verbose]
  • openclaw mcp doctor [name] [--probe]
  • openclaw mcp probe [name]
  • openclaw mcp add <name> [flags]
  • openclaw mcp set <name> <json>
  • openclaw mcp configure <name> [flags]
  • openclaw mcp tools <name> [--include csv] [--exclude csv] [--clear]
  • openclaw mcp login <name> [--code code]
  • openclaw mcp logout <name>
  • openclaw mcp reload
  • openclaw mcp unset <name>
ملاحظات:
  • يرتّب list أسماء الخوادم.
  • يطبع show من دون اسم كائن خادم MCP المضبوط كاملًا.
  • يصنّف status وسائل النقل المضبوطة دون اتصال. ويتضمن --verbose تفاصيل التشغيل والمهلة وOAuth والمرشّح والاستدعاء المتوازي بعد حلّها.
  • ينفّذ doctor فحوصات ثابتة دون اتصال. أضف --probe عندما ينبغي للأمر أيضًا التحقق من اتصال الخوادم المفعّلة.
  • يتصل probe ويبلغ عن أعداد الأدوات، ودعم الموارد/المطالبات، ودعم تغيّر القوائم، والتشخيصات.
  • يقبل add علامات stdio مثل --command و--arg و--env و--cwd، أو علامات HTTP مثل --url و--transport و--header و--auth oauth، إلى جانب علامات TLS والمهلة واختيار الأدوات.
  • يتوقع set قيمة كائن JSON واحدة في سطر الأوامر.
  • يحدّث configure التمكين ومرشّحات الأدوات والمهل وOAuth وTLS وتلميحات استدعاء الأدوات المتوازي دون استبدال تعريف الخادم كاملًا. أضف --probe للتحقق من الخادم المحدّث قبل الحفظ.
  • يحدّث tools مرشّحات الأدوات لكل خادم. تكون إدخالات التضمين/الاستبعاد أسماء أدوات MCP وأنماط * عامة بسيطة.
  • يشغّل login تدفق OAuth لخوادم HTTP المضبوطة باستخدام auth: "oauth". تطبع عملية التشغيل الأولى عنوان URL للتفويض؛ أعد التشغيل باستخدام --code بعد الموافقة.
  • يمسح logout بيانات اعتماد OAuth المخزّنة للخادم المسمى دون إزالة تعريف الخادم المحفوظ.
  • يتخلص reload من بيئات تشغيل MCP المخبأة داخل العملية لعملية CLI الحالية فقط. ولا تزال عمليات Gateway أو الوكلاء الموجودة في عملية أخرى بحاجة إلى مسار إعادة التحميل أو إعادة التشغيل الخاص بها.
  • استخدم transport: "streamable-http" لخوادم Streamable HTTP MCP. كما يطبّع openclaw mcp set قيمة type: "http" الأصلية للـ CLI إلى شكل الإعداد القياسي نفسه لأغراض التوافق.
  • يفشل unset إذا لم يكن الخادم المسمى موجودًا.
أمثلة:

وصفات شائعة للخوادم

تحفظ هذه الأمثلة تعريفات الخوادم فقط. شغّل openclaw mcp doctor --probe بعدها لإثبات أن الخادم يبدأ ويعرض الأدوات.
احصر نطاق خوادم نظام الملفات في أصغر شجرة أدلة ينبغي للوكيل قراءتها أو تعديلها.

أشكال مخرجات JSON

استخدم --json للبرامج النصية ولوحات المعلومات. قد تتوسع مجموعات الحقول بمرور الوقت، لذا ينبغي للمستهلكين تجاهل المفاتيح غير المعروفة.
ينتهي doctor --json برمز غير صفري عندما يحتوي أي خادم مفعّل جرى فحصه على مشكلة بمستوى error. تُبلّغ مشكلات warning وinfo، لكنها لا تتسبب وحدها في فشل الأمر.
يفتح probe --json جلسة عميل MCP حية ويطبع نتيجتها مباشرةً؛ وعلى خلاف status/doctor، لا تحتوي المخرجات على حقل path في المستوى الأعلى. لا تظهر مفاتيح resources وprompts إلا عندما يعلن الخادم فعليًا عن تلك الإمكانية (فالخادم الذي لا يدعم المطالبات يحذف مفتاح prompts بدلًا من الإبلاغ عن false). استخدم probe لإثبات إمكانية الوصول والإمكانات، لا لتدقيق الإعدادات الثابتة.
مثال على شكل الإعدادات:

نقل Stdio

يشغّل عملية فرعية محلية ويتواصل عبر stdin/stdout.
مرشح أمان بيئة Stdioيرفض OpenClaw مفاتيح البيئة الخاصة ببدء تشغيل المفسر واختطاف أداة التحميل وتهيئة الصدفة قبل تشغيل خادم MCP عبر stdio، حتى إذا ظهرت في كتلة env الخاصة بالخادم. يستخدم ذلك سياسة أمان بيئة المضيف نفسها المطبقة على العمليات الأخرى التي يشغّلها OpenClaw: فهو يحظر خطافات بدء تشغيل المفسرات المعروفة (على سبيل المثال NODE_OPTIONS وPYTHONSTARTUP وPERL5OPT وRUBYOPT وBASHOPTS وKSH_ENV) وبادئات حقن المكتبات المشتركة والدوال (DYLD_* وLD_* وBASH_FUNC_*) ومتغيرات التحكم المشابهة في وقت التشغيل. يُسقط بدء التشغيل هذه المتغيرات بصمت ويسجل تحذيرًا حتى لا تتمكن من حقن تمهيد ضمني أو تبديل المفسر أو تمكين مصحح أخطاء أو اختطاف الرابط الديناميكي ضد عملية stdio. وتُبقي قائمة سماح صريحة متغيرات بيئة بيانات اعتماد MCP العادية قابلة للاستخدام (GITHUB_TOKEN وGH_TOKEN وGITLAB_TOKEN وNPM_TOKEN وNODE_AUTH_TOKEN وDATABASE_URL وMONGODB_URI وREDIS_URL وAMQP_URL وAWS_ACCESS_KEY_ID وAWS_SECRET_ACCESS_KEY وAWS_SESSION_TOKEN وAZURE_CLIENT_ID وAZURE_CLIENT_SECRET) إلى جانب متغيرات بيئة الوكيل العادية والمتغيرات الخاصة بالخادم (HTTP_PROXY و*_API_KEY المخصصة وما إلى ذلك). تظل مفاتيح AWS_* الأخرى مثل AWS_CONFIG_FILE وAWS_SHARED_CREDENTIALS_FILE محظورة لأنها تشير إلى ملفات بيانات اعتماد بدلًا من حمل قيمة بيانات اعتماد مباشرةً.إذا كان خادم MCP يحتاج فعلًا إلى أحد المتغيرات المحظورة، فاضبطه في عملية مضيف Gateway بدلًا من وضعه ضمن env الخاص بخادم stdio.

نقل SSE / HTTP

يتصل بخادم MCP بعيد عبر أحداث HTTP المرسلة من الخادم. مثال:
تُنقّح القيم الحساسة في url (معلومات المستخدم) وheaders في السجلات ومخرجات الحالة. يحذر openclaw mcp doctor عندما تحتوي إدخالات headers أو env التي تبدو حساسة على قيم حرفية، بحيث يستطيع المشغّلون نقل تلك القيم خارج الإعدادات المودعة.

سير عمل OAuth

يُستخدم OAuth لخوادم MCP عبر HTTP التي تعلن عن تدفق MCP لـ OAuth. تُتجاهل ترويسات Authorization الثابتة للخادم ما دام auth: "oauth" مفعّلًا. تعمل بيانات الاعتماد المحفوظة بواسطة openclaw mcp login مع MCP المضمّن ومشغّلات CLI وخادم تطبيق Codex المحلي. إلى أن تتوفر بيانات الاعتماد، يحذف OpenClaw خادم MCP ذاك فقط من وقت تشغيل الوكيل بدلًا من إفشال دورة الوكيل. ويمكن للمشغّل، أو لوكيل لديه وصول إلى الصدفة، تشغيل openclaw mcp login <name> ثم استخدام الخادم في دورة لاحقة. عندما تكون خدمة MCP بعيدة مدعومة بالفعل بملف تعريف مصادقة منفصل في OpenClaw قادر على التحديث، يمكنك اختياريًا ضبط oauth.authProfileId. يحدّث OpenClaw أيًا من مصدري بيانات الاعتماد قبل إسقاط وقت التشغيل، ولا يمرر إلى عميل MCP اللاحق سوى رمز الوصول الحالي.
1

حفظ الخادم

أضف الخادم أو حدّثه باستخدام auth: "oauth" وأي بيانات وصفية اختيارية لـ OAuth.
لحامل مدعوم بملف تعريف مصادقة، احفظ ربط ملف التعريف:
2

بدء تسجيل الدخول

شغّل تسجيل الدخول لإنشاء طلب التفويض.
يطبع OpenClaw عنوان URL للتفويض ويخزن حالة متحقق OAuth المؤقتة ضمن دليل حالة OpenClaw.
3

الإكمال باستخدام الرمز

بعد الموافقة في المتصفح، مرّر الرمز المُعاد إلى OpenClaw.
4

التحقق من التفويض

استخدم status أو doctor للتأكد من وجود الرموز المميزة.
5

مسح بيانات الاعتماد

يزيل تسجيل الخروج بيانات اعتماد OAuth المخزنة، لكنه يُبقي تعريف الخادم المحفوظ.
إذا أجرى المزوّد تدويرًا للرموز المميزة أو علقت حالة التفويض، فشغّل openclaw mcp logout <name>، ثم كرر login. يمكن للأمر logout مسح بيانات اعتماد خادم HTTP محفوظ حتى بعد إزالة auth: "oauth" من الإعداد، ما دام اسم الخادم وعنوان URL لا يزالان يحددان إدخال مخزن بيانات الاعتماد.

نقل HTTP القابل للبث

يُعد streamable-http خيار نقل إضافيًا إلى جانب sse وstdio. ويستخدم بث HTTP للاتصال ثنائي الاتجاه بخوادم MCP البعيدة. يستخدم إعداد OpenClaw الصيغة transport: "streamable-http" بوصفها الصيغة القياسية. تُقبل قيم MCP الأصلية في CLI ‏type: "http" عند حفظها عبر openclaw mcp set، ويُصلحها openclaw doctor --fix في الإعداد الحالي، لكن transport هو ما يستهلكه OpenClaw المضمّن مباشرةً. مثال:
لا تبدأ أوامر السجل جسر القناة. لا يفتح جلسة عميل MCP حية لإثبات إمكانية الوصول إلى الخادم المستهدف سوى probe وdoctor --probe.

واجهة التحكم

تتضمن واجهة التحكم في المتصفح صفحة مخصصة لإعدادات MCP في /settings/mcp؛ ويظل المسار السابق /mcp اسمًا مستعارًا. تعرض الصفحة أعداد الخوادم المضبوطة، وملخصات التمكين وOAuth والتصفية، وصفوف النقل لكل خادم، وعناصر التحكم في التمكين والتعطيل، وأوامر CLI الشائعة، ومحررًا محدد النطاق لقسم الإعداد mcp. استخدم الصفحة لإجراء تعديلات المشغّل والجرد السريع. استخدم openclaw mcp doctor --probe أو openclaw mcp probe عندما تحتاج إلى إثبات حي للخادم. سير عمل المشغّل:
  1. افتح واجهة التحكم واختر MCP.
  2. راجع بطاقات الملخص لإجمالي الخوادم والممكّنة منها وخوادم OAuth والخوادم المصفّاة.
  3. استخدم صف كل خادم للاطلاع على تلميحات النقل والمصادقة والتصفية والمهلة والأوامر.
  4. بدّل حالة التمكين عندما تريد الاحتفاظ بتعريف مع استبعاده من اكتشاف وقت التشغيل.
  5. حرّر قسم الإعداد محدد النطاق mcp لإجراء تغييرات بنيوية، مثل إضافة خوادم أو ترويسات أو TLS أو بيانات OAuth الوصفية أو مرشحات الأدوات.
  6. اختر حفظ للاحتفاظ بالإعداد فقط، أو حفظ ونشر لتطبيقه عبر مسار إعداد Gateway.
  7. شغّل openclaw mcp doctor --probe عندما تحتاج إلى إثبات حي على أن الخادم المعدّل يبدأ ويسرد الأدوات.
ملاحظات:
  • تضع مقتطفات الأوامر أسماء الخوادم بين علامتي اقتباس لكي تظل الأسماء غير المعتادة قابلة للنسخ في الصدفة
  • تُنقّح القيم المعروضة الشبيهة بعناوين URL قبل التصيير عندما تحتوي على بيانات اعتماد مضمنة
  • لا تبدأ الصفحة عمليات نقل MCP بنفسها
  • قد تحتاج أوقات التشغيل النشطة إلى openclaw mcp reload أو نشر إعداد Gateway أو إعادة تشغيل العملية، بحسب العملية المالكة لعملاء MCP

تطبيقات MCP

يمكن لـ OpenClaw تصيير الأدوات التي تنفذ امتداد تطبيقات MCP المستقر. تكون التطبيقات اختيارية لأن HTML الخاص بها يأتي من خادم MCP المضبوط، ويمكنه طلب أدوات أو موارد مرئية للتطبيق من الخادم نفسه. مكّن جسر المضيف:
أعد تشغيل Gateway بعد تغيير هذا الإعداد. عند التمكين، يبدأ OpenClaw مستمع HTTP(S) خاصًا بصندوق العزل على منفذ Gateway زائد واحد (بالنسبة إلى Gateway الافتراضي، 18790). تحمّل واجهة التحكم التطبيقات من ذلك الأصل المنفصل؛ ولا يقدم المستمع مطلقًا واجهة التحكم أو مسارات Gateway المصادَق عليها أو بيانات المستخدم. تحتاج الاتصالات المباشرة بـ Gateway إلى الوصول إلى كلا المنفذين. إذا كشف وكيل عكسي أو مُنهي TLS واجهة التحكم، فامنح التطبيقات أصلًا عامًا مخصصًا، ومرّر ذلك الأصل وحده إلى مستمع صندوق العزل:
يجب أن يختلف أصل صندوق العزل عن أصل واجهة التحكم. لا تستضف عليه أي محتوى آخر مصادَق عليه أو حساس. على سبيل المثال، يمكن ضبط العرض التوضيحي الرسمي الأساسي المبني باستخدام React على النحو الآتي:
السلوك والحدود الأمنية:
  • لا يعلن OpenClaw عن امتداد io.modelcontextprotocol/ui إلا عند تمكين التطبيقات.
  • لا تُصيّر سوى موارد ui:// ذات نوع MIME المطابق تمامًا لـ text/html;profile=mcp-app.
  • تُحدد موارد واجهة المستخدم بحد أقصى قدره 2 MiB، وتوضع خلف وكيل ذي إطاري iframe متداخلين على أصل خارجي مخصص، وتُحمّل في أصل تطبيق داخلي مبهم، وتُقيّد بواسطة CSP مشتقة من البيانات الوصفية للمورد.
  • تظل الأدوات الخاصة بالتطبيق فقط (_meta.ui.visibility: ["app"]) خارج قوائم أدوات النموذج. ولا يمكن للتطبيقات استدعاء سوى الأدوات المرئية للتطبيق على الخادم المالك لها، التي تجتاز أيضًا سياسة أدوات OpenClaw الفعلية للتشغيل الذي أنشأ طريقة العرض.
  • لا تُمنح أذونات التطبيقات المرتبطة بالأصل، مثل الكاميرا والميكروفون والموقع الجغرافي، ما دامت مستندات التطبيقات الداخلية تستخدم أصولًا مبهمة للعزل بين التطبيقات.
  • يظل HTML الخاص بالتطبيق ووسائط الأدوات الكاملة والنتائج الأولية ضمن مدة إيجار محدودة لطريقة العرض في الذاكرة مقدارها عشر دقائق، ولا تُكتب إلى القرص ولا تُنسخ إلى بيانات المعاينة الوصفية للنص المنسوخ. لا يخزّن النص المنسوخ سوى واصف محدود للخادم والأداة والمورد مرتبط بمعرّف استدعاء الأداة الأصلي. بعد إعادة تشغيل Gateway، يمكن لواجهة التحكم التحقق من ذلك الواصف مقابل النص المنسوخ للجلسة المصادَق عليها وإعادة جلب مورد ui://؛ وتكون طرق العرض المُعاد إنشاؤها للقراءة فقط إلى أن ينشئ تشغيل جديد أذونات الأدوات الحالية.
  • يحذّر openclaw security audit أثناء تمكين الجسر. عطّله باستخدام openclaw config set mcp.apps.enabled false --strict-json عندما لا تكون هناك حاجة إليه.

الحدود الحالية

توثّق هذه الصفحة الجسر كما هو متاح حاليًا. الحدود الحالية:
  • يعتمد اكتشاف المحادثات على البيانات الوصفية الحالية لمسار جلسة Gateway
  • لا يوجد بروتوكول دفع عام يتجاوز المحوّل الخاص بـ Claude
  • لا تتوفر بعد أدوات لتعديل الرسائل أو إضافة تفاعلات إليها
  • يتصل نقل HTTP/SSE/streamable-http بخادم بعيد واحد؛ ولا تتوفر بعد اتصالات صاعدة متعددة الإرسال
  • لا يتضمن permissions_list_open سوى الموافقات المرصودة أثناء اتصال الجسر

ذو صلة