خوادم MCP

وسّع قدرات Claude Code باستخدام Model Context Protocol لربط الأدوات والخدمات الخارجية

آخر تحديث 2026-11-13

تحتاج مفتاح API؟ أنشئ حسابًا ←نقاط النهاية وعناوين Base URL ←

في هذه الصفحة

MCP (Model Context Protocol) هو معيار مفتوح من Anthropic يتيح لـ Claude Code الاتصال بالأدوات وقواعد البيانات وواجهات API والخدمات الخارجية. وباستخدام MCP، يمكنك توسيع قدرات Claude Code بشكل كبير.

ما هو MCP؟

المفاهيم الأساسية

MCP هو بروتوكول مفتوح يحدد معايير الاتصال بين مساعدي الذكاء الاصطناعي والأنظمة الخارجية. ويتكوّن من ثلاثة مكوّنات أساسية:

المكوّن الوصف أمثلة
الأدوات إجراءات قابلة للتنفيذ الاستعلام من قواعد البيانات، وإرسال الطلبات، ومعالجة الملفات
الموارد بيانات قابلة للقراءة محتويات الملفات، واستجابات API، وسجلات قواعد البيانات
Prompts قوالب مهام محدّدة مسبقًا قوالب مراجعة الشيفرة، وقوالب إنشاء التقارير

لماذا MCP؟

  • قدرات موسّعة: تتيح لـ Claude الوصول إلى أنظمة لا يستطيع الوصول إليها بخلاف ذلك

  • بيانات فورية: احصل على أحدث الوثائق ومحتوى قواعد البيانات وبيانات API

  • الأتمتة: نفّذ عمليات النشر، وأرسل الإشعارات، وأدر الموارد

  • الخصوصية: تُعالَج البيانات محليًا، دون حاجة إلى رفعها إلى السحابة

البدء السريع

التحقق من حالة MCP

> /mcp

يعرض حالة خوادم MCP المهيأة حاليًا.

إضافة خادم MCP

استخدم الأمر claude mcp add:

# Add filesystem server
claude mcp add filesystem npx -y @modelcontextprotocol/server-filesystem /path/to/directory

# Add SQLite database server
claude mcp add sqlite npx -y mcp-server-sqlite ./database.db

# Add custom server
claude mcp add my-server node /path/to/server.js

ملف التهيئة

يمكنك أيضًا إنشاء ملف .mcp.json في جذر مشروعك:

{
  "filesystem": {
    "command": "npx",
    "args": ["-y", "@modelcontextprotocol/server-filesystem", "/allowed/path"]
  },
  "database": {
    "command": "npx",
    "args": ["-y", "mcp-server-sqlite", "./data.db"]
  }
}

خوادم MCP الشائعة

نظام الملفات

الوصول إلى نظام الملفات المحلي:

{
  "filesystem": {
    "command": "npx",
    "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/directory"]
  }
}

الميزات: قراءة الملفات وكتابتها والبحث فيها ضمن الدليل المحدد.

قاعدة بيانات SQLite

الاتصال بقاعدة بيانات SQLite:

{
  "sqlite": {
    "command": "npx",
    "args": ["-y", "mcp-server-sqlite", "./database.db"]
  }
}

الميزات: تنفيذ استعلامات SQL وإدارة مخطط قاعدة البيانات.

GitHub

الاتصال بمستودعات GitHub:

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

الميزات: إدارة Issues وPRs وعمليات المستودع.

Context7 (استرداد الوثائق)

احصل على أحدث وثائق المكتبة:

{
  "context7": {
    "command": "npx",
    "args": ["-y", "@context7/mcp-server"]
  }
}

الميزات: استرداد وثائق محدّثة وأمثلة شيفرة لأي مكتبة.

Supabase

الاتصال بالواجهة الخلفية لـ Supabase:

{
  "supabase": {
    "command": "npx",
    "args": ["-y", "@supabase/mcp-server"],
    "env": {
      "SUPABASE_URL": "${SUPABASE_URL}",
      "SUPABASE_KEY": "${SUPABASE_KEY}"
    }
  }
}

الميزات: عمليات قاعدة البيانات، والمصادقة، وإدارة التخزين.

Docker

إدارة الحاويات:

{
  "docker": {
    "command": "npx",
    "args": ["-y", "@docker/mcp-server"]
  }
}

الميزات: إدارة الحاويات والصور والشبكات.

أنواع الخوادم

stdio (عملية محلية)

النوع الأكثر شيوعًا، ويعمل كعملية فرعية محلية:

{
  "my-server": {
    "command": "node",
    "args": ["./server.js"],
    "env": {
      "API_KEY": "${API_KEY}"
    }
  }
}

الخصائص:

  • يعمل محليًا، وتبقى البيانات على جهازك

  • يدير Claude Code دورة حياة العملية

  • مثالي لنظام الملفات وقواعد البيانات المحلية

SSE (أحداث مرسلة من الخادم)

⚠️ اعتبارًا من مواصفات MCP 2025-11-25، أصبح SSE مهجورًا. ينبغي أن تستخدم الاتصالات الجديدة Streamable HTTP (راجع قسم HTTP أدناه). يُحتفظ بـ SSE فقط من أجل التوافق العكسي مع الخوادم الموجودة.

اتصل بخوادم MCP المستضافة عن بُعد:

{
  "remote-server": {
    "type": "sse",
    "url": "https://mcp.example.com/sse"
  }
}

الخصائص:

  • مناسب للخدمات السحابية

  • يدعم مصادقة OAuth

  • لا يتطلب تثبيتًا محليًا

HTTP

نهج RESTful API:

{
  "api-server": {
    "type": "http",
    "url": "https://api.example.com/mcp",
    "headers": {
      "Authorization": "Bearer ${API_TOKEN}"
    }
  }
}

متغيرات البيئة

يدعم إعداد MCP استبدال متغيرات البيئة:

{
  "my-server": {
    "command": "node",
    "args": ["${CLAUDE_PLUGIN_ROOT}/server.js"],
    "env": {
      "DATABASE_URL": "${DATABASE_URL}",
      "API_KEY": "${API_KEY}",
      "DEFAULT_NAMESPACE": "${K8S_NAMESPACE:-default}"
    }
  }
}

الصياغة:

  • ${VAR} - استبدل بقيمة متغير البيئة

  • ${VAR:-default} - استخدم القيمة الافتراضية إذا لم يتم تعيين المتغير

أمثلة عملية

المثال 1: مساعد استعلامات قاعدة البيانات

{
  "postgres": {
    "command": "npx",
    "args": ["-y", "mcp-server-postgres"],
    "env": {
      "DATABASE_URL": "postgresql://user:pass@localhost/mydb"
    }
  }
}

الاستخدام:

> Query total order amount for the last 7 days
> Find the top 10 users with the most purchases

المثال 2: عمليات Kubernetes

{
  "kubernetes": {
    "command": "node",
    "args": ["./k8s-mcp-server.js"],
    "env": {
      "KUBECONFIG": "${KUBECONFIG}",
      "K8S_NAMESPACE": "${K8S_NAMESPACE:-default}"
    }
  }
}

الاستخدام:

> List the status of all Pods
> Restart the api-server deployment
> Show recent error logs

المثال 3: إعداد متعدد الخوادم

{
  "filesystem": {
    "command": "npx",
    "args": ["-y", "@modelcontextprotocol/server-filesystem", "./src"]
  },
  "database": {
    "command": "npx",
    "args": ["-y", "mcp-server-sqlite", "./data.db"]
  },
  "github": {
    "command": "npx",
    "args": ["-y", "@modelcontextprotocol/server-github"],
    "env": {
      "GITHUB_TOKEN": "${GITHUB_TOKEN}"
    }
  }
}

استكشاف الأخطاء وإصلاحها

الخادم لا يبدأ

  1. تحقق من أن الأمر مثبت بشكل صحيح: bash npx -y @modelcontextprotocol/server-filesystem --help

  2. تحقق من أن متغيرات البيئة مضبوطة: bash echo $GITHUB_TOKEN

  3. راجع سجلات Claude Code بحثًا عن رسائل الأخطاء

الأدوات غير متاحة

  1. استخدم /mcp للتحقق من حالة الخادم

  2. تحقق من صيغة ملف الإعدادات (بنية JSON)

  3. أعد تشغيل Claude Code لإعادة تحميل الإعدادات

مشكلات الأذونات

  • تأكد من أن مسارات الملفات لديها أذونات القراءة/الكتابة

  • سلسلة اتصال قاعدة البيانات صحيحة

  • token API صالح وله أذونات كافية

توصيات الأمان

  1. مبدأ أقل صلاحية: امنح فقط الوصول الضروري

  2. احمِ المعلومات الحساسة: استخدم متغيرات البيئة لـ tokens وكلمات المرور

  3. حدّ من الوصول إلى المسارات: لا تكشف إلا الأدلة الضرورية لخوادم نظام الملفات

  4. بدّل المفاتيح بانتظام: حدّث tokens API دوريًا

ملاحظات الأمان

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

المخاطر الرئيسية

  • تسريب البيانات: قد يرسل خادم خبيث أو مخترق شيفرتك أو ملفاتك أو محتوى محادثتك إلى وجهة خارجية.

  • تسميم الأدوات: يُضمّن خادم تعليمات مخفية داخل أوصاف أدواته، مما يدفع Claude إلى إجراءات لم تأذن بها قط.

  • انكشاف بيانات الاعتماد: قد يقرأ خادم مُهيأ بشكل خاطئ متغيرات البيئة أو الأسرار أو tokens.

  • صلاحيات أوسع من اللازم: منح قدرات أدوات تتجاوز ما هو مطلوب فعليًا يوسّع سطح الهجوم.

أهم إجراءات التخفيف

  • ثبّت الخوادم الموثوقة فقط: فضّل خوادم MCP الرسمية أو المراجَعة أو مفتوحة المصدر القابلة للتدقيق؛ وتجنب التنفيذات مجهولة المنشأ.

  • أقل صلاحية: راجع نطاقات الأدوات المعلنة لكل خادم واحدًا واحدًا، ولا تكشف إلا القدرات والأدلة التي تحتاجها فعليًا.

  • أبقِ بوابات الموافقة البشرية: يسأل Claude Code قبل تنفيذ استدعاء أداة — لا توافق بشكل أعمى أو تمنح موافقة تلقائية كاملة للعمليات التدميرية أو الكتابية أو التي تمس بيانات الاعتماد.

  • اعزل بيانات الاعتماد: عند تشغيل أوامر داخل بيئة معزولة، استخدم sandbox.credentials لمنع العمليات المعزولة من قراءة الأسرار ومتغيرات البيئة.

  • دقّق الاستدعاءات: سجّل نشاط استدعاءات الأدوات وراجعه دوريًا لاكتشاف السلوك الشاذ مبكرًا.

للاطلاع على نموذج التهديد الكامل، والتشغيل في بيئة معزولة، وإعداد عزل بيانات الاعتماد، راجع أفضل ممارسات الأمان.

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

ابدأ مع QCode

مفتاح API واحد لـ Claude Code وCodex وغيرها — تُحسب حسب التوكن، وأسعار كل نموذج على qcode.cc/models

المؤسسات ←