MCP

تنفيذ قطعة JavaScript في حاوية Docker لمرة واحدة

يناسب من يريد تشغيل JavaScript أو تثبيت اعتمادات npm مؤقتاً في حاوية معزولة، لكن Docker يجب أن يكون مثبتاً ويعمل محلياً أولاً. في المحاولة الأولى استخدم حاوية قابلة للرمي ولا تشغّل Detached Mode.

Official source · node-code-sandbox-mcp

Install

"command": "npx",
      "args": ["-y", "node-code-sandbox-mcp"],

لمن يناسب

إذا كنت تستطيع تشغيل Docker محلياً وتريد عبر MCP إلقاء قطعة JavaScript اعتباطية في حاوية مؤقتة—ثم تثبيت اعتمادات npm في المكان عند الحاجة—فهذا الخادم يطابق ذلك. رسمياً هو خدمة Node.js تنفّذ Model Context Protocol، مخصصة لتشغيل JavaScript اعتباطي في حاويات Docker قصيرة العمر ودعم تثبيت اعتمادات npm فوراً.

لا يناسب جهازاً لم يُثبَّت عليه Docker أو لا يعمل. المقتطف الحالي يصف نوعين فقط من القدرات—«سكربت لمرة واحدة» و«Detached Mode يبقي الحاوية حيّة بعد انتهاء السكربت»—ولا يعطي أسماء دوال الأدوات أو جدول معاملات أو حدود موارد. إذا احتجت توقيع استدعاء يمكن نسخه كما هو، فالدليل يتوقف هنا.

الاستخدام الأول ينبغي أن يختار حاوية لمرة واحدة تُرمى بعد الاستعمال، لا أن يبقي الحاوية حيّة. تنفيذ سكربت اعتباطي فعل موجّه للكتابة: ينشئ حاوية، يشغّل الشيفرة التي تعطيها، وقد يسحب اعتمادات.

أول محاولة في 3 دقائق

أكد أولاً أن Docker مثبت ويعمل. المسار الرئيسي الموصى به رسمياً هو وضع الكتلة التالية في إعداد خادم عميل MCP، دون كتابة مثبّت آخر إلى جانبها:

      "command": "npx",
      "args": ["-y", "node-code-sandbox-mcp"],

ضع هذه الكتلة في موضع إعداد عميل MCP الذي تستخدمه. المقتطف لا يثبّت اسم ملف إعداد، لذا لا تعامل مسار عميل معيّن بأنه مؤكد. احفظ وأعد تحميل ذلك الخادم.

قبل التنفيذ راجع أمرين: عفريت Docker يعمل فعلاً؛ والسكربت الذي سترسله هو المحتوى الذي تريد تنفيذه. الأثر الجانبي: الخدمة تنشئ حاوية Docker لمرة واحدة، تنفّذ هذا JavaScript داخلها، وقد تثبّت اعتمادات npm في المكان. بعد هذين التحققين أرسل طلباً «لتشغيل سكربت JS لمرة واحدة في حاوية جديدة قابلة للرمي». لا تشغّل Detached Mode في المرة الأولى.

إشارة النجاح أن هذا الطلب يسلك مسار الحاوية لمرة واحدة، لا رسالة بأن Docker لا يعمل أو أن npx تعذّر عليه تشغيل node-code-sandbox-mcp. هذه ليست قراءة بلا مخاطر: تحدث حاوية وتنفيذ سكربت وتثبيت اعتمادات، ولا تعني غياب الشبكة أو غياب حد الخصوصية.

حالات الاستخدام

الحالة 1: تشغيل سكربت يُرمى بعد الاستعمال. المقتطف يذكر أنه يمكن تشغيل سكربت JS لمرة واحدة في حاوية جديدة قابلة للرمي. أكد محتوى السكربت أولاً ثم أرسل. النتيجة القابلة للتحقق هي أن هذا السكربت نُفِّذ في حاوية جديدة؛ حقول الإرجاع وتنسيق الخرج القياسي وأسماء الأدوات لا تظهر في المقتطف الحالي، فلا تكتب حقولاً محددة بأنها مؤكدة.

الحالة 2: تحتاج أن تبقى الحاوية حيّة بعد انتهاء السكربت، مثلاً خدمة طويلة التشغيل. المقتطف يذكر أن Detached Mode يمكنه إبقاء الحاوية حيّة بعد تنفيذ السكربت. الآثار الجانبية أكبر من مسار المرة الواحدة: الحاوية تبقى. المقتطف لا يعطي خطوات إيقاف أو حذف أو إلغاء، لذا لا تكتب «إغلاق الحاوية» كمسار رسمي للاستعادة. اسلك هذا الطريق فقط عندما تحتاج بوضوح أن تبقى الحاوية حيّة.

هاتان الحالتان تقابلان «تنفيذ لمرة واحدة» و«الإبقاء حيّاً بعد التنفيذ». لا تخلطهما في استدعاء واحد غير مؤكد.

حدود الاستخدام

شرط الاستخدام أن يكون Docker مثبتاً ويعمل. مسار التثبيت الرئيسي هو npx -y node-code-sandbox-mcp. القدرات القابلة للتحقق: تشغيل قطعة JS في حاوية جديدة قابلة للرمي؛ و Detached Mode يبقي الحاوية حيّة بعد انتهاء السكربت. تثبيت اعتمادات npm الفوري مكتوب أيضاً في الوصف العام، لكن نطاق التثبيت وموقع الذاكرة المؤقتة وسياسة الشبكة لا تظهر في المقتطف الحالي.

الصفحة الرسمية هي https://github.com/alfonsograziano/node-code-sandbox-mcp . المقتطف لا يعطي حقول بيانات اعتماد ولا قائمة عملاء ولا أرقام CPU أو ذاكرة ولا أوامر إلغاء أو تنظيف. لا تفسّر تنفيذ الحاوية بأنه قابل للتراجع بحرية، ولا تُكمل أسماء أدوات ومعاملات غير ظاهرة.