خوادم MCP لا تعمل في Cursor؟ حلول لمشكلات Figma وGitHub وPlaywright
نقطة حمراء بجانب خادم MCP في Cursor، أم قائمة أدوات فارغة، أم أعطال صامتة؟ اقرأ السجلات، وأصلح أخطاء PATH وJSON، وأصلح نطاقات رمز GitHub ومنافذ Figma وأخطاء متصفح Playwright، ثم اختبر أي خادم بالمفتش حتى يستعيد وكيلك أدواته.
تلصق كتلة الخادم في mcp.json، وتعيد تشغيل Cursor، فتظهر في لوحة الإعدادات نقطة حمراء، أو نقطة خضراء بجانب قائمة أدوات فارغة. ويواصل الوكيل عمله كأن خادم GitHub أو Figma أو Playwright لم يكن موجودًا أصلًا. هذا الصمت هو ما يجعل تصحيح أخطاء MCP مزعجًا: لا يتعطل شيء، ولا يشرح أي شيء نفسه، والإصلاح غالبًا سطر واحد لا تراه من شاشة الإعدادات.
يستعرض هذا المقال الأعطال التي تقف وراء توقف خوادم Cursor MCP عن العمل، بالترتيب الذي يعثر عليها بأسرع طريقة. يضم القسم الأول أربعة فحوصات تنطبق على كل خادم. بعده تأتي الفخاخ الخاصة بـ GitHub وFigma وPlaywright، ثم حدود الأدوات، ومطالبات الموافقة، وطريقة لاختبار أي خادم خارج المحرر. يسمّي كل إصلاح عرضه، فيمكنك الانتقال مباشرة إلى الإصلاح الذي يطابق شاشتك.
💡 ملاحظة حول الإصدارات: يتغير Cursor والخوادم الثلاثة بسرعة. تتبدل تسميات القوائم والأعلام والعناوين بين الإصدارات، لذلك إذا اختلف اسم على شاشتك عمّا في هذه الصفحة، فثق بمخرجات السجل أكثر من هذا المقال.
تحقّق من هذه الأمور الأربعة أولًا
قبل إلقاء اللوم على خادم واحد، استبعد المشكلات التي تعطّل كل الخوادم معًا. في معظم الحالات يكون أحد هذه الأمور الأربعة هو السبب.
اقرأ سجلات MCP
افتح لوحة Output في Cursor واختر قناة سجلات MCP من القائمة المنسدلة. تتغير التسمية الدقيقة بين الإصدارات، لكنها تقع بجانب قنوات Output الأخرى. يُظهر السجل الأمر الذي شغّله Cursor وأي شيء كتبه الخادم إلى stderr قبل أن يتوقف. ثلاث رسائل تفسّر معظم الأعطال:
spawn npx ENOENT: لا يستطيع Cursor العثور على الملف التنفيذي. انتقل إلى إصلاح PATH أدناه.
MCP error -32000: Connection closed: بدأت العملية وانتهت فورًا، وغالبًا بسبب رمز مفقود أو وسيط خاطئ أو تعطل عند بدء التشغيل.
Request timed out: الخادم يعمل لكنه بطيء، وغالبًا لأن npx يحمّل حزمة في أول تشغيل.
💡 نصيحة: انسخ آخر 30 سطرًا من السجل قبل أن تغيّر أي شيء. كل إعادة تشغيل تمحو الدليل الذي تحتاجه إذا كان تخمينك الأول خاطئًا.
تحقّق من mcp.json بدقة
يقرأ Cursor ملفين: ~/.cursor/mcp.json لكل المشاريع، و.cursor/mcp.json داخل المشروع الحالي. يحتاج الملفان إلى JSON صارم، أي بلا تعليقات ولا فواصل زائدة في النهاية وبعلامات اقتباس مستقيمة فقط. فاصلة واحدة زائدة قد تجعل Cursor يتجاهل الملف كاملًا دون رسالة واضحة.
للتحقق من ملف، شغّل node -e "JSON.parse(require('fs').readFileSync('.cursor/mcp.json','utf8'))". لا يطبع شيئًا إذا كان JSON صالحًا، ويحدد الموضع الدقيق للخطأ إذا لم يكن كذلك. تُوسّع إصدارات Cursor الحديثة عناصر ${env:NAME} النائبة من بيئتك. إذا مرّر إصدارك النص الحرفي بدلًا من ذلك، فسيستقبل الخادم رمزًا وهميًا ويفشل بخطأ مصادقة، لذا اختبر بقيمة حقيقية في ملف محلي غير مرفوع إلى المستودع.
PATH ومشكلات Windows
لا يقرأ Cursor الذي يُشغَّل من الشريط السفلي أو قائمة ابدأ أو Spotlight ملف إعدادات الصدفة الخاص بك. قد تكون الأدوات المثبتة عبر nvm أو fnm أو Homebrew غير مرئية له، رغم أنها تعمل في الطرفية، ويُظهر السجل spawn npx ENOENT. استبدل الأمر المجرد بمسار مطلق. شغّل which npx على macOS وLinux، أو where npx على Windows، والصق النتيجة:
يضيف Windows فخًا ثانيًا. npx هو سكربت .cmd، وبعض أدوات التشغيل لا تستطيع تشغيله مباشرة. غلّفه بـ cmd، وامرر دائمًا -y حتى لا يتوقف npx ليطلب الإذن لتنزيل لا يراه أحد:
تعديل الملف لا يعيد دائمًا تشغيل الخادم الجاري. أوقف الخادم ثم شغّله من Cursor Settings، Tools & MCP (تسميها الإصدارات الأقدم MCP ببساطة)، أو شغّل Developer: Reload Window من لوحة الأوامر. إذا بقيت الحالة القديمة عالقة، فأغلق Cursor بالكامل. قد تحتفظ عملية متبقية بمنفذ أو ملف تعريف متصفح، فتفشل البداية الجديدة لأسباب لا علاقة لها بإعداداتك.
أصلح خادم GitHub MCP
تحافظ GitHub على خادمها الخاص في مستودع github/github-mcp-server، بشكلين: محلي يعمل في Docker، وآخر مستضاف. إذا كان إعدادك ما زال يشير إلى حزمة npm القديمة @modelcontextprotocol/server-github، فانتقل عنها. هذه الحزمة أُهملت لصالح خادم GitHub الرسمي، والخادم الأحدث يحصل على الإصلاحات والأدوات الجديدة.
نطاقات الرمز وانتهاء صلاحيته
أشيع عطل في GitHub هو خادم يتصل بشكل سليم، بينما تعيد كل استدعاءات الأدوات الخطأ 401 أو 403 أو 404 غامضًا. يعني الخطأ 404 على مستودع خاص غالبًا أن الرمز لا يرى المستودع، لا أن المستودع غير موجود. تحقق من أربعة أمور:
الرموز الدقيقة النطاق تحتاج إلى وصول صريح إلى المستودع، مع صلاحيات لما تطلبه من الوكيل، مثل Contents وIssues وPull requests.
الرموز الكلاسيكية تحتاج إلى نطاق repo، وإلى read:org إذا كنت تستعلم عن بيانات المؤسسة.
تسجيل الدخول الموحّد SAML: إذا كانت مؤسستك تفرضه، فصرّح بالرمز لتلك المؤسسة من صفحة رموز GitHub.
الانتهاء: الرمز الذي تجاوز تاريخ انتهائه يفشل تمامًا مثل الرمز الخاطئ.
💡 نصيحة: اختبر الرمز خارج Cursor باستخدام curl -H "Authorization: Bearer $GITHUB_TOKEN" https://api.github.com/user. إذا عاد ملف تعريف JSON فالرمز يعمل، ومشكلتك في الإعدادات.
Docker غير مشغّل أو غير مثبت
يحتاج الخادم المحلي إلى Docker. ثلاثة أسطر في السجل تشير إلى هذا: docker: command not found، وCannot connect to the Docker daemon، ومهلة انتهاء أثناء تنزيل الصورة. ابدأ تشغيل Docker Desktop أولًا، ثم شغّل docker pull ghcr.io/github/github-mcp-server مرة واحدة في الطرفية حتى لا ينتظر Cursor التنزيل الأول أبدًا. تحقق أيضًا من العلم -i في وسائطك. إنه يُبقي stdin مفتوحًا، وبدونه يخرج الخادم لحظة بدئه. وخلف وكيل مؤسسي، قد يفشل السحب من ghcr.io حتى عندما تنجح عمليات Docker الأخرى.
استخدم الخادم البعيد بدلًا من ذلك
إذا استمر Docker في إعاقتك، فانتقل إلى الخادم المستضاف. لا يحتاج إلى Docker ولا Node ولا إعداد PATH:
يشير الخطأ 401 إلى الرمز، والمهلة إلى وكيل أو جدار ناري. يعرض خادم GitHub أيضًا عددًا كبيرًا من الأدوات، وهذا مهم لحدود الأدوات التي نناقشها لاحقًا. يوثّق ملف README مجموعات الأدوات، وتُضبط عبر متغير البيئة GITHUB_TOOLSETS في الخادم المحلي أو عبر ترويسة X-MCP-Toolsets في الخادم البعيد، لذلك يمكنك تحميل repos وissues وpull_requests فقط وترك الباقي.
أصلح خادم Figma MCP
تقدم Figma مسارين. الأول خادم محلي يعمل داخل تطبيق Figma لسطح المكتب. والثاني خادم مستضاف يعتمد على تسجيل الدخول عبر المتصفح. تغيّرت الأسماء والمنافذ والمسارات منذ الإطلاق، لذلك تحقق منها في الوثائق الحالية لـ Figma عندما لا تطابق خطوة أدناه شاشتك. تقع الأعطال في ثلاث فئات.
فحوصات تطبيق سطح المكتب ووضع Dev Mode
يعيش الخادم المحلي داخل تطبيق سطح المكتب، وليس داخل تبويب المتصفح. يجب أن يكون التطبيق مفتوحًا، وأن يكون ملف تصميم محمّلًا، وأن يكون خادم MCP مفعّلًا من لوحة الفحص في Dev Mode أو من التفضيلات، حسب إصدارك. كما ربطت Figma الوصول إلى MCP بالخطط المدفوعة وأنواع مقاعد محددة، لذلك تأكد أن مقعدك يسمح به قبل أن تقضي ساعة في الإعدادات. عندما يكون التطبيق مغلقًا، يُظهر Cursor رفضًا للاتصال، وهذا يبدو كخادم معطّل لكنه في الحقيقة عملية مفقودة.
عنوان URL خاطئ أو نقل خاطئ
يستمع الخادم المحلي على المنفذ 3845. تستجيب الإصدارات الأحدث عند /mcp، واستخدمت الإصدارات الأقدم /sse. الإعداد الذي ما زال يحمل المسار القديم يتلقى الخطأ 404 أو رفض مصافحة:
"figma": { "url": "http://127.0.0.1:3845/mcp" }
استخدم 127.0.0.1 بدلًا من localhost. على بعض الأجهزة يُحلّ localhost إلى IPv6 أولًا، والخادم المرتبط بعنوان IPv4 يرفض ذلك المسار. إذا كان المنفذ مشغولًا، فابحث عن صاحبه بـ lsof -i :3845 على macOS وLinux أو netstat -ano | findstr 3845 على Windows. للمسار المستضاف، وجّه Cursor إلى https://mcp.figma.com/mcp وأكمل تسجيل الدخول عبر المتصفح عند الطلب. أغلقت نافذة تسجيل الدخول بالخطأ؟ أوقف الخادم ثم شغّله لإعادة تشغيل العملية.
لا شيء محدد في Figma
تعمل الأدوات المحلية على تحديدك الحالي أو على رابط إطار. إذا طلبت من الوكيل "بناء هذه الشاشة" ولا شيء محدد، فإنه يتلقى ردًا فارغًا، وهذا يبدو كخادم متوقف بينما الاتصال سليم تمامًا. حدّد إطارًا في Figma، أو الصق رابط الإطار في أمرك النصي. إذا انتهت مهلة إطار كبير جدًا، فحدّد قسمًا أصغر وابنِ الشاشة على أجزاء.
💡 نصيحة: بعد كل تغيير في Figma، اطرح على الوكيل سؤالًا صغيرًا أولًا، مثل اسم الإطار المحدد. الإجابة الصحيحة تثبت أن السلسلة كلها تعمل قبل أن تطلب تخطيطًا كاملًا.
أصلح خادم Playwright MCP
تبقى @playwright/mcp من Microsoft الخيار المعتاد، والإعداد الأدنى قصير:
لأنه يشغّل متصفحًا حقيقيًا، فإنه يفشل بطرق أكثر من الخادمين الآخرين.
المتصفحات غير مثبتة
يعني سطر في السجل مثل Executable doesn't exist أو Chromium distribution 'chrome' is not found أنه لا يوجد متصفح مطابق مثبت. يطلب الخادم Chrome افتراضيًا. إما أن تثبّت Chrome بالطريقة المعتادة، أو تشغّل npx playwright install chrome في الطرفية. يأتي الخادم أيضًا مع أداة browser_install، لذا يمكنك أن تطلب من الوكيل استدعاءها عند ظهور هذا الخطأ. لاستخدام محرك آخر، أضف --browser firefox أو --browser webkit إلى args وثبّت ذلك المحرك بالطريقة نفسها.
ملف التعريف قيد الاستخدام
تستخدم الجلسة الافتراضية مجلد ملف تعريف دائم. تقفل نافذة Cursor ثانية، أو عملية Chrome متبقية من تشغيل تعطل، ذلك المجلد، ويقول السجل إن المتصفح قيد الاستخدام ويقترح العلم --isolated. أغلق العمليات الشاردة، أو أضف العلم حتى تبدأ كل جلسة بملف تعريف جديد في الذاكرة:
"args": ["@playwright/mcp@latest", "--isolated"]
الجلسات المعزولة تنسى تسجيلات الدخول. إذا احتجت إلى البقاء مسجل الدخول إلى موقع، فامنح الخادم ملف تعريف مخصصًا باستخدام --user-data-dir بدلًا من ذلك.
التشغيل بلا واجهة والمهلات
عادةً ما تفتقر الحاويات وWSL وجلسات SSH وأجهزة CI إلى شاشة، لذلك أضف --headless. كحل أخير داخل حاوية تعمل بصلاحية root، يزيل --no-sandbox خطأ الصندوق الرملي، لكن على حساب عزل أضعف. تحقق من إصدار Node أيضًا، لأن الحزمة تتطلب Node 18 أو أحدث. وأخيرًا، يُنزّل التشغيل الأول الحزمة ويبدأ متصفحًا، وقد يتجاوز ذلك مهلة Cursor. شغّل npx @playwright/mcp@latest --help مرة واحدة في الطرفية لتسخين الذاكرة المؤقتة، وسيكون التشغيل التالي من Cursor سريعًا.
حدود الأدوات والأعطال الصامتة
تترك بعض الأعطال كل النقاط خضراء. الخادم متصل والوكيل لا يستخدمه أبدًا. ويقف وراء معظم هذه الحالات سببان.
تحميل أدوات أكثر من اللازم. حذّر Cursor حين يكبر عدد الأدوات الإجمالي عبر كل الخوادم، مع سقف تاريخي يقارب 40 أداة وقد يختلف في إصدارك. يمكن لـ GitHub وحده أن يعرض عشرات الأدوات. عندما يتجاوز المجموع الحد، قد لا تصل أدوات بعض الخوادم إلى النموذج أبدًا. عطّل الخوادم التي لا تحتاجها في المشروع الحالي، واستخدم مجموعات أدوات GitHub، وأبقِ ملفات .cursor/mcp.json على مستوى المشروع خفيفة.
وضع خاطئ أو موافقة لم تُجَب. تعمل أدوات MCP في وضع Agent. في وضع Ask لا يستطيع النموذج استدعاءها. وبشكل افتراضي يطلب كل استدعاء الموافقة، وإذا تجاوزت المطالبة بالتمرير دون الرد عليها فستبدو المحادثة مجمدة. وافق على الاستدعاء، أو فعّل التشغيل التلقائي للخوادم التي تثق بها. وافتح أيضًا مدخل الخادم وتأكد من أن أدوات بعينها لم تُعطَّل.
💡 نصيحة: أمر الاختبار الجيد صريح: "استخدم أداة playwright لفتح example.com وأخبرني بعنوان الصفحة." ذكر اسم الخادم يزيل أي شك حول الأداة التي ينبغي للنموذج اختيارها.
اختبر الخادم خارج Cursor
شغّل MCP Inspector. يشغّل المفتش الرسمي أي خادم ويعرض أدواته دون أن يتدخل Cursor:
إذا اتصل الخادم وعرض أدواته هناك لكن ليس في Cursor، فالمشكلة في بيئة Cursor: PATH أو متغيرات البيئة أو ملف الإعدادات. وإذا فشل في المفتش أيضًا، فالمشكلة في الخادم أو جهازك، وعادةً يسمّيها نص الخطأ.
اجعل نموذجًا لغويًا يقرأ السجلات. السجلات الطويلة مملة، ويلتقط النموذج اللغوي السطر المهم بسرعة. مع Claude Sonnet 5 على PicassoIA:
افتح صفحة النموذج وابدأ محادثة جديدة.
الصق آخر 30 سطرًا من السجل وكتلة الخادم، مع استبدال كل رمز بـ REDACTED.
اسأل: "أي سطر يفسّر سبب فشل تشغيل خادم MCP هذا، وما التغيير الواحد الذي يصلحه؟"
طبّق تغييرًا واحدًا في كل مرة، ثم أعد تشغيل الخادم واقرأ السجل مرة أخرى.
يصلح GPT 5.6 Sol مصدرًا جيدًا لرأي ثانٍ في الحالات العنيدة، ويتولى Gemini 3.5 Flash مراجعة أولى سريعة للسجلات الطويلة جدًا. وكل ما تلصقه في نموذج مستضاف يغادر جهازك، لذا أزل الأسرار أولًا في كل مرة.
جدول الأعراض السريعة
العَرَض
السبب المحتمل
الإصلاح
spawn npx ENOENT
لا يرى Cursor Node في PATH
استخدم المسار المطلق إلى npx
Connection closed مباشرة بعد البدء
رمز مفقود أو تعطل عند التشغيل
اقرأ stderr في السجل، وتحقق من قيم البيئة
تظهر الأدوات، والاستدعاءات تعيد 401 أو 403
رمز GitHub منتهٍ أو بنطاق ناقص
أعد إنشاء الرمز، وصرّح به لتسجيل الدخول الموحّد
docker: command not found
Docker غير مثبت أو متوقف
ابدأ Docker Desktop، وسحب الصورة مسبقًا
ترفض Figma الاتصال
تطبيق سطح المكتب مغلق أو خادم MCP معطّل
افتح ملف تصميم، وفعّل الخادم
تعيد Figma 404
مسار /sse القديم
بدّل عنوان URL إلى /mcp
ملف Playwright التنفيذي مفقود
لا يوجد متصفح مطابق مثبت
شغّل npx playwright install chrome
متصفح Playwright قيد الاستخدام بالفعل
مجلد ملف تعريف مقفل
أغلق العمليات الشاردة أو أضف --isolated
نقطة خضراء، والوكيل يتجاهل الأدوات
أدوات كثيرة، أو وضع Ask
قلّص الخوادم، وبدّل إلى وضع Agent
أنشئ صورك الخاصة مع Picasso IA
بعد أن تعمل خوادمك بشكل سليم، يصبح MCP مثيرًا للاهتمام بما يتجاوز الكود. كما يتيح PicassoIA نماذج التوليد الخاصة به عبر اتصال MCP خاص به وواجهة API للمطورين، وتتكون من أربعة نماذج: PicassoIA Image، Image Editor Pro، PicassoIA Video وSeedance 2.5 Lite لتوليد الفيديو مع الصوت. تضبط الاتصال من صفحة MCP في حسابك على picassoia.com/en/mcp/accounts، ويعمل مثل أي خادم آخر في Cursor، لذا تنطبق عليه كل الفحوصات السابقة أيضًا.
هناك حد يستحق المعرفة عندما تبدو المهام متوقفة: يشغّل الحساب ما يصل إلى 5 تنبؤات في وقت واحد، مشتركة بين كل بيانات اعتمادك واتصالات MCP. المهمة السادسة تنتظر، وعندها قد يبدو ذلك من المحرر كخادم معلّق.
لكنك لا تحتاج إلى خادم MCP للبدء. افتح تطبيق الويب، واكتب أمرًا نصيًا، وشاهد النتيجة خلال ثوانٍ:
من النص إلى الصورة: يحوّل PicassoIA Image مشهدًا مكتوبًا إلى صورة فوتوغرافية.
التعديلات: يغيّر Image Editor Pro الإضاءة أو الأشياء أو الخلفيات في صورة موجودة.
اختر احتياجًا حقيقيًا واحدًا من مشروعك الأخير، مثل صورة رئيسية لملف README أو ترويسة لمقال مدونة أو صورة منتج تجريبية لعرض، وولّد ثلاث نسخ. قارنها، وغيّر تفصيلًا واحدًا في كل مرة، واحتفظ بالنسخة التي تناسبك. افتح Picasso IA، واكتب أول أمر نصي لك، وشاهد كيف سيبدو مشروعك التالي.