إعداد MCP في Windsurf: السوق والخوادم في Devin Desktop

تحوّل Windsurf إلى Devin Desktop في يونيو 2026، وانقسم إعداد MCP فيه إلى قسمين. يوضّح هذا المقال مكان كل ملف إعداد، والوكيل الذي يضم السوق، وطريقة إضافة خوادم stdio والخوادم البعيدة يدويًا، وكيفية إصلاح خادم لا يظهر أبدًا، مع PicassoIA كمثال تطبيقي.

إعداد MCP في Windsurf: السوق والخوادم في Devin Desktop
Cristian Da Conceicao
مؤسس Picasso IA

تبحث عن دليل إعداد MCP في Windsurf، وتتبعه سطرًا سطرًا، فإذا بأيقونة السوق التي يصفها غير موجودة على شاشتك. هذا ليس خطأ منك. أُعيدت تسمية Windsurf إلى Devin Desktop في يونيو 2026، وصفحات الوثائق القديمة تُحوّل الآن إلى docs.devin.ai، وتغيّر الوكيل الافتراضي للتبويبات الجديدة من Cascade إلى Devin Local. يُهيّئ الوكيلان خوادم MCP بطريقتين مختلفتين، ولا يملك سوى أحدهما سوقًا.

يوضّح هذا المقال الإعداد الذي تستخدمه، ومكان كل ملف إعداد، وكيفية إضافة الخوادم عبر السوق أو يدويًا، وما الذي يجب فحصه عندما يبقى خادم صامتًا. كما يشرح كيفية ربط نماذج الصور والفيديو الخاصة بمنصة PicassoIA عبر MCP، حتى يتمكن محررك من إنتاج الأصول بينما تكتب الشيفرة. كل إعداد وارد أدناه مأخوذ من وثائق Devin الرسمية ما لم أذكر خلاف ذلك، وحيثما تختلف تلك الصفحات مع بعضها، أشير إلى ذلك.

ما الذي تغيّر في Windsurf

Windsurf أصبحت الآن Devin Desktop

أعادت Cognition تسمية المحرر في يونيو 2026. لا تزال نتائج البحث والدروس القديمة تقول Windsurf، لكن سجل التغييرات وصفحات المنتج والوثائق صارت الآن تحت اسم Devin. يبقى اسم Cascade اسمًا للـوكيل القديم، بينما Devin Local هو الوكيل الافتراضي.

هذا الانقسام هو سبب شعور كثير من الدروس بأنها خاطئة. تبدأ صفحة Cascade الرسمية الخاصة بميزة MCP بتحذير: تنطبق تعليماتها على وكيل Cascade القديم فقط، أما Devin Local فيُعدّ خوادم MCP عبر ملفات إعداد Devin CLI.

مطوّر بقميص هينلي فحمي عند مكتب واقف بشاشتين تُظهران لوحات محرر ضبابية

وكيلان، وطريقتا إعداد

الميزةCascade القديمDevin Local
سوق MCPلا يوجدنعم، مع تثبيت بنقرة واحدة
إضافة خادمتعديل mcp_config.json من قائمة الإجراءاتالسوق، أو devin mcp add، أو ملفات الإعداد
الموافقة قبل استدعاء الأدواتليس افتراضيًايطلب الموافقة افتراضيًا
سقف الأدوات100 أداة في المجموعغير مذكور في الصفحات التي راجعتها
حقول الخادم البعيدserverUrl أو url، إضافةً إلى headersurl، إضافةً إلى transport وheaders

💡 فحص سريع: تُفتح التبويبات الجديدة مع Devin Local افتراضيًا. ما لم تكن قد بدّلت الوكيل عن قصد، فافترض أن عمود Devin Local يصف محررك.

أين يقع ملف الإعداد

قبل أن تعدّل أي شيء، اعرف الملف الذي يقرأه وكيلك. التعديل الصحيح في الملف الخطأ يُنتج أكثر أنواع الفشل إرباكًا: لا يحدث شيء، ولا يظهر أي تحذير.

مسارات Cascade القديم

تذكر صفحة Cascade الحالية أن الملف يقع في ~/.config/devin/mcp_config.json على macOS وLinux (أو في الملف نفسه تحت $XDG_CONFIG_HOME/devin/ عندما يكون ذلك المتغير مضبوطًا)، وفي %APPDATA%\devin\mcp_config.json على Windows. لفتحه من المحرر، انقر على قائمة ... (الإجراءات) في أعلى يمين لوحة Cascade، ثم اختر Open MCP config file في قسم MCPs.

الدروس المكتوبة قبل إعادة التسمية تشير إلى مكان آخر: ~/.codeium/windsurf/mcp_config.json، أو %USERPROFILE%\.codeium\windsurf\mcp_config.json على Windows. تفيد مقالات طرف ثالث بأن مدخلًا في الملف القديم ما زال يُحمَّل، لكن الصفحات الرسمية لا تؤكد ذلك. اعتبر المسار القديم احتياطيًا لا خطة أساسية.

لقطة مقربة ليدين تكتبان أثناء تعديل ملف إعداد على حاسوب محمول

طبقات إعداد Devin Local

يقرأ Devin Local ملفات إعداد Devin CLI، وهي موزعة على ثلاث طبقات:

النطاقالملفملاحظات
المستخدم~/.config/devin/mcp_config.json أو %APPDATA%\devin\mcp_config.jsonينطبق على كل المشاريع
المشروع.devin/mcp_config.jsonيوجد داخل المستودع، لذلك يمكن مشاركته
التجاوز المحلي.devin/mcp_config.local.jsonمستثنى من git، وخاص بك

وهناك تفصيل مربك: تعرض صفحة Devin Local ملفات config.json بالنطاقات الثلاثة نفسها، بينما تذكر صفحة CLI أن الإصدارات الأقدم (قبل v3000.3) كانت تضع mcpServers داخل ملفات الإعداد الرئيسية، وأن الإصدارات الأحدث تستخدم الملف المنفصل mcp_config.json. تختلف الوثائق حول أيهما الحالي. شغّل devin mcp list لترى ما حمّله التثبيت لديك فعلًا قبل أن تعدّل أي ملف.

استخدام سوق MCP

تقول صفحة Cascade الرسمية بوضوح: لا يملك Cascade سوق MCP ولا تثبيتًا بنقرة واحدة، فهاتان الميزتان موجودتان فقط لوكيل Devin Local. إذا طلب منك درس أن تنقر على أيقونة MCPs في لوحة Cascade وتضغط Install، فهو يصف المحرر القديم.

أين تجده

في Devin Local، تشير ملاحظات الإصدار إلى صفحة Customize في الشريط الجانبي، حيث يقع Browse marketplace في تبويب Plugins. تتغير تسميات القوائم بين الإصدارات، لذا إن لم تجدها، ابدأ من Customize وابحث من هناك.

كثير من الإدراجات تكاملات OAuth بنقرة واحدة. تذكر ملاحظات الإصدار خدمات مثل Dropbox وClickHouse Cloud وTypeform وCoda وGitBook وRailway وRetool وSmartsheet وMake. عند تثبيت أحدها يُعاد رابط تفويض، توافق عليه في المتصفح، ويتصل الخادم دون لصق أي رمز في ملف. وإذا انتهت صلاحية بيانات الاعتماد المخزّنة لاحقًا، يظهر الخادم بحالة Needs auth مع زر Authenticate.

منظر علوي لمكتب مطوّر مرتب يضم حاسوبًا محمولًا ودفترًا وملاحظات لاصقة ونباتًا

متى تتجاوزه

السوق هو الطريق الأسرع، لكنه ليس الصحيح دائمًا. عدّل الإعداد يدويًا عندما:

  • تحتاج إلى تثبيت إصدار حزمة في args بدلًا من أخذ الأحدث.
  • يكون الخادم داخليًا ولن يظهر أبدًا في قائمة عامة.
  • تريد أن يكون الإعداد مُودعًا في المستودع ليحصل عليه زملاؤك عند السحب.
  • تحتاج إلى تحكم دقيق في متغيرات البيئة ووسائط التشغيل.

تُضحّي تثبيتات OAuth بجانب من التحكم مقابل الراحة: لا يوجد سر مخزّن على قرصك، لكنك لا تملك القرار في وسائط التشغيل. المدخل المعدّل يدويًا يمنحك الأمرين، مقابل أن تدوّر الرموز بنفسك.

أضف خادمًا يدويًا

مثال خادم stdio

خادم stdio عملية محلية يشغّلها المحرر ويتواصل معها عبر الإدخال والإخراج القياسيين. هذا مثال GitHub الرسمي، مع نقل الرمز إلى متغير بيئة:

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "${env:GITHUB_PERSONAL_ACCESS_TOKEN}"
      }
    }
  }
}

command وargs هما ما قد تكتبه في الطرفية. تتيح العلامة -y لـnpx تثبيت الحزمة دون أن يتوقف ليسأل. تُمرَّر كتلة env إلى العملية، ولا يُضمن وصول أي شيء آخر من الصدفة إليها.

منظور من زاوية منخفضة لممر بين خزائن خوادم سوداء وحزم مرتبة من كابلات الشبكة

مثال خادم بعيد

تحتاج الخوادم البعيدة إلى عنوان URL بدلًا من أمر. يقبل Cascade القديم serverUrl أو url:

{
  "mcpServers": {
    "remote-http-mcp": {
      "serverUrl": "<your-server-url>/mcp",
      "headers": {
        "Authorization": "Bearer ${env:AUTH_TOKEN}"
      }
    }
  }
}

يستخدم تنسيق Devin CLI الحقل url وtransport صريحًا:

{
  "mcpServers": {
    "server-name": {
      "url": "https://mcp.example.com/mcp",
      "transport": "http",
      "headers": {},
      "disabled": false
    }
  }
}

عندما تكون transport هي "http" أو غير مكتوبة، تجرب CLI بروتوكول Streamable HTTP أولًا، وتتراجع إلى SSE إذا ردّ الخادم برمز 404. يوثّق Cascade ثلاث وسائل نقل في المجموع: stdio وStreamable HTTP وSSE، ولكل منها دعم OAuth.

إليك مرجعًا سريعًا للحقول في التنسيقين:

الحقليستخدمهالغرض
command، argsstdioالبرنامج الذي يُشغَّل ووسائطه
envstdioالمتغيرات التي تُمرَّر إلى العملية
serverUrl أو urlبعيدالعنوان الذي يستمع إليه الخادم
transportبعيد، تنسيق CLIاتركه كـ"http" لتجربة Streamable HTTP أولًا
headersبعيدترويسات طلب إضافية، مثل رمز Bearer
oauthClientId، oauthClientSecret، oauthResourceبعيد، تنسيق CLIإعدادات للخوادم التي تحتاج إلى OAuth
disabledstdio والبعيد، تنسيق CLIيطفئ المدخل دون حذفه
disabledToolsCascadeيخفي أدوات بعينها عن الوكيل

مطوّر يعمل قرب نافذة مقهى في مساء ماطر ومعه حاسوب محمول وقهوة فلات وايت

أوامر CLI والأسرار

يمكنك الاستغناء عن JSON تمامًا. تدير Devin CLI الخوادم بهذه الأوامر:

الأمرما الذي يفعله
devin mcp add <name> -- <command> [args...]يضيف خادم stdio
devin mcp add <name> <URL>يضيف خادم HTTP
devin mcp list وdevin mcp getيعرضان ما تم تحميله ويفحصان خادمًا واحدًا
devin mcp login <name> وlogoutيبدأان تسجيل الدخول عبر OAuth أو يمسحانه
devin mcp enable وdisableيشغّلان خادمًا أو يطفئانه
devin mcp remove <name>يحذف المدخل

تدعم ملفات الإعداد نمطين للاستيفاء: يستبدل ${env:VAR_NAME} متغير بيئة، ويستبدل ${file:/path/to/file} محتوى ملف، مع السماح بمسارات ~.

💡 نصيحة: ضع الرموز الشخصية في .devin/mcp_config.local.json، وهو مستثنى من git، وأبقِ .devin/mcp_config.json المشترك خاليًا من الأسرار. الرمز الذي يُودَع مرة واحدة يبقى في سجل git.

الحدود والموافقات وقوائم السماح

سقف 100 أداة

يمكن أن يحمل Cascade 100 أداة في المجموع عبر كل الخوادم المتصلة. الخوادم الكبيرة تستهلك هذه الميزانية بسرعة، وبعد تجاوزها لن تتاح بعض الأدوات ببساطة. قلّص ما لا تحتاج إليه بمصفوفة disabledTools:

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "disabledTools": ["create_repository"]
    }
  }
}

تساعد مجموعة أدوات أصغر الوكيلَ أيضًا على اختيار الأداة الصحيحة، لذا يستحق تعطيل الأدوات التي لا تستدعيها أبدًا العناء حتى ضمن الحد المسموح.

يد تكتب في دفتر حلقي بجانب صفحات مطبوعة من الشيفرة ومسطرة

طلبات الموافقة في Devin Local

يتصرف Devin Local هنا بشكل مختلف عن Cascade. يطلب إعداده الافتراضي الموافقة قبل استدعاء أي أداة MCP. يمكنك منح الإذن لأداة واحدة أو لخادم كامل، إما للجلسة الحالية أو بشكل دائم. ويمكن لمسؤولي المؤسسات السماح تلقائيًا بخوادم أو أدوات بعينها، حتى لا تقاطع التكاملات الموثوقة الناس باستمرار.

قوائم السماح للفرق

يمكن للمسؤولين في خطط Teams وEnterprise ضبط سجل MCP مخصص وقائمة سماح. قاعدتان مهمتان. بمجرد إضافة أي خادم إلى قائمة السماح، يُحظر كل خادم غير مدرج فيها على مستوى الفريق بأكمله. والأنماط تعابير نمطية تُطابَق مع السلسلة كاملة، لذلك لن يطابق النمط الفضفاض ما تتوقعه. كما يجب على مستخدمي Enterprise تفعيل MCP يدويًا في الإعدادات.

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

أربعة زملاء يقفون حول لوحة بيضاء عليها صناديق وأسهم مرسومة يدويًا في مكتب مفتوح

إصلاح خادم صامت

تحقق من الأساسيات

نفّذ هذه القائمة بالترتيب:

  1. تحقق من صحة JSON. فاصلة زائدة في النهاية أو علامة اقتباس مفقودة تجعل الملف كله غير قابل للقراءة.
  2. شغّل الأمر في الطرفية. إذا فشل npx -y @modelcontextprotocol/server-github هناك، فسيفشل في المحرر أيضًا.
  3. تحقق من Node.js. تذكر مقالات الإعداد من طرف ثالث أن الخوادم التي تعمل بـnpx تحتاج إلى Node.js 18 أو أحدث.
  4. شغّل devin mcp list. يعرض ما تم تحميله فعلًا، وهذا أفضل من التخمين.
  5. أعد تشغيل المحرر. لا تذكر الصفحة الرسمية ما إذا كانت إعادة التشغيل ضرورية، بينما توصي مقالات الطرف الثالث بها، لذا فإعادة التشغيل تكلفة زهيدة تحمي من المشكلة.
  6. افحص البيئة. قد يعتمد خادم يعمل بشكل سليم في طرفيتك على متغير لم يره المحرر أبدًا. اضبطه في env، أو استخدم ${env:VAR} وشغّل المحرر من صدفة تحتويه.

لقطة مقربة لمطوّر بنظارة ذات إطار سلحفاتي يعبس أمام حاسوب محمول أثناء تصحيح الأخطاء

استبعد الملف الخطأ

إذا لم يظهر الخادم أبدًا، فتحقق مما إذا كنت قد عدّلت الملف الذي يقرؤه وكيلك. يرسلك درس يسبق إعادة التسمية إلى ~/.codeium/windsurf/mcp_config.json، بينما يقرأ Devin Local طبقات CLI بدلًا منه. أضف مدخلًا تجريبيًا، ثم تأكد من ظهوره في devin mcp list قبل أن تبني الإعداد الحقيقي.

إذا كنت تنقل إعداد Windsurf قديمًا، فانسخ كتلة mcpServers الخاصة به إلى mcp_config.json على مستوى المستخدم، ثم شغّل devin mcp list، واحذف الملف القديم بعد ذلك فقط. بهذا الترتيب لن تفقد خادمًا يعمل أثناء الاختبار.

عندما تكون قائمة السماح للفريق مفعّلة، تقدّم الوثائق أربعة فحوص: تأكد من أن النمط يطابق إعداد المستخدم تطابقًا تامًا، وتحقق من تهريب التعابير النمطية، وراجع السجلات (تُسجَّل الأنماط غير الصالحة بتحذيرات)، واختبر الأنماط في أداة اختبار للتعابير النمطية.

كيف تستخدم PicassoIA عبر MCP

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

النموذجما الذي يفعله
PicassoIA Imageتحويل النص إلى صورة
PicassoIA Image Editor Proيعدّل صورة موجودة
PicassoIA Videoفيديو من نص أو صورة
Seedance 2.5 Liteفيديو مع صوت

إليك طريقة ربطه:

  1. افتح صفحة اتصالات MCP. تقع في picassoia.com/en/mcp/accounts وتتطلب تسجيل الدخول. أنشئ اتصالًا وانسخ عنوان URL للخادم المعروض هناك. هذا العنوان غير منشور على الموقع العام، فلا تخمّنه.
  2. أضفه من CLI. شغّل devin mcp add picassoia <URL from step 1>. هذه صيغة الأمر الموثّقة لخادم HTTP.
  3. سجّل الدخول عند الطلب. إذا كان الخادم يستخدم OAuth، فشغّل devin mcp login picassoia.
  4. تأكد من أنه تحمّل. يجب أن يعرض devin mcp list الأداة picassoia.
  5. اطلب أصلًا. أخبر الوكيل بما تحتاجه، مثل صورة بطل بنسبة 16:9 لمنشور ما. سيبدأ المهمة باستخدام PicassoIA Image، ثم يستطلع الحالة حتى تصبح succeeded ويعطيك عنوان URL.

مكتب مصمم بشاشة كبيرة تعرض صورة لبحيرة جبلية ولوحة رسم وكاميرا

أدوات الموصّل وحدوده

يعرض موصّل PicassoIA تسع أدوات: generate_image، edit_image، generate_video_picassoia، generate_video_seedance، get_generation، list_generations، cancel_generation، list_models وget_account. وهذا جزء صغير من ميزانية تبلغ 100 أداة.

المهام غير متزامنة. يُعيد استدعاء التوليد معرّف تنبؤ، ويستطلع الوكيل get_generation حتى تنجح المهمة أو تفشل. الفشل نهائي، لذا أعد المحاولة بتوليد جديد. تسمح المنصة بعدد 5 تنبؤات متزامنة لكل حساب، مشتركة بين رموز API واتصالات MCP، ويُحدّ طول الأوامر النصية بـ4,000 حرف.

هل تفضّل السكربتات على المحرر؟ تعيش واجهة API للمطورين على https://api.picassoia.com/v1، وتقبل رمز Bearer يبدأ بالتسلسل pia_sk_، ويُنشأ هذا الرمز من قسم API في حسابك. تُنشأ التنبؤات باستخدام POST /v1/models/{owner}/{name}/predictions ويُقرأ الناتج عبر GET /v1/predictions/{id}. تعرض صفحة الأسعار ووثائق API صلاحية الخطط بطريقتين مختلفتين، لذا تحقّق من الخطة التي يحتاجها حسابك قبل طرح الأداة على الفريق.

💡 نصيحة: هل تحتاج إلى مساعدة في صياغة أمر نصي قبل أن ينفذه الوكيل؟ تضم مجموعة النماذج اللغوية على PicassoIA كلًا من Claude Sonnet 5 وGPT 5.6 Sol.

جرّبه بصورك الخاصة

لا قيمة لإعدادك إلا بقدر أول ما ينتجه، لذا أنتج شيئًا. صِل الخادم، واطلب صورة بطل واحدة للمشروع الذي تعمل عليه اليوم، وانظر كيف تبدو. غيّر الإضاءة والعدسة والتأطير في أمرك النصي، ثم شغّله من جديد وقارن. بضع جولات تكفي لإيجاد أسلوب يناسب مدونتك أو تطبيقك.

ثلاثة أوامر أولى تصلح اختبارات جيدة للاتصال:

  • صورة بطل. اطلب من PicassoIA Image صورة فوتوغرافية بنسبة 16:9 لمكتب عند الساعة الذهبية، مع تحديد عدسة وإضاءة معينتين في الأمر النصي.
  • تعديل. أعطِ لقطة شاشة أو صورة موجودة إلى PicassoIA Image Editor Pro واطلب تغييرًا واحدًا دقيقًا.
  • مقطع قصير. حوّل صورة البطل إلى حركة باستخدام PicassoIA Video، ثم تحقق من النتيجة قبل أن تلتزم بتصيير أطول.

افتح Picasso IA، واختر نموذجًا من القائمة، وولّد أول صورة لك. كل نموذج، من تحويل النص إلى صورة وفيديو، وصولًا إلى النماذج اللغوية، مدرج في picassoia.com/en/all-models.

شارك هذا المقال

اختر لغتك

مقالات ذات صلة