مسار Claude· الخطوة 6 من 8

Claude Code MCP Servers: صِل مساعدك بأدوات جديدة

تعرّف على MCP (Model Context Protocol)، وكيف تضيف MCP server إلى Claude Code بالأمر claude mcp add، وكيف تحمل Plugins الـ MCP servers معها.

Claude Code يعرف مشروعك جيدًا. لكن ماذا لو كانت المعلومات التي تحتاجها خارج المشروع؟ ربما في لوحة مهام فريقك، أو في ملفات توثيق على الإنترنت. هنا يأتي دور MCP Servers. في هذا الدرس ستتعلّم كيف تصل Claude Code بأدوات جديدة، كما تصل جهازًا جديدًا بمنفذ في حاسوبك.

🎯 ماذا ستتعلم؟

بنهاية هذا الدرس ستكون قادرًا على:

  • شرح ما هو MCP، وما الذي يضيفه MCP server إلى Claude Code.
  • إضافة remote server أو local server بالأمر claude mcp add.
  • اختيار الـ scope المناسب للـ server: local أو project أو user.
  • عرض الـ servers وحذفها، ومتابعة حالتها بالأمر /mcp.
  • فهم كيف تحمل Plugins الـ MCP servers داخل ملف .mcp.json.

🧰 ماذا تحتاج قبل أن تبدأ؟

الفكرة ببساطة

انظر إلى منفذ USB-C في حاسوبك أو هاتفك. شاحن، أو سمّاعة، أو ذاكرة خارجية: كلها تدخل في المنفذ نفسه. السبب أن الشركات اتفقت على شكل واحد للمنفذ.

MCP اختصار لـ Model Context Protocol. وهو مثل منفذ USB-C، لكن للذكاء الاصطناعي. إنه open standard يتفق عليه الجميع، فتستطيع أي أداة أن تتصل بـ Claude Code بالطريقة نفسها.

والأداة التي تتصل عبر هذا المنفذ اسمها MCP server. كل server يعطي Claude Code tools جديدة. فالـ server الخاص بقاعدة بيانات يعطيه tool للبحث فيها، والـ server الخاص بلوحة المهام يعطيه tool لقراءة المهام.

الخطوة 1: ماذا تستفيد من MCP Servers؟

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

اقرأ المهمة رقم 12 من لوحة مهام الفريق، ونفّذها في مشروع الموقع
ابحث في توثيق المكتبة عن طريقة رسم مخطط بياني، ثم طبّقها في ملف chart.py

لاحظ أن الطلب ما زال بلغتك العادية. Claude Code هو الذي يختار الـ tool المناسبة من الـ server ويستخدمها.

الخطوة 2: أضف Remote server

بعض الـ servers تعمل على الإنترنت، واسمها remote servers. تضيفها بالـ transport http، ثم تكتب اسمًا تختاره، ثم رابط الـ server:

claude mcp add --transport http <name> <url>

مثلًا، لو أعطاك معلّمك رابط server لتوثيق مشروع المدرسة، فستكتب شيئًا مثل هذا:

claude mcp add --transport http school-docs https://example.com/mcp

الاسم school-docs من اختيارك. والرابط هنا مثال فقط، فضع مكانه الرابط الحقيقي الذي تثق به.

الخطوة 3: أضف Local server

servers أخرى تعمل على جهازك أنت، واسمها local servers. تضيفها بالـ transport stdio. والمهم هنا علامة --: كل ما بعدها هو الأمر الذي يشغّل الـ server.

claude mcp add --transport stdio my-notes -- node notes-server.js

في هذا المثال، my-notes اسم الـ server، وnode notes-server.js هو أمر تشغيله. فكّر في -- كخط يفصل بين إعدادات Claude Code وأمر الـ server نفسه.

الخطوة 4: اختر الـ Scope

الـ scope يحدّد أين يعمل الـ server، ومن يشاركك فيه:

الـ scope أين يعمل؟ هل يُشارَك مع الفريق؟ أين يُحفظ؟
local المشروع الحالي فقط لا ~/.claude.json
project المشروع الحالي فقط نعم، عبر git .mcp.json في جذر المشروع
user كل مشاريعك لا ~/.claude.json

إن كنت تعمل وحدك، فالـ local scope يكفيك. وإن أردت أن يحصل زملاؤك في المشروع على الـ server نفسه، فاختر الـ project scope.

الخطوة 5: تابع الـ MCP servers

هذه الأوامر تكتبها في الطرفية العادية:

claude mcp list
claude mcp get school-docs
claude mcp remove school-docs

الأمر الأول يعرض كل الـ servers. والثاني يعرض تفاصيل server واحد. والثالث يحذفه.

وداخل جلسة Claude Code، اكتب:

/mcp

ستظهر لوحة تعرض حالة كل server: هل هو متصل أم لا. ومنها تستطيع تسجيل الدخول إلى الـ servers التي تطلب ذلك، أو إيقاف server مؤقتًا.

الخطوة 6: Plugins تحمل الـ MCP servers معها

الـ Plugin حزمة جاهزة فيها أجزاء لـ Claude Code: Skills، وagents، وhooks، وMCP servers. فبدل أن يضيف كل شخص الـ server بنفسه، يأتي جاهزًا مع الـ Plugin.

يُكتب الـ server في ملف اسمه .mcp.json في جذر الـ Plugin:

{
  "mcpServers": {
    "notes": {
      "command": "node",
      "args": ["${CLAUDE_PLUGIN_ROOT}/server.js"]
    }
  }
}
  • command هو البرنامج الذي يشغّل الـ server، وهنا node.
  • args قائمة بما يُعطى لهذا البرنامج، وهنا ملف server.js.
  • ${CLAUDE_PLUGIN_ROOT} يتحوّل تلقائيًا إلى مكان الـ Plugin على جهازك، أيًّا كان.

لو كان الـ Plugin اسمه my-plugin، فسيظهر الـ server في /mcp باسم plugin:my-plugin:notes. وإن عدّلت الـ Plugin أثناء الجلسة، فاكتب /reload-plugins لتحميل التغييرات.

🚀 للمتقدمين: كل tool من server داخل Plugin لها اسم كامل بهذا الشكل: mcp__plugin_<plugin>_<server>__<tool>. هذا الاسم هو ما تكتبه في قواعد الـ permissions. وانتبه: الـ local server يعمل في Claude Code وفي Cowork على جهازك، لكنه لا يعمل على موقع claude.ai. لكي يصل إلى هناك، استخدم remote server برابط https://.

🔒 قاعدة أمان: لا تضف server إلا إذا كنت تثق بمصدره، وبموافقة صاحب الحساب. الـ servers التي تجلب محتوى من الإنترنت قد تحمل تعليمات خبيثة مخفية، وهذا يسمّى prompt injection.

⚠️ أخطاء شائعة

1. نسيان علامة -- في الـ local server.

❌ claude mcp add --transport stdio my-notes node notes-server.js

✅ الحل: ضع -- قبل أمر تشغيل الـ server:

claude mcp add --transport stdio my-notes -- node notes-server.js

2. كتابة مسار ثابت داخل Plugin.

❌ "args": ["/Users/sara/my-plugin/server.js"]

✅ الحل: هذا المسار موجود على جهازك فقط. استخدم ${CLAUDE_PLUGIN_ROOT} ليعمل على كل جهاز:

"args": ["${CLAUDE_PLUGIN_ROOT}/server.js"]

3. إضافة أي server تجده على الإنترنت.

الـ server المجهول قد يقرأ بياناتك أو يخدع Claude Code بتعليمات مخفية. ✅ الحل: اسأل صاحب الحساب أولًا، واستخدم servers من مصادر معروفة فقط.

🧪 جرّب بنفسك

التحدي 1 (سهل): ما الأمر الذي يعرض كل الـ MCP servers المضافة عندك؟

💡 اضغط لرؤية الحل
claude mcp list

التحدي 2 (متوسط): عندك local server يعمل بالأمر python quiz_server.py. اكتب أمر إضافته باسم quiz-bank.

💡 اضغط لرؤية الحل
claude mcp add --transport stdio quiz-bank -- python quiz_server.py

اسم الـ server قبل --، وأمر التشغيل بعدها.

التحدي 3 (للمتقدمين): اكتب ملف .mcp.json لـ Plugin اسمه study-kit، فيه server اسمه timetable يعمل بالأمر node على ملف timetable.js داخل الـ Plugin. وبأي اسم سيظهر في /mcp؟

💡 اضغط لرؤية الحل
{
  "mcpServers": {
    "timetable": {
      "command": "node",
      "args": ["${CLAUDE_PLUGIN_ROOT}/timetable.js"]
    }
  }
}

سيظهر باسم plugin:study-kit:timetable.

✅ اختبر نفسك

  1. بماذا يشبه MCP في الدرس؟ (أ) لوحة مفاتيح (ب) منفذ USB-C يناسب أجهزة كثيرة (ج) كلمة مرور
  2. صح أم خطأ: الـ server في الـ project scope يُحفظ في ملف .mcp.json ويمكن مشاركته مع الفريق.
  3. ما الأمر الذي تكتبه داخل الجلسة لترى حالة الـ servers؟
💡 اضغط لرؤية الإجابات
  1. (ب) منفذ واحد متفق عليه تتصل به أدوات كثيرة.
  2. صح. يُحفظ في جذر المشروع، ويُشارَك عبر git.
  3. الأمر /mcp.

📝 الخلاصة

  • MCP هو open standard يصل Claude Code بأدوات وأنظمة خارجية، مثل منفذ USB-C.
  • تضيف remote server بـ --transport http، وlocal server بـ --transport stdio مع علامة --.
  • الـ scope يحدّد أين يعمل الـ server: local، أو project عبر .mcp.json، أو user.
  • claude mcp list وget وremove لإدارة الـ servers، و/mcp لمتابعة حالتها.
  • Plugins تحمل الـ MCP servers في .mcp.json، ولا تضف إلا server تثق به وبموافقة صاحب الحساب.

⏭️ الخطوة التالية

صار مساعدك يتصل بأدوات خارج مشروعك! في الدرس التالي ستتعرّف على أداة تعمل على ملفاتك ومهامك اليومية، لا على الكود فقط: Claude Cowork. وتستطيع دائمًا العودة إلى مسار Claude لترى كل الدروس.