إصلاح خادم MCP يتعذر عليه البدء أو حل مهمة

بقلم solvethreeمدة القراءة: 4 دقيقة

ابدأ باستخدام solvethree_capabilities، الذي لا يحتاج إلى مفتاح API. إذا استجاب، فهذا يعني أن الخادم بدأ وأن اتصال MCP يعمل. توقّف عن تغيير إعدادات المشغّل وتحقّق بدلًا من ذلك من بيانات الاعتماد والوكيل ومدخلات المهمة.

في هذه الصفحة

شغّل المشغّل خارج المضيف

شغّل المشغّل المرفق في طرفية على الجهاز الذي يشغّل مضيف MCP. لإعادة إنتاج المشكلة في ظروف مضبوطة، استخدم Node.js 22 وnpx المرفق معه؛ وتحقّق من أنك لا تستخدم مشغّلًا أقدم مثبّتًا بشكل منفصل.

التحقق من مشغّل MCP المحلي
node --version
npx --yes --package=https://solvethree.com/downloads/solvethree-sdk-0.1.0.tgz solvethree-mcp
# The process waits for JSON-RPC on stdin. Silence is not a failed startup.
# Use the MCP host to initialize and list tools. Press Ctrl-C to stop this check.
# Never paste an API key or proxy password into troubleshooting logs.

العملية التي تظل مفتوحة دون طباعة أي شيء ليست بالضرورة متوقفة عن الاستجابة. فهذا خادم stdio محلي ينتظر رسائل MCP JSON-RPC على stdin. استخدم مضيف MCP لتهيئة الاتصال وسرد الأدوات؛ فتشغيل الملف التنفيذي وحده لا يجري هذه المصافحة.

إذا انتهت العملية، فاقرأ خطأ التشغيل أولًا. يشير خطأ عدم العثور على الملف التنفيذي إلى مشكلة في التثبيت أو PATH؛ ويحدث خطأ تنزيل الحزمة قبل حل المهام. ولا يشكّل أيّ منهما دليلًا على وجود خطأ في مفتاح API أو الوكيل أو ملف تعريف الموقع.

إذا نجح التشغيل في الطرفية ولم ينجح في المضيف

سجّل solvethree بوصفه خادم stdio محليًا، وليس نقطة نهاية HTTP بعيدة. ينبغي أن يشغّل المضيف npx مع الوسائط الموضّحة في مثال المشغّل. لا توجد نقطة نهاية MCP مستضافة.

لا يستطيع المضيف العثور على npx.

قارن PATH الخاص بالمضيف مع PATH الخاص بطرفيتك. قد لا يرث تطبيق سطح المكتب إعدادات الصدفة لديك.

جرّب هذا: اجعل الدليل الذي يحتوي على npx متاحًا للمضيف، أو هيّئ المسار المطلق للملف التنفيذي نفسه الذي نجح محليًا.

يشغّل المضيف إصدارًا مختلفًا من Node.js أو npx.

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

جرّب هذا: وجّه المضيف إلى التثبيت الذي اختبرته. أعد تشغيل المضيف بعد تغيير بيئته.

تُبلغ التهيئة عن JSON غير سليم أو مخرجات غير متوقعة.

ابحث عن لافتات الصدفة أو رسائل البرامج المغلّفة أو مخرجات التصحيح المكتوبة إلى stdout.

جرّب هذا: خصّص stdout لرسائل MCP JSON-RPC فقط. أرسل المخرجات التشخيصية إلى stderr، حيث يستطيع المضيف جمعها دون التعامل معها بوصفها بيانات بروتوكول.

يتوقّف المضيف عن الانتظار أثناء بدء التشغيل.

افحص سجل بدء التشغيل وميّز بين التشغيل البطيء وعملية انتهت بالفعل.

جرّب هذا: للتهيئة بنمط Codex، استخدم القيمة الموثّقة 60 للمعامل startup_timeout_sec. لن يعالج الانتظار مدة أطول غياب ملف تنفيذي أو خطأ تشغيل صريحًا.

يفيد المضيف بأن إحدى أدوات solvethree غير مسجّلة.

تأكّد من اكتمال تهيئة الخادم وافحص الأدوات التي أعادتها عملية الاكتشاف.

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

يوفّر الخادم solvethree_capabilities وsolvethree_create_recaptcha وsolvethree_create_kasada وsolvethree_create_tmpt وsolvethree_get_task. إذا نجح الاكتشاف لكن تعذّر على المضيف استدعاء أحد هذه الأسماء، فعالج هذا التعارض قبل إرسال طلبات المهام.

إذا عملت الأدوات ولم ينجح إنشاء المهام

  1. 1.

    تحقّق من بيئة عملية المضيف

    وفّر SOLVETHREE_API_KEY وSOLVETHREE_PROXY عبر بيئة المضيف. تصدير متغير في طرفية منفصلة لا يثبت أن المضيف يستطيع قراءته. في إعدادات على نمط Codex، يجب أن تتضمن env_vars كلا الاسمين؛ فقائمة التمرير هذه لا توفر قيمهما. تحقّق من وجودهما دون طباعة المفتاح أو بيانات اعتماد الوكيل.

  2. 2.

    تحقّق من الوكيل في الموضع الذي تقرأه الأداة منه فعليًا

    تقرأ solvethree_create_recaptcha وكيلها الوحيد من SOLVETHREE_PROXY. لا تحاول معالجة قيمة بيئة مفقودة بإضافة وسيطة proxy إلى تلك الأداة. يجب أن يستخدم عنوان URL للوكيل HTTP أو HTTPS، وألا يحتوي على مسار أو استعلام أو جزء fragment.

  3. 3.

    تحقّق من ملف تعريف الموقع الخاص بـ reCAPTCHA

    تحتاج مساحة العمل التي يحددها مفتاح API إلى ملف تعريف نشط للموقع ونوع reCAPTCHA المطلوبين. تحقّق أيضًا من إجراء الالتقاط: فملف تعريف عام واحد لاسم المضيف لا يغطي بالضرورة كل إجراء. توفير site وaction في مهمة لا ينشئ ملف تعريف. استخدم صفحة ملفات تعريف المواقع في وحدة التحكم أو دليل إعداد ملف التعريف لمعالجة ذلك.

  4. 4.

    تحقّق من مدخلات الأداة

    بالنسبة إلى solvethree_create_recaptcha، وفّر site كاسم مضيف، إلى جانب action وrequestId. الحقل recaptchaType اختياري وقيمته الافتراضية enterprise-v3. لا تستبدل site بعنوان URL لصفحة، ولا تضف أنواع المهام الأخرى الخاصة بواجهة API إلى هذه الأداة.

اكتشاف الإمكانات لا يختبر المصادقة أو الوصول إلى الوكيل. خطأ المصادقة أو التحقق من صحة الطلب بعد نجاح استدعاء الإمكانات يخص طلب الحل، لا مشغّل الخادم. عالج استجابات HTTP غير الناجحة قبل اعتبار الاستجابة حمولة مهمة ناجحة.

ميّز بين فشل المهمة وانتهاء مهلة الاستدعاء

ما تعنيه نتيجة المهمة
ما تعنيه نتيجة المهمة
النتيجةالإجراء التالي
قيد الانتظار أو جارٍ الحللم تنتهِ المهمة بعد. استرجعها باستخدام solvethree_get_task بدلًا من إنشاء بديل لها.
فاشلةاقرأ errorCode وerror، ثم توقف عن الاستعلام الدوري عن تلك المهمة. على سبيل المثال، site-unreachable خطأ في المهمة. تُردّ رسوم محاولات الحل الفاشلة؛ فلا تفترض أن كل فشل يعني عدم كفاية الرصيد.
readyيتوفر حل. خادم MCP لا يتحكم في متصفح ولا يملأ النماذج، وجاهزية الحل لا تثبت أن الجهة المستهدفة قبلت أي شيء.

انتهاء مهلة المضيف ليس حالة للمهمة. تستخدم الإعدادات على نمط Codex قيمة 100 للحقل tool_timeout_sec، لكن فقدان الاستجابة لا يثبت مع ذلك أن إنشاء المهمة فشل. تتطلب كل أداة إنشاء requestId، وتنشئ مهمة واحدة على الأكثر.

إذا تلقيت معرّف مهمة، فاسترجع تلك المهمة. وإلا، فكرّر طلب الإنشاء نفسه باستخدام requestId نفسه لاستعادة المهمة الموجودة. لا تُنشئ requestId جديدًا لمجرد انتهاء مهلة الاستدعاء. إعادة استخدام معرّف مع تغيير مدخلات المهمة تؤدي إلى تعارض.

عندما تصبح المهمة جاهزة، أرسل حلها باستخدام هوية المتصفح المُعادة والوكيل الناجح. إذا رفض الموقع الطلب بعد ذلك، فافحص عملية الإرسال تلك بدلًا من بدء تشغيل MCP. حافظ على خصوصية بيانات الحل: فمضيف MCP يتلقاها.

شغّل مهمتك الأولى.

ابدأ برصيد قدره $5 في مساحة العمل.

إنشاء مساحة عمل
إصلاح خادم MCP يتعذر عليه البدء أو حل مهمة · solvethree