خوادم MCP والتكاملات
وسّع Claude Code بخوادم Model Context Protocol — اربط قواعد البيانات والمتصفحات وGitHub وأدواتك المخصصة عبر واجهة موحّدة.
وسّع Claude Code بخوادم Model Context Protocol — اربط قواعد البيانات والمتصفحات وGitHub وأدواتك المخصصة عبر واجهة موحّدة.
Model Context Protocol (MCP) هو معيار مفتوح يتيح لمساعدي الذكاء الاصطناعي مثل Claude Code التواصل مع الأدوات الخارجية ومصادر البيانات عبر واجهة مشتركة. بدلًا من بناء تكامل مخصص لكل أداة، يعرّف MCP بروتوكولًا واحدًا يمكن لأي أداة تنفيذه.
من منظور Claude Code: تظهر خوادم MCP كقدرات إضافية. يمكنك أن تطلب من Claude "استعلم قاعدة البيانات" أو "التقط صورة لـ localhost:3000" وسيستخدم خادم MCP المثبّت لإنجاز ذلك.
بدون MCP، لدى Claude Code وصول فقط إلى:
مع خوادم MCP، يكتسب Claude Code وصولًا إلى:
تتوفر قائمة متنامية من الخوادم الجاهزة للإنتاج:
| الخادم | ما يوفره |
|---|---|
| @modelcontextprotocol/server-filesystem | عمليات نظام ملفات موسّعة خارج مجلد العمل |
| @modelcontextprotocol/server-git | سجل Git والـ blame والـ diff — بدون أوامر shell |
| @modelcontextprotocol/server-github | مستودعات وإشكاليات وPRs وبحث في الكود على GitHub |
| @modelcontextprotocol/server-postgres | تشغيل استعلامات SQL على قاعدة بيانات PostgreSQL |
| @modelcontextprotocol/server-puppeteer | التحكم في متصفح Chromium — تنقل، لقطات شاشة، نقر |
| @modelcontextprotocol/server-slack | قراءة القنوات ونشر الرسائل وعرض المستخدمين |
القائمة الكاملة: github.com/modelcontextprotocol/servers
استخدم أمر claude mcp add:
# تثبيت خادم نظام الملفات
claude mcp add @modelcontextprotocol/server-filesystem /home/myuser/projects
# تثبيت خادم GitHub (عيّن الرمز أولًا)
export GITHUB_PERSONAL_ACCESS_TOKEN=ghp_...
claude mcp add @modelcontextprotocol/server-github
# تثبيت خادم PostgreSQL
claude mcp add @modelcontextprotocol/server-postgres \
postgresql://user:password@localhost/mydbمرّر بيانات اعتماد قاعدة البيانات عبر متغيرات البيئة، وليس مضمّنةً في الأمر. تاريخ shell الخاص بك قابل للقراءة. استخدم export DB_URL=... وأشر إلى $DB_URL في أمر claude mcp add.
claude mcp listالناتج:
Installed MCP servers:
filesystem @modelcontextprotocol/server-filesystem ✓ running
github @modelcontextprotocol/server-github ✓ running
postgres @modelcontextprotocol/server-postgres ✓ running
بمجرد تثبيت الخوادم، تستخدمها عبر اللغة الطبيعية — بدون صياغة خاصة:
> كم عدد المشاكل المفتوحة في هذا المستودع؟
يستدعي Claude خادم GitHub MCP، يستعلم عن API المشاكل، ويردّ:
يحتوي هذا المستودع على 23 مشكلة مفتوحة. أقدم مشكلة غير محلولة
هي #14 (مفتوحة منذ 47 يومًا): "إضافة دعم الوضع الداكن".
أو لاستعلامات قاعدة البيانات:
> من هم أكثر 5 مستخدمين طلبًا في آخر 30 يومًا؟
يولّد Claude استعلام SQL ويشغّله ثم يلخّص النتائج بلغة طبيعية — دون أن تكتب استعلامًا واحدًا.
إذا أردت كشف API خاص أو أداة داخلية لـ Claude Code، يمكنك كتابة خادم MCP خاص بك بـ TypeScript. إليك الهيكل الأدنى:
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
import {
CallToolRequestSchema,
ListToolsRequestSchema,
} from '@modelcontextprotocol/sdk/types.js';
const server = new Server(
{ name: 'my-custom-server', version: '1.0.0' },
{ capabilities: { tools: {} } }
);
// أعلن عن أدواتك
server.setRequestHandler(ListToolsRequestSchema, async () => ({
tools: [
{
name: 'get_product_price',
description: 'ابحث عن السعر الحالي لمنتج بواسطة رمز SKU',
inputSchema: {
type: 'object',
properties: {
sku: { type: 'string', description: 'رمز SKU للمنتج' },
},
required: ['sku'],
},
},
],
}));
// عالج استدعاءات الأدوات
server.setRequestHandler(CallToolRequestSchema, async (request) => {
if (request.params.name === 'get_product_price') {
const sku = request.params.arguments?.sku as string;
// ضع استدعاء API الفعلي هنا
const price = await fetchPriceFromInternalAPI(sku);
return {
content: [{ type: 'text', text: `سعر ${sku}: $${price}` }],
};
}
throw new Error(`أداة غير معروفة: ${request.params.name}`);
});
async function fetchPriceFromInternalAPI(sku: string): Promise<number> {
// تنفيذك هنا
return 0;
}
const transport = new StdioServerTransport();
await server.connect(transport);ثبّته بـ:
claude mcp add ./my-custom-server/index.jsتتواصل خوادم MCP عبر stdio (المدخلات/المخرجات القياسية)، فهي تعمل كعمليات فرعية لـ Claude Code. هذا يعني أنها بدون تعرض شبكي افتراضيًا — تبقى استدعاءات API الداخلية داخل جهازك أو VPN.
يمكن تحديد نطاق تسجيلات خادم MCP إلى:
.claude/mcp.json — مشترك مع الفريق عبر التحكم بالإصدارللأدوات المشتركة بين الفريق، استخدم نطاق المشروع بإنشاء .claude/mcp.json وإتباعه في المستودع.
MCP هو طبقة التوسعة التي تحوّل Claude Code من مساعد تعديل ملفات إلى منصة تطوير كاملة. ابدأ بالخوادم الرسمية (GitHub، Postgres) لترى قيمة فورية، ثم ابنِ خوادم مخصصة لأدواتك الخاصة. مع MCP والـ Hooks من الوحدة الرابعة وCLAUDE.md من الوحدة الثالثة، لديك مجموعة أدوات Claude Code الكاملة. خضّ الاختبار الآن لاختبار ما تعلّمته.