يشرح كيفية عمل MCP وطريقة إعداده لتمكين Claude Code من الاتصال بقواعد البيانات وGitHub وSlack وأنظمة خارجية أخرى عبر MCP Servers.
Claude Code له نطاق محدد بشكل افتراضي: قراءة وكتابة الملفات المحلية، تشغيل أوامر الطرفية، واستخدام الأدوات المدمجة. لكن المشاريع الحقيقية تتطلب أكثر من ذلك — الاستعلام من قاعدة بيانات، قراءة مستندات Notion، البحث في رسائل Slack، استدعاء واجهات API الداخلية.
MCP هو الحل لهذه المشكلة.
MCP (Model Context Protocol) هو بروتوكول مفتوح من Anthropic يحدد كيفية تواصل نماذج الذكاء الاصطناعي مع الأدوات الخارجية ومصادر البيانات. فكر فيه كـتثبيت إضافات لـ Claude Code — كل MCP Server خدمة مستقلة تعرض مجموعة من الأدوات يمكن لـ Claude استدعاؤها مباشرة أثناء الجلسة.
بخلاف Hooks (التي تُشغّل سكريبتات عندما ينفذ Claude إجراءً معيناً)، فإن MCP يوسّع بشكل نشط حدود قدرات Claude: كل ما تربطه يصبح قادراً على التعامل معه.
البنية بسيطة جداً:
Claude Code (Client) ←→ MCP Server ←→ النظام الخارجي
العملية كلها شفافة للمستخدم. ما تراه هو أن Claude يقول "سأراجع قاعدة البيانات" ثم يعيد النتيجة — بينما يقوم MCP بتوجيه الطلبات في الخلفية.
يمكن لـ MCP Server تقديم ثلاثة أشياء:
Tools (الأدوات)
دوال يمكن لـ Claude استدعاؤها بشكل نشط — "الاستعلام من جدول المستخدمين"، "البحث في المستندات"، "إرسال رسالة Slack". هذا هو الأكثر استخداماً ويغطي 90% من حالات الاستخدام الحقيقية.
Resources (الموارد)
بيانات منظمة يمكن لـ Claude قراءتها كسياق — مخطط قاعدة البيانات، وثائق API، ملفات الإعداد.
Prompts (قوالب المطالبة)
مقتطفات مطالبة محددة مسبقاً يمكن للمستخدمين الرجوع إليها مباشرة.
في الممارسة العملية، ستعمل دائماً تقريباً مع Tools.
باستخدام Filesystem MCP الرسمي كمثال — يمنح هذا Server Claude وصولاً إلى أجزاء من نظام الملفات خارج دليل العمل.
التثبيت
npm install -g @modelcontextprotocol/server-filesystem
الإعداد
حرّر ~/.claude/settings.json:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/yourname/Documents"
]
}
}
}
التحقق
أعد تشغيل Claude Code وجرّب:
اعرض جميع ملفات PDF في /Users/yourname/Documents
إذا أعاد Claude النتائج بدلاً من قول "لا أستطيع الوصول إلى نظام الملفات"، فإن MCP يعمل.
{
"mcpServers": {
"اسم-الخدمة": {
"command": "أمر التشغيل",
"args": ["قائمة المعاملات"],
"env": {
"API_KEY": "xxx"
}
}
}
}
command + args: الأمر الذي يستخدمه Claude Code لتشغيل عملية MCP Serverenv لمفاتيح API والإعدادات الحساسة؛ لا تضمّنها في الكوديمكن وضع إعدادات MCP في ثلاثة أماكن، مرتبة من الأقل إلى الأعلى أولوية:
| الموقع | الملف | متى تستخدمه |
|---|---|---|
| عام | ~/.claude/settings.json |
أدوات تريدها في كل المشاريع |
| مشروع | .claude/settings.json |
أدوات خاصة بهذا المشروع |
| تجاوز محلي | .claude/settings.local.json |
إعدادات شخصية، لا تُرفع إلى git |
لاتصالات قاعدة البيانات وواجهات API الداخلية، استخدم إعدادات المشروع وارفعها مع الكود. أعضاء الفريق الذين يستنسخون المستودع يحصلون على نفس بيئة MCP تلقائياً.
تحتفظ Anthropic بمجموعة من الخوادم الرسمية:
بنى المجتمع الكثير من التطبيقات الخارجية التي تغطي Notion وLinear وJira وقواعد بيانات متنوعة.
| Hooks | MCP | |
|---|---|---|
| يُفعَّل عند | تنفيذ Claude إجراءً معيناً | استدعاء Claude أداةً بشكل نشط |
| الغرض | اعتراض أو تحسين السلوكيات الموجودة | إضافة قدرات جديدة |
| حالات الاستخدام | التنسيق عند الحفظ، الفحص قبل الإيداع | الاستعلام من DB، استدعاء API خارجي |
| تعقيد الإعداد | منخفض | متوسط |
كلاهما متكاملان. Hooks تتحكم في كيفية عمل Claude؛ MCP تتحكم في ما يمكن لـ Claude فعله.
هذا المقال مقدمة مفاهيمية لـ MCP. المقالات القادمة ستغطي:
إن كان لديك نظام تريد ربطه، راجع أولاً قائمة MCP Servers — على الأرجح شخص ما بنى ما تحتاجه بالفعل.