ai-ml

خادم MCP لا يظهر في Claude Desktop: الحلول (2026)

٢٠ أغسطس ٢٠٢٦

MCP Server Not Showing Up in Claude Desktop: Fixes (2026)

عندما لا يظهر خادم MCP في Claude Desktop، اعمل بهذا الترتيب: تحقق من قائمة Connectors وإعدادات Developer، ثم تحقق من صحة ملف config JSON، ثم أغلق التطبيق تماماً وأعد فتحه، واقرأ mcp.log، ثم تأكد من أنك قمت بتعديل الملف الذي يقرأه التطبيق بالفعل.12

ملخص

يقوم Claude Desktop بتشغيل الخوادم المدرجة تحت mcpServers في claude_desktop_config.json عند تشغيله.1 السلسلة الممتدة من "لقد عدلت ملفاً" إلى "ظهور أداة في محادثة" تتكون من عدة حلقات، والحلقات التي تستهلك أكبر قدر من الوقت هي تلك التي تفشل بصمت: ملف إعدادات لم يقرأه التطبيق أبداً، وهو ما لا ينتج عنه أي خطأ أو سجلات أو إشارة في إعدادات Developer في إحدى تكوينات Windows المبلغ عنها3؛ أو تطبيق تم إغلاقه بدلاً من إنهاء تشغيله بالكامل، أو سياسة جهاز مدار (managed-device policy) يتم تعيينها خارج التطبيق تماماً.4 هذا الصمت هو ما يجعل التخمين مكلفاً وقراءة ملف السجلات (log file) حلاً بسيطاً.

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

ملاحظة حول النطاق: يمكن لـ Claude Desktop الحصول على أدوات من خلال أكثر من آلية واحدة، وتفشل هذه الآليات بطرق مختلفة. إذا لم تكن متأكداً من الآلية التي قمت بإعدادها، ابدأ بـ "أي آلية استخدمت بالفعل؟".

ما ستتعلمه

  • آلية MCP التي قمت بتكوينها بالفعل، ولماذا يغير ذلك كل خطوة تليها
  • كيفية التحقق مما إذا كان الخادم متصلاً بالفعل قبل تغيير أي شيء
  • كيفية التحقق من صحة JSON في ملف الإعدادات، وماذا يفعل Claude Desktop عندما لا يتمكن من تحليله
  • لماذا لا يعتبر إغلاق نافذة Claude Desktop إعادة تشغيل للتطبيق
  • كيفية قراءة mcp.log و mcp-server-NAME.log، وما الذي يثبته أو ينفيه كل منهما
  • مكان وجود claude_desktop_config.json — وحالة Windows المبلغ عنها حيث يفتح "Edit Config" ملفاً لا يقرأه التطبيق
  • لماذا قد يفشل خادم يعمل بشكل جيد في Terminal الخاص بك عند تشغيله تحت Claude Desktop، وكيفية إصلاح البيئة (environment)
  • كيف يمكن لسطر واحد من السجلات (logging) أن يشغل خادمك ومع ذلك يكسر البروتوكول
  • كيفية إثبات أن الخادم نفسه يعمل، باستخدام MCP Inspector
  • ماذا تفعل عندما يتم تثبيت إضافة سطح مكتب ولكن أدواتها لا تظهر أبداً
  • مفتاح سياسة الجهاز المدار الذي يعطل خوادم MCP المحلية تماماً، وكيفية قراءة قيمته الحالية بنفسك
  • لماذا يمكن لموصل (connector) أن يعمل على claude.ai ولا يعمل في Claude Desktop، والعكس صحيح
  • حدود الخطط والمؤسسات الموثقة، والآلية التي ينطبق عليها كل منها

أي آلية استخدمت بالفعل؟

هناك عدة طرق مختلفة لإضافة أدوات إلى Claude Desktop، واستكشاف الأخطاء وإصلاحها يختلف لكل منها. حدد طريقتك أولاً.

ما قمت بهالآليةمكان التواجدالتوفر الموثق
تعديل ملف JSON يدويًاخادم MCP محليclaude_desktop_config.jsonClaude Desktop؛ "غير متوفرة في Cowork أو claude.ai"5
النقر على Install في Settings ← Extensionsإضافة سطح مكتب (.mcpb)سجل إضافات Claude Desktop"متوفرة فقط في Claude Desktop و Claude Code—ليس على الويب أو الهاتف"6
لصق رابط https:// في Connectorsموصل مخصص عن بُعدحساب Claude الخاص بكجميع واجهات Claude6
تثبيت إضافة (plugin)إما أحدهما أو كلاهمايعتمد على ما تتضمنه الإضافةيتبع أياً كان ما تتضمنه6

الصف الأخير يسبب ارتباكًا للبعض. إرشادات Anthropic صريحة في أن "الإضافة يمكن أن تتضمن خوادم MCP عن بُعد أو محلية (أو كليهما)"، وأن الإضافة التي تشير إلى MCP عن بُعد "تجعلها متوفرة في كل مكان"، بينما تلك التي تشير إلى MCP محلي "تعمل في Desktop و Claude Code".6 لذا إذا قمت بتثبيت إضافة وتحاول تتبع مكان أدواتها، حدد أولاً نوع الخادم الذي جاءت معه — ثم اتبع القسم الخاص بتلك الآلية أدناه.

هذا التمييز مهم لأن قواعد التوفر ليست متماثلة. إضافات سطح المكتب وخوادم الإعدادات المحلية تكون مرتبطة بالجهاز ولا تظهر على عميل الويب؛ أما الموصلات عن بُعد فيتم الوصول إليها من بنية Anthropic التحتية وتظهر في كل مكان.65

كيف أتحقق مما إذا كان خادم MCP متصلاً في Claude Desktop؟

افعل ذلك قبل تغيير أي شيء، لأن الأمر لا يكلف شيئاً ويمكن أن ينهي عملية البحث فوراً.

هناك مكانان للبحث، ومركز مساعدة Anthropic يذكر كليهما: "انقر على زر '+' في أسفل مربع الدردشة داخل Claude Desktop، ثم اختر 'Connectors'. ... بدلاً من ذلك، يمكنك زيارة إعدادات المطور (Developer settings) (تحت تطبيق Desktop) لرؤية حالة الاتصال والاطلاع على السجلات لأي خوادم MCP".7 وتصف صفحات MCP نفسها المسار الأول بمزيد من التفصيل — انقر على مؤشر "Add files, connectors, and more" في أسفل يسار مدخل المحادثة، ثم مرر الماوس فوق Connectors، ثم Manage connectors، واختر خادمك لرؤية الأدوات التي يوفرها.12

شيئان يجدر معرفتهما قبل البدء في البحث:

  • القائمة تسمى Connectors بغض النظر عن الآلية. إرشادات Anthropic نفسها توجهك إليها للتحقق من خوادم MCP المحلية،7 لذا فإن الاسم لا يخبرك شيئاً عن الآلية التي قمت بتكوينها — لا تستنتج أن خادمك المحلي في المكان الخطأ لمجرد أن القائمة تسمى "Connectors".
  • تحقق من إعدادات المطور (Developer settings) أيضاً، وليس القائمة فقط. تصف Anthropic مسار Connectors بأنه يعرض "خوادم MCP المتصلة وأدواتها"، بينما تعرض إعدادات المطور حالة الاتصال والسجلات.7 الخيار الثاني هو الذي يجب الوثوق به عند حدوث خطأ ما، لأن حقل الحالة يكون أكثر تحديداً من مجرد قائمة. إذا كان خادمك مدرجاً ولكن لا يمكن استخدامه، فانتقل إلى تعطيل الأدوات الفردية (per-tool disabling).
  • ملاحظة بشأن الأيقونة، لأنها تضلل الكثير من الناس. تخبرك العديد من الأدلة الخارجية بالبحث عن أيقونة المطرقة في أسفل يمين مربع الإدخال. لا تزال وثائق MCP تستخدم هذه الصياغة كـ تسمية للعرض — حيث أن أحد أقسام استكشاف الأخطاء وإصلاحها بعنوان "الخادم لا يظهر في Claude / أيقونة المطرقة مفقودة" — ولكن كل تعليمات فعلية في صفحات MCP الحالية تشير إلى أيقونة الزائد وقائمة Connectors بدلاً من ذلك.12 إذا كنت تبحث عن مطرقة ولا تجدها، فإن هذا في حد ذاته لا يخبرك بأي شيء عن ما إذا كان خادمك قد اتصل أم لا.

    هل يتم تحليل ملف الإعدادات الخاص بي فعلياً؟

    هذا هو الفحص المجاني الثاني، ومن السهل تجاهله لأن الملف يبدو سليماً. إعدادات Claude Desktop عبارة عن مستند JSON واحد؛ إذا لم يكن JSON صالحاً، فلن يجد التطبيق شيئاً ليقرأه، وتضع قائمة استكشاف الأخطاء وإصلاحها في دليل البدء السريع "تحقق من بناء جملة ملف claude_desktop_config.json" في المرتبة الثانية مباشرة بعد إعادة التشغيل.1

    قم بالتحقق من صحته باستخدام محلل (parser) بدلاً من النظر بالعين. هذه النماذج تطبع OK أو موضع الخطأ، وتتعمد عدم تكرار محتوى الملف، لأن إعداداتك قد تحتوي على مفاتيح API في كتلة env، وغالباً ما ينتهي الأمر بهذا المخرج ملصقاً في خيوط المنتديات:

    # macOS
    python3 -c 'import json,sys; json.load(open(sys.argv[1])); print("OK")' \
      ~/Library/Application\ Support/Claude/claude_desktop_config.json
    
    # Windows PowerShell
    $null = Get-Content "$env:APPDATA\Claude\claude_desktop_config.json" -Raw | ConvertFrom-Json; "OK"
    

    في تثبيت macOS نظيف، قد لا يكون python3 موجوداً — فهو مجرد برنامج مساعد يعرض تثبيت أدوات المطور لسطر الأوامر. إذا كنت لا تفضل ذلك، فإن أي محلل سيفي بالغرض؛ النقطة هي أن الآلة هي من تقرأ الملف، وليس أنت.

    من واقع الخبرة وليس من الوثائق، الأخطاء الشائعة هي: فاصلة زائدة بعد الإدخال الأخير؛ تعليق //، وهو ما لا يدعمه بناء JSON؛ قوس إغلاق مفقود؛ علامات اقتباس منحنية منسوخة من معالج نصوص أو صفحة ويب؛ علامة ترتيب البايت (BOM) لـ UTF-8، والتي يفضل Notepad و PowerShell 5.1 إضافتها ويرفضها بعض المحللين بينما يقبلها ConvertFrom-Json بهدوء؛ و — في Windows — الشرطات المائلة الخلفية المفردة في المسار. في JSON، يبدأ \ تسلسلاً هروبياً، لذا يجب مضاعفة كل شرطة مائلة خلفية في مسارات Windows: C:\\Users\\username\\Desktop. الشرطات المائلة الأمامية صالحة أيضاً في JSON وتعمل على Windows، لذا فإن C:/Users/username/Desktop يتجنب المشكلة تماماً.

    هناك فخ لن يكتشفه المحلل: وجود مفتاحي mcpServers في نفس المستند يعتبر JSON صالحاً، وكل محلل اختبرته يحتفظ بصمت بالمفتاح الأخير فقط. إذا قمت بدمج مقتطف بدلاً من تحرير المفتاح الموجود، فستختفي نصف خوادمك دون ظهور أي خطأ في أي مكان. يجب أن يطبع الأمر grep -c '"mcpServers"' <file> القيمة 1.

    التحليل السليم هنا يثبت أن الملف الذي اختبرته صالح؛ ولكن في Windows، هذا لا يثبت بعد أنه الملف الذي يقرأه التطبيق — انظر إلى حالة الملفين في Windows أدناه. وهذا الفحص له قريب خاص بـ Windows يستحق القيام به في نفس الوقت: محررات النصوص التي تضيف .txt عند الحفظ. إذا كان متصفح الملفات لديك يخفي الامتدادات المعروفة، فإن claude_desktop_config.json.txt سيبدو مطابقاً للملف الذي كنت تنوي إنشاءه، وسينتج بالضبط نفس الأعراض كما لو لم يكن هناك ملف إعدادات على الإطلاق.

    هناك سطر في السجلات يستحق الانتباه بينما أنت هنا. تقتبس المشكلة #38830 إدخالاً من main.log الخاص بـ Claude Desktop يقرأ [error] Error reading or parsing config file: يليه SyntaxError وموضع الحرف.8 هذا يخبرك أن التطبيق حاول قراءة ملف الإعدادات ولم يستطع. ولكنه لا يخبرك أي ملف، وليس دليلاً على أن الصيغة (syntax) الخاصة بك خاطئة: فقد تم تحليل ملفات ذلك المُبلغ بنجاح تحت ConvertFrom-Json، ووصفوا مصدر الخطأ بأنه غير محدد.8 لذا تعامل مع هذه السلسلة النصية كمحفز للتحقق من كل من الصيغة وحالة الملفين في Windows، وليس كحكم نهائي على أي منهما.

    هل يجب علي إغلاق Claude Desktop بالكامل لتدخل الإعدادات حيز التنفيذ؟

    نعم، وإغلاق النافذة لا يكفي. التعليمات في دليل البدء السريع بعد حفظ الإعدادات هي "إغلاق Claude Desktop بالكامل وإعادة تشغيله"، لأن "التطبيق يحتاج إلى إعادة التشغيل لتحميل الإعدادات الجديدة وبدء خادم MCP".1 ويذكر دليل تصحيح أخطاء MCP الشيء نفسه بالنسبة لتغييرات كود الخادم، بعبارات تستحق الاقتباس لأنها تحدد الخطأ بدقة: "أعد تشغيل العميل (بالنسبة لـ Claude Desktop، أغلقه بالكامل وأعد فتحه؛ إغلاق النافذة ليس كافياً)".2

    في macOS، هذا هو الفرق بين زر الإغلاق الأحمر وإغلاق التطبيق نهائياً — فالأول يترك العملية تعمل، لذا لا يتم إعادة قراءة أي شيء ويبدو أن تعديلك لم يفعل شيئاً.

    تذكر خطوات إعادة إنتاج المشكلة #26073 وجود عنصر قائمة Developer ← Reload MCP Configuration كبديل.3 تعامل معه كدورة أسرع بمجرد أن تعمل الأشياء، وليس كاختبارك الأول: فالإغلاق الكامل هو السلوك الذي تصفه الوثائق، وأنت تريد أن تكون نتيجتك السلبية الأولى موثوقة.

    كيف أقرأ سجلات MCP الخاصة بـ Claude Desktop؟

    يكتب Claude Desktop سجلات MCP في ~/Library/Logs/Claude على macOS وفي %APPDATA%\Claude\logs على Windows.1 يوجد هناك نوعان من الملفات يجيبان على أسئلة مختلفة:

    • mcp.log — "تسجيل عام حول اتصالات MCP وفشل الاتصال".1 هذا هو المكان الذي ترى فيه ما إذا كان Claude Desktop قد حاول الوصول إلى خادمك على الإطلاق.
    • mcp-server-NAME.log — مكتوب في الوثائق بصيغة mcp-server-SERVERNAME.log، حيث يكون الجزء النائب هو المفتاح الذي أعطيته للخادم في إعداداتك. وهو يحتوي على stderr الخاص بهذا الخادم الواحد. وتحذر الوثائق من أن "خوادم stdio قد تستخدم stderr لجميع عمليات التسجيل الخاصة بها، لذا فإن هذه الملفات لا تقتصر على الأخطاء"، لذا فإن الملف المزدحم ليس بالضرورة علامة سيئة.1

    قم بذلك كتسلسل بدلاً من المتابعة الحية (live tail)، لأنه في حالة الفشل للمرة الأولى، فإن mcp-server-NAME.log لا يكون موجوداً بعد — حيث يتم إنشاؤه بواسطة إعادة التشغيل، بينما يتوسع shell glob مرة واحدة قبل حدوث ذلك:

    # macOS: quit Claude Desktop fully, reopen it, wait a few seconds, then
    ls -la ~/Library/Logs/Claude/
    tail -n 100 ~/Library/Logs/Claude/mcp*.log
    

    في Windows، تقدم صفحة تصحيح أخطاء MCP هذا النموذج، الذي يوسع متغير البيئة بشكل صحيح تحت PowerShell:2

    type "$env:AppData\Claude\logs\mcp*.log"
    

    هذا يدمج كل ملف مطابق بدون رؤوس لأسماء الملفات وبدون حد للنهاية، وهو أمر مربك عندما يكون الهدف الأساسي هو التمييز بين mcp.log و mcp-server-NAME.log. يقوم هذا بنفس وظيفة الزوج الخاص بـ macOS المذكور أعلاه — القائمة أولاً، ثم قراءة كل ملف مصنف:

    Get-ChildItem "$env:APPDATA\Claude\logs"
    Get-ChildItem "$env:APPDATA\Claude\logs" -Filter mcp*.log | ForEach-Object {
      "`n==> $($_.Name) <=="; Get-Content $_.FullName -Tail 100
    }
    

    اقرأ النتيجة الفارغة بعناية على أي من المنصتين: الـ glob الذي لا يطابق شيئاً لا يطبع شيئاً، وهو ما يبدو متطابقاً مع الملفات الموجودة ولكنها فارغة. خطوة القائمة هي التي تميز بينهما.

    تلتقط السجلات أحداث الاتصال، ومشاكل التكوين، وأخطاء وقت التشغيل، وتبادل الرسائل.2 ما تبحث عنه هو معرفة أي طبقة فشلت:

    ما تراهإلى ماذا يشيرانتقل إلى
    لا يوجد mcp-server-NAME.log، ولا يوجد شيء في mcp.log بخصوص خادمكيتوافق مع عدم محاولة Claude Desktop تشغيله أبداً — لم يتم قراءة التكوين، أو لم يتم تحليل التكوين، أو تم تعطيل MCP المحلي بواسطة السياسةملف التكوين، JSON، السياسة
    خطأ في التحليل يحدد موضع حرف معينJSON غير صالحJSON
    mcp-server-NAME.log موجود ويظهر توقف العملية فوراًتعذر العثور على الأمر أو تشغيلهالبيئة
    الخادم يبدأ، ويسجل بشكل طبيعي، ولكن لا يظهر أي شيءمشكلة على مستوى البروتوكول — ذات صلة إذا كنت أنت من كتب الخادمstdout

    إذا كنت تستخدم Windows ومجلد السجلات نفسه غير موجود في المسار الموثق، فهذا يتوافق مع ما أبلغت عنه المشكلة #26073 بخصوص مشكلة التغليف في القسم التالي — على الرغم من أن Claude Desktop الذي لم يبدأ أبداً خادم MCP هو تفسير آخر، لذا تعامل مع الأمر كمؤشر وليس كتشخيص نهائي.3

    أين يوجد claude_desktop_config.json، وهل أقوم بتعديل الملف الذي يقرأه التطبيق؟

    المواقع الموثقة هي ~/Library/Application Support/Claude/claude_desktop_config.json على macOS و %APPDATA%\Claude\claude_desktop_config.json على Windows.1 المسار من داخل التطبيق على macOS يبدأ من قائمة Claude في شريط القوائم بالنظام — وليس الإعدادات داخل نافذة Claude — ثم Settings...، ثم علامة تبويب Developer، ثم Edit Config، والتي تفتح الملف وتنشئه أولاً إذا لم يكن موجوداً.1

    مخطط التكوين (config schema) الذي توثقه MCP لهذا الملف ضيق: كائن mcpServers، ومفتاح واحد لكل خادم، يحتوي كل منها على command بالإضافة إلى args و env اختياريين.12 لا تظهر أي من صفحات MCP المذكورة هنا مفتاح type في مثال لـ Claude Desktop. هذه ملاحظة حول التوثيق وليست قاعدة — إذا نسخت سطر "type": "stdio" من دليل ما فقد يظل غير ضار، ولكنه ليس شيئاً تطلبه هذه الوثائق، لذا لا تفترض أن وجوده أو غيابه هو ما أصلح أو عطل الأشياء.

    يخبرك دليل البدء السريع بـ "استبدال محتويات ملف التكوين" بمستند كامل.1 هذا أمر جيد في حالة التثبيت الجديد، ولكن إذا كان ملفك يحتوي بالفعل على خوادم أخرى أو كتلة preferences، فستحتاج إلى الدمج بدلاً من الاستبدال. إليك مفتاح mcpServers بمفرده، لدمجه داخل الأقواس الموجودة لديك بالفعل:

    "mcpServers": {
      "filesystem": {
        "command": "npx",
        "args": [
          "-y",
          "@modelcontextprotocol/server-filesystem",
          "C:\\Users\\YOUR-USERNAME\\Desktop"
        ]
      }
    }
    

    وإليك الشيء نفسه كملف كامل، في حالة التكوين الفارغ — لاحظ الأقواس الخارجية، والتي بدونها لن يتم تحليل أي شيء مما سبق:

    {
      "mcpServers": {
        "filesystem": {
          "command": "npx",
          "args": [
            "-y",
            "@modelcontextprotocol/server-filesystem",
            "C:\\Users\\YOUR-USERNAME\\Desktop"
          ]
        }
      }
    }
    

    حالة الملفين في Windows

    في نظام Windows، هناك استثناء تم الإبلاغ عنه علنًا لكل ما سبق، ومن المفيد تخصيص عشر ثوانٍ لاستبعاده. أولاً، تحقق مما إذا كان ينطبق عليك على الإطلاق:

    Get-AppxPackage *Claude* | Select-Object Name, PackageFamilyName
    Test-Path "$env:LOCALAPPDATA\Packages\Claude_pzs8sxrjxfjjc"
    

    إذا لم يرجع Get-AppxPackage أي شيء على الإطلاق، فأنت لست على إصدار MSIX ولا ينطبق عليك بقية هذا القسم. لا تعتمد على سطر Test-Path وحده: تشير المشكلة رقم 26073 إلى أن "هناك حزمة ثانية موجودة في Anthropic.ClaudeDesktop_h6f0761 والتي قد تكون مرتبطة بالارتباك"، لذا فإن نتيجة False لاسم حزمة واحدة لا تستبعد الحالة بمفردها.3

    إذا أظهر أي من الأمرين حزمة MSIX، فقد يكون لديك الإصدار الموصوف في المشكلة رقم 26073، التي تم تقديمها في فبراير 2026. يذكر المُبلغ أن "تعديل التكوين" (Edit Config) يفتح C:\Users\<username>\AppData\Roaming\Claude\claude_desktop_config.json بينما يقرأ التطبيق من C:\Users\<username>\AppData\Local\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\claude_desktop_config.json — وهما ملفان منفصلان لا يتم مزامنتهما أبدًا.3 الآلية المنسوبة هنا هي افتراضية نظام ملفات MSIX: حيث يتم إعادة توجيه عمليات القراءة الخاصة بالتطبيق لـ %APPDATA% إلى LocalCache الخاصة بالحزمة، بينما يقوم استدعاء shell الذي يفتح المحرر الخاص بك بتحديد المسار الحقيقي غير الافتراضي.3

    نمط الفشل هو ما يجعل من الصعب اكتشافه. وفقًا لهذا التقرير: لا يوجد خطأ في التطبيق، ولا يوجد مجلد سجلات في موقع %APPDATA%\Claude\logs\ الموثق، ولا يوجد شيء في إعدادات المطور يشير إلى أن التكوين لم يتم تحميله.3

    تنبيهان قبل أن تتخذ إجراءً. أولاً، هذا تقرير عن خطأ قدمه مستخدم في متتبع claude-code العام الخاص بـ Anthropic وليس توثيقًا من المورد. يحمل التقرير تسمية bug وتسمية invalid، ولكن لاحظ معنى التسمية الثانية في هذا المستودع — حيث يذكر وصفها "يبدو أن المشكلة لا تتعلق بـ Claude Code"، وهو حكم توجيهي يتعلق بالمتتبع (هذا هو Claude Desktop، وهو منتج مختلف)، وليس استنتاجًا بأن التقرير خاطئ.3 ثانيًا — وهذا هو السبب في أنها فرضية وليست تشخيصًا — فهي لا تفسر كل حالة. يصف تقرير لاحق، رقم 38830، تثبيت MSIX على الإصدار 1.1.8629.0 حيث وضع المُبلغ mcpServers في كلا الملفين، وذكر أن "كلا الملفين تم الحفاظ على مزامنتهما وكلاهما يحتوي على JSON صالح مع mcpServers"، ومع ذلك ظل يرى "لم يتم إضافة خوادم" (No servers added) في الإعدادات ← المطور دون إنشاء أي ملفات mcp-server-*.log على الإطلاق. يظهر مقتطف السجل الخاص بهذا التقرير خطأ SyntaxError في JSON مقابل ملفات "يتم التحقق من صحتها بنجاح باستخدام ConvertFrom-Json في PowerShell — ومصدر خطأ التحليل هذا غير محدد".8 لذا فإن مزامنة الملفين أمر يستحق القيام به، ولكن لا تفترض أن ذلك كافٍ.

    إذا كان هناك ملف إعدادات ثانٍ، فقم بدمج مفتاح mcpServers فيه بدلاً من استبداله — حيث يشير التقرير إلى أن الملف الافتراضي يحتوي بالفعل على كتلة preferences.3 بعد ذلك، توقف عن استخدام Edit Config على هذا الجهاز وافتح مسار LocalCache مباشرة من الآن فصاعداً، وإلا فإن تعديلك القادم سيستقر في الملف الذي يتجاهله التطبيق.

    لماذا يعمل خادم MCP الخاص بي في الطرفية (terminal) ولكن ليس في Claude Desktop؟

    لأن الاثنين ليسا في نفس البيئة. ينص دليل تصحيح الأخطاء الخاص بـ MCP على أن الخوادم التي يتم تشغيلها عبر stdio — النوع المحلي، الذي يتحدث مع Claude Desktop عبر الإدخال والإخراج القياسي — "ترث فقط مجموعة فرعية محدودة من متغيرات البيئة تلقائياً (المجموعة المحددة تعتمد على المنصة)."2 تمتلك الصدفة (shell) الخاصة بك PATH تم تجميعه بواسطة ملف تعريف تسجيل الدخول، ومدير الإصدارات، ومدير الحزم الخاص بك. أما العملية التي يشغلها Claude Desktop فلا تمتلك بالضرورة أي شيء من ذلك، لذا فإن استخدام npx أو uvx أو python أو Docker مجرداً في command قد يعمل في الطرفية ويفشل داخل التطبيق.2

    هناك حلان موثقان، وتفصيل واحد يحدد ما إذا كان الحل الأول سيعمل فعلياً.

    1. استخدم المسارات المطلقة (absolute paths). نصيحة الدليل فيما يتعلق بمشاكل المسارات هي "حاول استخدام مسار مطلق لـ command"، وبشكل أوسع، "استخدم دائماً المسارات المطلقة في ملفات الإعدادات وملفات .env لضمان التشغيل الموثوق."2
    2. حدد ما يحتاجه الخادم عبر env. مفتاح env موجود لـ "تجاوز المتغيرات الافتراضية أو تقديم متغيراتك الخاصة."2

    التفصيل، وهو غير موجود في الوثائق ولكنه يستنتج منها: إذا كنت تستخدم مدير إصدارات Node، فإن توجيه command إلى npx الخاص بالمدير قد لا يكون كافياً بمفرده، لأن سكربتات التشغيل هذه عادةً ما تحدد موقع node من PATH عند وقت التشغيل — و PATH هو الشيء المفقود. وجه command إلى ملف node الثنائي نفسه، ومرر سكربت الخادم الخاص بك كأول وسيط، وأضف المجلد الذي يحتوي على node إلى PATH في كتلة env. قم بتشغيل which node على macOS، أو where.exe node على Windows — حيث أن where العادية في PowerShell هي اسم مستعار لـ Where-Object ولن تطبع شيئاً بصمت، وهو ما يبدو تماماً مثل "Node غير مثبت". إذا كان مدير الإصدارات الخاص بك يستخدم shims (مثل asdf أو Volta)، فإن which سيعطيك الـ shim بدلاً من الملف الثنائي؛ بينما يقوم node -e 'console.log(process.execPath)' دائماً بطباعة المسار الحقيقي. في كلتا الحالتين، لا تخمن مسار /usr/local/bin.

    مرة أخرى، مفتاح mcpServers وحده، لدمجه في الأقواس الموجودة لديك — استبدل كل YOUR-USERNAME ورقم إصدار بالقيم الحقيقية من جهازك:

    "mcpServers": {
      "myserver": {
        "command": "/Users/YOUR-USERNAME/.nvm/versions/node/v22.19.0/bin/node",
        "args": ["/Users/YOUR-USERNAME/servers/myserver/dist/index.js"],
        "env": {
          "PATH": "/Users/YOUR-USERNAME/.nvm/versions/node/v22.19.0/bin:/usr/bin:/bin",
          "MYAPP_API_KEY": "some_key"
        }
      }
    }
    

    دليل العمل (working directory) هو الفخ الثاني في هذه المجموعة. يشير الدليل إلى أنه "قد يكون غير محدد (مثل / على macOS)" لأن العميل قد يكون قد بدأ من أي مكان.2 وبالتالي، فإن أي مسار نسبي في args يتم حله بناءً على دليل لم تختره أنت. وينطبق الشيء نفسه على ~، رغم أن هذا الأمر غير مذكور في المستندات: حيث يتم توسيع علامة التيلدا (tilde) بواسطة الشيل (shell) الخاص بك، بينما لا تملك JSON قاعدة كهذه، لذا فإن كتابة "~/Desktop" حرفياً داخل الإعدادات تصل إلى الخادم كاسم دليل غير موجود. اكتب /Users/you/Desktop. ويذكر دليل البدء السريع الشيء نفسه من الجانب الآخر — تأكد من أن المسارات في claude_desktop_config.json "صالحة وأنها مطلقة وليست نسبية."1

    يحتوي Windows على متغير موثق آخر. إذا أظهر سجل الخادم خطأً يشير إلى ${APPDATA} داخل مسار ما، فأضف القيمة الموسعة لـ %APPDATA% إلى مفتاح env الخاص بهذا الخادم. كما تحذر المستندات من أن npx "قد يستمر في الفشل إذا لم تكن قد قمت بتثبيت npm عالمياً" — يمكنك التأكد من التثبيت العالمي عن طريق التحقق مما إذا كان %APPDATA%\npm موجوداً، وإنشاؤه باستخدام npm install -g npm.1

    هل يمكن أن يبدأ الخادم الخاص بي ثم يكسر البروتوكول؟

    هذه الحالة تنتج خادماً ينطلق، ويسجل العمليات بشكل طبيعي، ومع ذلك لا يظهر أي شيء — لذا من المفيد معرفتها حتى لو كانت تنطبق فقط إذا كنت قد كتبت الخادم بنفسك.

    تتحدث خوادم MCP المحلية عبر البروتوكول من خلال stdout. دليل MCP واضح تماماً: الخوادم المحلية "يجب ألا تسجل الرسائل في stdout (المخرج القياسي)، لأن هذا سيتداخل مع عمل البروتوكول."2 استخدام print() أو console.log() في أي مكان في مسار التشغيل كافٍ لانتهاك ذلك. أرسل السجلات إلى stderr بدلاً من ذلك، وهو ما يلتقطه التطبيق المضيف — Claude Desktop في هذه الحالة — تلقائياً لخوادم stdio.2 (تنقلب القاعدة بالنسبة لنقل Streamable HTTP، حيث "لا يتم التقاط stderr بواسطة العميل" وتوجهك المستندات إلى تجميع السجلات من جانب الخادم الخاص بك أو OpenTelemetry، بالإضافة إلى أدوات HTTP العادية مثل curl أو لوحة Network في المتصفح. لاحظ أثناء وجودك هناك أن تسجيل السجلات على مستوى البروتوكول عبر notifications/message "أصبح مهجوراً اعتباراً من إصدار البروتوكول 2026-07-28"، لذا لا تبنِ خوادم جديدة بناءً عليه.2)

    هناك فئة ذات صلة من حالات الفشل في تفاوض القدرات (capability negotiation)، حيث لا يتفق الطرفان على ما يدعمه كل منهما. في بروتوكول 2026-07-28، تحدد الوثائق بوضوح أين يجب البحث: يجب أن يحمل كل طلب io.modelcontextprotocol/protocolVersion و io.modelcontextprotocol/clientCapabilities في الـ _meta الخاصة به، وأي طلب يفتقد لأي منهما يتم رفضه بالكود -32602 ("Invalid params"، والذي يتم إرجاعه أيضاً للعديد من المدخلات الخاطئة الأخرى)، أما الخادم الذي يحتاج إلى قدرة لم يصرح بها العميل أبداً — مثل الاستنباط (elicitation) على سبيل المثال — فيقوم بإرجاع MissingRequiredClientCapabilityError (-32021) مع تحديد ما هو مفقود. الفحص المقترح هو "معاينة _meta الخاصة بالطلب واستجابة server/discover للتحقق من أن كلا الطرفين قد صرحا بما تتوقعه."2 ويعد الشريط الجانبي للمراقبة في Inspector أسهل مكان لمتابعة حركة البيانات هذه.9 هذه الأسماء والأكواد خاصة بإصدار البروتوكول هذا، لذا تحقق منها مقابل الإصدار الذي يستهدفه الخادم الخاص بك.

    كيف أقوم باختبار خادم MCP الخاص بي باستخدام MCP Inspector؟

    استخدم MCP Inspector لتحديد ما إذا كان الخادم هو المشكلة من الأساس. يدرجه دليل استكشاف الأخطاء وإصلاحها أولاً ضمن أدوات التصحيح ويقول بوضوح: "يجب أن تكون هذه محطتك الأولى."2 يأتي كحزمة واحدة، @modelcontextprotocol/inspector، مع ثلاثة عملاء خلف ملف ثنائي واحد — واجهة مستخدم ويب، وواجهة سطر أوامر (CLI) قابلة للبرمجة، وواجهة مستخدم طرفية (terminal UI) — جميعها تشترك في نفس النواة، ووسائل النقل، والإعدادات.9 تحدد الوثائق الحد الأدنى للتشغيل بـ "Node 22.19.0 أو أحدث"، لذا تحقق من node -v أولاً؛ وفي حالة استخدام إصدار أقدم، ارجع إلى تشغيل أمر الخادم مباشرة في الطرفية، وهو ما يقترحه دليل البدء السريع أيضاً كخطوة لاستكشاف الأخطاء وإصلاحها.91

    # Web UI, pointed at a local stdio server
    npx -y @modelcontextprotocol/inspector node /abs/path/to/server/index.js
    
    # List the tools and exit — the fastest possible sanity check
    npx -y @modelcontextprotocol/inspector --cli node /abs/path/to/server/index.js --method tools/list
    
    # A published npm server, launched the way your config launches it
    npx -y @modelcontextprotocol/inspector npx -y @modelcontextprotocol/server-filesystem /Users/YOUR-USERNAME/Desktop
    

    الشكل الثالث هو المفيد هنا، لأنه يقوم بتشغيل نفس الـ command والـ args الموجودة في إعداداتك — بشرط أن تكتب نفس السلاسل النصية حرفياً. استخدم المسار المطلق في كلا الموضعين بدلاً من ~، وإلا فلن يكون الاستدعاءان قابلين للمقارنة لنفس السبب المذكور في القسم السابق.

    الآن اقرأ النتيجة كمسار تفرعي، وليس كقائمة مراجعة:

    • فشل Inspector أيضاً. الخطأ موجود في الخادم أو في التبعيات الخاصة به. توقف عن تعديل ملف JSON.
    • نجح Inspector، ولكن Claude Desktop لا يظهر شيئاً. الخادم نفسه سليم، لذا فإن الفرق يكمن في شيء ما بين إعداداتك والعملية التي يقوم Claude Desktop بتشغيلها. بالترتيب التقريبي: البيئة التي توفرها الصدفة (shell) ولا توفرها العملية المشغلة — انتقل إلى المسارات المطلقة و PATH وقم بتحديد command و args و PATH بشكل يدوي ثابت؛ ثم تحقق مما إذا كان التطبيق قد قرأ إعداداتك على الإطلاق (السجلات، حالة الملفين في Windows)؛ ثم سياسة الجهاز.

    بالنسبة للخادم البعيد، يقوم مثال CLI في الوثائق بتمرير URL كموضع (بينما يستخدم مثال وضع الويب --server-url بدلاً من ذلك):9

    npx -y @modelcontextprotocol/inspector --cli https://api.example.com/mcp --transport http --method tools/list
    

    قاعدتان في بناء الجملة (syntax) تسببان ارتباكاً يمكن تجنبه:9

    • علامات الوضع (Mode flags) (--web, --cli, --tui) يتم التعرف عليها فقط في بداية سطر الأوامر، لذا فإن أي --cli تظهر لاحقاً يتم تمريرها إلى الخادم الخاص بك دون تغيير.
    • تمرير اثنتين منها يؤدي إلى خطأ بنص "Specify at most one of --web, --cli, or --tui."

    تم تثبيت إضافة سطح المكتب الخاصة بي، لكن أدواتها لم تظهر أبداً

    يتم تثبيت الإضافات من خلال الإعدادات (Settings) بدلاً من تعديل claude_desktop_config.json، وحل Anthropic للإضافة التي لا تعمل بشكل صحيح هو "إعادة تشغيل Claude Desktop لتحديث سجل الإضافات" — لذا فإن فحوصات ملف الإعدادات المذكورة أعلاه ليست هي المكان الذي يجب البحث فيه. الحلول الموثقة من Anthropic لحالة "الإضافة تظهر كمثبتة ولكن الأدوات غير متاحة" هي: إعادة تشغيل Claude Desktop لتحديث سجل الإضافات؛ والتحقق من إعدادات تكوين الإضافة بحثاً عن أي حقول مطلوبة مفقودة؛ والتحقق من إدخال أي مفاتيح API أو بيانات اعتماد المصادقة بشكل صحيح.7 وتضيف قائمة منفصلة لمشاكل التكوين طريقة التنقل — الإعدادات (Settings) ← الإضافات (Extensions)، ثم النقر على الإضافة لمراجعة إعداداتها — وتشير إلى أن أي مسارات ملفات تقدمها يجب أن تشير إلى مجلدات موجودة ويمكنك الوصول إليها.7

    من المفيد معرفة ذلك أثناء تواجدك هناك: الإضافات لا تعتمد على تثبيت Node الخاص بك. يتضمن Claude Desktop "بيئة Node.js مدمجة، لذا فإن تثبيت Node.js ليس مطلوباً" للإضافات، وهي تدعم خوادم MCP من نوع Node.js و Python والملفات الثنائية (binary).7 من الناحية العملية، هذا يعني أن الإضافة يمكن أن تعمل على جهاز يفشل فيه خادم npx الذي تم تكوينه يدوياً لأسباب تتعلق بـ PATH — وهو أمر مفيد لمعرفته عندما تقرر أي آلية ستبذل الجهد في استكشاف أخطائها وإصلاحها. الحقول الحساسة المميزة بـ "sensitive": true في ملف البيان (manifest) يتم تشفيرها باستخدام التخزين الآمن لنظام التشغيل، مثل Keychain على macOS أو Credential Manager على Windows.7

    إذا كنت تقوم بتثبيت إضافة .mcpb قمت ببنائها أو استلمتها بدلاً من واحدة من الدليل، فإن المسار هو الإعدادات (Settings) ← الإضافات (Extensions) ← "الإعدادات المتقدمة" (Advanced settings) ← قسم مطور الإضافات (Extension Developer) (وهو جزء مختلف عن الإعدادات ← المطور) ← "تثبيت إضافة..." (Install Extension…) ← اختر الملف.7 وإذا كنت قد بنيتها بنفسك، فإنها تظل محدثة فقط إذا أعدت تثبيتها: إضافات الدليل يتم تحديثها تلقائياً بشكل افتراضي، بينما بالنسبة للإضافات الموزعة بشكل خاص، "سيحتاج المستخدمون إلى تثبيت ملفات .mcpb المحدثة يدوياً".7

    هل يمكن لسياسة المسؤول (admin policy) تعطيل خوادم MCP المحلية على جهازي؟

    نعم — وعلى لابتوب العمل، يستحق هذا الأمر التحقق قبل أن تقضي مزيدًا من الوقت في JSON. يمكن للمسؤولين في خطط Team أو Enterprise التحكم في Claude Desktop من خلال سياسات النظام، ويتضمن جدول السياسات الموثق isLocalDevMcpEnabled، وهي قيمة Boolean تكون افتراضيًا true وموصوفة بأنها "تفعيل خوادم MCP المحلية".4 وهناك مفتاحان شقيقان يتحكمان في الآلية الأخرى: isDesktopExtensionEnabled ("تفعيل/تعطيل الإضافات") و isDesktopExtensionDirectoryEnabled ("تفعيل الوصول إلى دليل الإضافات")، وكلاهما يكون افتراضيًا true.4

    يختلف التسليم حسب المنصة. في macOS، تصل الإعدادات عبر ملف تعريف تكوين MDM مقابل نطاق التفضيلات com.anthropic.claudefordesktop، مع تسمية Jamf Pro و Kandji و Intune كأدوات.4 وفي Windows، تصل عبر Group Policy أو Intune، وتُكتب تحت HKLM:\SOFTWARE\Policies\Claude للإعدادات على مستوى الجهاز أو ما يعادلها في HKCU لكل مستخدم، مع إعطاء الأولوية لإعدادات مستوى الجهاز عند تعيين كليهما.4 كما تشير Anthropic إلى أن ضوابط سياسة المؤسسة على مستوى المستخدم-الجهاز تتجاوز قائمة السماح بالإضافات داخل التطبيق.4

    يمكنك الاطلاع على المواقع الموثقة بنفسك بدلاً من انتظار قسم تكنولوجيا المعلومات. في Windows، تحقق من كلا النطاقين — مثال Anthropic يكتب في HKLM:\SOFTWARE\Policies\Claude، ويذكر المقال HKCU كمعادل لكل مستخدم:4

    foreach ($p in 'HKLM:\SOFTWARE\Policies\Claude','HKCU:\SOFTWARE\Policies\Claude') {
      if (Test-Path $p) {
        "$p ->"
        Get-ItemProperty $p | Select-Object isLocalDevMcpEnabled, isDesktopExtensionEnabled, isDesktopExtensionDirectoryEnabled
      } else { "$p -> key not present (no policy set at this scope)" }
    }
    

    كُتبت بهذه الطريقة بدلاً من استخدام -ErrorAction SilentlyContinue، لأن تجاهل الأخطاء بصمت يجعل حالة "عدم تعيين سياسة" وحالة "غير مسموح لك بقراءة هذا المفتاح" تبدوان متطابقتين.

    نظام macOS أقل حسمًا، لأن الإعدادات التي يتم تسليمها عبر MDM لا توجد في تفضيلات كل مستخدم التي يعيدها الأمر defaults read <domain>. تحقق من موقع التفضيلات المدارة (managed-preferences) بالإضافة إلى نطاق المستخدم، وتوقع حاجتك إلى صلاحيات المسؤول للحصول على صورة كاملة:

    # device-scoped payload, then user-scoped, then the user's own preferences
    defaults read "/Library/Managed Preferences/com.anthropic.claudefordesktop" 2>/dev/null || echo "no device-scoped payload"
    defaults read "/Library/Managed Preferences/$USER/com.anthropic.claudefordesktop" 2>/dev/null || echo "no user-scoped payload"
    defaults read com.anthropic.claudefordesktop 2>/dev/null || echo "no user preferences"
    
    sudo profiles show -all                  # every installed configuration profile
    

    كلا النطاقين مهمان: أدوات MDM تسلم البيانات على مستوى الجهاز أو المستخدم، والتحقق من /Library/Managed Preferences/ فقط يغفل النطاق الثاني. الأمر defaults read على نطاق غير موجود يكتب شكواه في stderr ويخرج بقيمة غير صفرية، وهذا هو سبب وجود الحلول البديلة أعلاه.

    إذا كانت قيمة isLocalDevMcpEnabled تعود بـ 0 أو false، فهذه هي إجابتك، والإصلاح ليس بيدك — بل هو طلب يُقدم لمن يدير الجهاز لإعادة تعيين المفتاح إلى true (أو 1 في Windows). اقرأ النتيجة الفارغة (null) بعناية على أي من المنصتين: الاستجابة الفارغة تعني أنك لم تجد سياسة في المكان الذي بحثت فيه، وليس أنه لا توجد سياسة على الإطلاق. في جهاز لا تديره، تعامل مع هذا القسم كسؤال تطرحه بدلاً من فحص يمكنك إغلاقه.

    لماذا يعمل الموصل (connector) الخاص بي على claude.ai ولكن ليس في Claude Desktop؟

    ابدأ باستبعاد الآلية نفسها، لأنه بالنسبة للموصلات البعيدة (remote connectors)، لا ينبغي أن يحدث هذا العرض. توضح Anthropic أن "Claude يتصل بخادم MCP البعيد الخاص بك من البنية التحتية السحابية لـ Anthropic، وليس من جهازك المحلي"، وأن هذا ينطبق "على كل عملاء Claude، بما في ذلك claude.ai و Claude Desktop و Cowork والتطبيقات المحمولة".5 وبالتالي، فإن الموصل البعيد الذي يعمل في المتصفح يصل إلى الخادم بنفس الطريقة في تطبيق سطح المكتب.

    إذا كنت ترى فرقاً بالفعل، فإن المتغير ليس الموصل — بل هي حالة كل محادثة أو كل أداة في تلك الدردشة المحددة:

    • مفاتيح التبديل لكل محادثة. يظهر زر "+" الموصلات التي قمت بتكوينها "مع مفاتيح تبديل تسمح لك بتمكينها/تعطيلها لكل محادثة".5 الموصل الذي تم إيقاف تشغيله لهذه الدردشة ليس موصلاً معطلاً.
    • تعطيل كل أداة على حدة. تتيح لك قائمة "Search and tools" تعطيل أدوات فردية لا تريد من Claude استدعاءها.5 يمكن أن يكون الموصل مدرجاً مع إيقاف تشغيل الأداة المحددة التي تبحث عنها.
    • مصدر استدعاء الأداة. ينطبق هذا على الخوادم المحلية بدلاً من الموصلات البعيدة، ولكنه ينتمي إلى نفس فئة "متصل ولكن غير مستخدم": البحث المتقدم "غير قادر حالياً على استدعاء أدوات من خوادم MCP المحلية".5 إذا ظهر خادمك المحلي تحت Connectors في محادثة عادية ولكن لم يتم استخدامه أبداً أثناء البحث، فهذا سلوك موثق وليس خطأً.

    هناك عدم تماثل ثانٍ، وهو يسير في الاتجاه المعاكس. نظرًا لأن الموصلات البعيدة يتم الوصول إليها من البنية التحتية لـ Anthropic، فإن الخادم "المستضاف على شبكة مؤسسة خاصة، أو خلف VPN، أو محظور بواسطة جدار حماية لن يتصل، حتى لو كان بإمكانك الوصول إليه من جهازك الخاص" — والعلاج الموثق هو السماح بنطاقات IP المنشورة الخاصة بـ Anthropic.5 وعكس عنوان القسم ليس خطأً على الإطلاق: الخادم المحلي المكون في claude_desktop_config.json يعمل على جهازك، وتذكر Anthropic أن هذه "غير متوفرة في Cowork أو claude.ai".5 غيابه عن عميل الويب هو التصميم المقصود، وليس خطأً يجب تتبعه.

    هل تحد خطتي أو إعدادات مؤسستي من هذا؟

    بالنسبة للموصلات المخصصة البعيدة، فإن التوفر موثق مباشرة: فهي "متوفرة على Claude و Cowork و Claude Desktop للمستخدمين في خطط Free و Pro و Max و Team و Enterprise"، و"يقتصر مستخدمو الخطة المجانية (Free) على موصل مخصص واحد".5 ويضع مقال منفصل الموصلات البعيدة على "الويب، والمحمول، و Cowork، وسطح المكتب، و Claude Code".6 لذا في الحساب المجاني، توقع حد الموصل الواحد الموثق بدلاً من وجود خطأ.

    في خطط Team و Enterprise، يوجد قيد إضافي: "يمكن للمالكين فقط إضافتهم إلى خطط Team و Enterprise"، وبعد ذلك يقوم الأعضاء الأفراد بربط أنفسهم بالموصّل (connector).5 إذا كنت عضواً ولست مالكاً ولم يظهر الموصّل المخصص الخاص بك أبداً، فقد يكون السبب ببساطة أن عملية الإضافة ليست متاحة لك — حيث يقوم المالك بإضافته على مستوى المؤسسة أولاً، ثم يظهر في قائمتك لتقوم بربطه. تشير Anthropic أيضاً إلى أنه لا يمكن تعديل الموصّلات في مكانها: لتغيير أحدها، قم بإزالته وإضافته مرة أخرى.5

    لا يوجد متطلب مماثل للخطة موثق للخوادم المحلية claude_desktop_config.json في أي من الصفحات المذكورة هنا. قيود الخطة المذكورة أعلاه تنطبق تحديداً على الموصّلات المخصصة عن بُعد، لذا لا تستنتج أن الحساب المجاني هو السبب في فقدان خادم محلي.

    الخلاصة

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

    اعكس هذه الغريزة. افتح قائمة الموصلات (Connectors) وانظر ما إذا كان الخادم موجوداً بالفعل. قم بتشغيل ملف التكوين الخاص بك عبر محلل JSON. أغلق التطبيق تماماً، ثم أعد فتحه، واعرض دليل السجلات — ~/Library/Logs/Claude/ على macOS، و %APPDATA%\Claude\logs على Windows — لمعرفة ما إذا كان قد تم إنشاء سجل لكل خادم. هذه الملاحظات الثلاث لا تكلف شيئاً، ومن خلالها ستعرف أي من الأقسام أعلاه تحتاج إليه فعلياً. إذا لم يتم إجراء أي محاولة تشغيل على الإطلاق، فإن المشكلة تسبق خادمك، ولن يؤدي أي قدر من تعديل command و args إلى إظهاره.

    عندما تقوم بتغيير شيء ما، قم بتغيير شيء واحد فقط، وأغلق البرنامج تماماً، ثم أعد قراءة السجل (log). وإذا كنت تقوم ببناء الخادم بدلاً من تثبيت خادم جاهز، فقم بإثبات عمله في MCP Inspector أولاً — فالخادم الذي يعمل فيه tools/list خارج Claude Desktop يحول عملية البحث المفتوحة إلى مشكلة في البيئة ذات قائمة قصيرة من الأسباب.

    الخطوات التالية: إذا كنت تكتب الخادم الخاص بك، فإن دليل خادم MCP للإنتاج في TypeScript يغطي OAuth و Streamable HTTP من البداية إلى النهاية، ودليل عميل MCP لأدوات stdio يوضح النصف الآخر من الاتصال الذي تقوم بتصحيحه هنا. إذا كان خادمك يتصل ولكن Claude يتجاهل أدواته، فهذه مشكلة مختلفة تتطلب بحثاً خاصاً بها — راجع كم عدد الأدوات التي يمكن لوكيل الذكاء الاصطناعي التعامل معها قبل إضافة المزيد.

    الحواشي

    1. Model Context Protocol، "اتصل بخوادم MCP المحلية." مسارات التكوين، مسار الإعدادات ← المطور ← تحرير التكوين (Settings → Developer → Edit Config)، مخطط mcpServers، "أغلق Claude Desktop تماماً وأعد تشغيله"، خطوة استكشاف الأخطاء وإصلاحها الخاصة بالتحقق من الصيغة (syntax)، الاقتراح بتشغيل الخادم يدوياً من سطر الأوامر، مسار واجهة مستخدم الموصلات (Connectors UI)، مواقع وأسماء ملفات السجلات، قاعدة المسارات المطلقة (absolute-paths)، حالة ENOENT الخاصة بـ ${APPDATA} وتنبيه global-npm. يقدم modelcontextprotocol.io مجموعات توثيق ذات إصدارات محددة، ولا يؤدي الرابط غير المؤرخ دائماً إلى الإصدار الحالي، لذا تشير هذه الحاشية إلى مجموعة 2026-07-28 المؤرخة، وهي المكان الذي تظهر فيه كل سلسلة نصية مقتبسة أعلاه. https://modelcontextprotocol.io/docs/2026-07-28/develop/connect-local-servers 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

  • Model Context Protocol، "Debugging"، مجموعة وثائق 2026-07-28. استخدام Inspector كخطوة أولى، حظر stdout، التقاط stderr، إرشادات تسجيل Streamable HTTP، وإشعار إيقاف استخدام notifications/message، ووراثة متغيرات البيئة (environment-variable inheritance)، ودليل العمل غير المحدد، وإرشادات المسار المطلق تحت "Server startup"، ومفتاح env، و"Invalid JSON syntax" تحت أخطاء التكوين، وفحص حالة Connectors، وأمر سجل Windows PowerShell، ومحتويات السجل، وفحوصات قدرات server/discover و _meta لكل طلب مع أكواد الخطأ -32602 و -32021، وقاعدة "الخروج الكامل وإعادة الفتح؛ إغلاق النافذة ليس كافياً" لتغييرات كود الخادم. الرابط غير المؤرخ لا يشير دائماً إلى هذه المجموعة، لذا تم الاستشهاد بالرابط المؤرخ. https://modelcontextprotocol.io/docs/2026-07-28/tools/debugging 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

  • مشكلة رقم 26073 في anthropics/claude-code، "[BUG] Windows MSIX: 'Edit Config' opens wrong claude_desktop_config.json — MCP servers silently fail to load،" تم فتحها في 16 فبراير 2026؛ لا تزال مفتوحة وغير مسندة وقت الكتابة، وتحمل علامة invalid إلى جانب bug. تم الإبلاغ عنها ضد Claude Desktop 1.1.3189.0، حزمة MSIX Claude_pzs8sxrjxfjjc. هذا تقرير خطأ من مستخدم، وليس توثيقاً من المورد. https://GitHub.com/anthropics/claude-code/issues/26073 2 3 4 5 6 7 8 9 10 11

  • مركز مساعدة Anthropic، "Enterprise configuration for Claude Desktop." جدول السياسات الذي يتضمن isLocalDevMcpEnabled و isDesktopExtensionEnabled و isDesktopExtensionDirectoryEnabled مع الأنواع والقيم الافتراضية، ونطاق تفضيلات macOS com.anthropic.claudefordesktop، ومسار سجل Windows HKLM:\SOFTWARE\Policies\Claude، وأولوية الجهاز على المستخدم، وأولوية السياسة على القائمة المسموح بها. https://support.claude.com/en/articles/12622667-enterprise-configuration-for-claude-desktop 2 3 4 5 6 7 8

  • مركز مساعدة Anthropic، "ابدأ باستخدام الموصلات المخصصة باستخدام MCP عن بُعد." توفر الخطة والحد المجاني لموصل واحد، والاتصالات التي تنشأ من بنية Anthropic التحتية، وتبعات الشبكة الخاصة وVPN، والحدود بين المحلي وعن بُعد، وبوابة الملاك فقط في خطط Team وEnterprise، ومفاتيح التبديل لكل محادثة، والتحكم لكل أداة في "البحث والأدوات"، وقاعدة الإزالة وإعادة الإضافة، وقيود البحث المتقدم. https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp 2 3 4 5 6 7 8 9 10 11 12 13 14 15

  • مركز مساعدة Anthropic، "متى تستخدم موصلات سطح المكتب والويب." أي آلية تناسب أي أداة، وجدول التوفر السطحي للموصلات عن بُعد مقابل إضافات سطح المكتب، وقسم "الإضافات تعمل مع كليهما". https://support.claude.com/en/articles/11725091-when-to-use-desktop-and-web-connectors 2 3 4 5 6 7

  • مركز مساعدة Anthropic، "البدء في استخدام خوادم MCP المحلية على Claude Desktop"، بتاريخ 30 يونيو 2026. مسارات تثبيت الإضافات، وتنسيق .mcpb، وحلول مشكلات "الإضافة تظهر كمثبتة ولكن الأدوات غير متاحة" و"مشكلات تكوين الإضافة"، وبيئة Node.js المدمجة، واللغات المدعومة، وتخزين بيانات الاعتماد "sensitive": true، وسلوك التحديث، وزر "+" ← التحقق من إعدادات الموصلات / المطورين. https://support.claude.com/en/articles/10949351-getting-started-with-local-mcp-servers-on-claude-desktop 2 3 4 5 6 7 8 9 10 11

  • مشكلة رقم 38830 في anthropics/claude-code، "[BUG] mcpServers in claude_desktop_config.json silently ignored on Windows MSIX install (v1.1.8629.0)"، تم فتحها في 25 مارس 2026؛ أُغلقت، وصُنفت كـ bug و invalid. حافظ المُبلغ على مزامنة كلا ملفي التكوين بصيغة JSON صالحة ومع ذلك لم يتم تحميل أي خوادم، مستشهداً بسطر من main.log ينص على "Error reading or parsing config file" مع SyntaxError غير مفسر. هذا تقرير عن خطأ من مستخدم، وليس توثيقاً من المورد. https://GitHub.com/anthropics/claude-code/issues/38830 2 3

  • بروتوكول سياق النموذج، "MCP Inspector". ثلاثة عملاء خلف ملف ثنائي واحد، الحد الأدنى Node 22.19.0، استدعاءات الويب/CLI/TUI، فحص خادم npm منشور، صيغة remote-URL الموضعية لعميل CLI مع --transport http، وقواعد علامة الوضع (mode-flag). تم الاستشهاد به في الرابط المؤرخ بـ 2026-07-28: الرابط غير المؤرخ قد يقدم إصدارًا أقدم من Inspector لا يوثق أيًا من هذه الأمور. https://modelcontextprotocol.io/docs/2026-07-28/tools/inspector 2 3 4 5 6

  • الأسئلة الشائعة

    ابدأ بالفحوصات المجانية أولاً: ابحث تحت Connectors وفي إعدادات Developer لمعرفة ما إذا كان متصلاً بالفعل، وتحقق من صحة JSON في ملف الإعدادات، وأغلق التطبيق تماماً ثم أعد فتحه، واقرأ mcp.log لمعرفة ما إذا كانت هناك محاولة تشغيل من الأساس، و — خاصة على Windows — تأكد من أنك قمت بتعديل ملف الإعدادات الذي يقرأه التطبيق فعلياً. فقط بعد ذلك ابدأ في تغيير البيئة أو المسارات. 1 2 3