Claude Code وأدوات سطر الأوامر
تكاملات MCP
بروتوكول سياق النموذج (MCP) يوسع قدرات Claude Code بربطه بالأدوات الخارجية وقواعد البيانات والخدمات.
ما هو MCP؟
MCP (بروتوكول سياق النموذج) هو معيار لربط مساعدي AI بالموارد الخارجية:
┌─────────────────────────────────────────────────────────────┐
│ Claude Code │
├─────────────────────────────────────────────────────────────┤
│ طبقة بروتوكول MCP │
├──────────┬──────────┬──────────┬──────────┬────────────────┤
│ GitHub │ قاعدة │ المتصفح │ Slack │ APIs مخصصة │
│ Server │ البيانات │ Server │ Server │ Server │
└──────────┴──────────┴──────────┴──────────┴────────────────┘
إعداد MCP
إضافة خوادم MCP
أضف الخوادم عبر CLI أو ملفات الإعداد:
# إضافة خادم عبر CLI (الطريقة الموصى بها)
claude mcp add github -- npx -y @modelcontextprotocol/server-github
# إضافة مع متغيرات البيئة
claude mcp add postgres -e DATABASE_URL=postgresql://localhost:5432/mydb -- npx -y @modelcontextprotocol/server-postgres
ملف الإعداد
يمكنك أيضاً تكوين خوادم MCP في .mcp.json (على مستوى المشروع) أو ~/.claude.json (على مستوى المستخدم):
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_TOKEN": "your-github-token"
}
},
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres"],
"env": {
"DATABASE_URL": "postgresql://localhost:5432/mydb"
}
}
}
}
خوادم MCP الشائعة
خادم GitHub
الاتصال بمستودعات GitHub والمشاكل وطلبات الدمج:
# التثبيت
npx -y @modelcontextprotocol/server-github
# الاستخدام في Claude Code
"أدرج جميع المشاكل المفتوحة في anthropics/claude-code المصنفة 'bug'"
"أنشئ PR للفرع الحالي مع ملخص التغييرات"
خادم قاعدة البيانات (PostgreSQL)
استعلام وتعديل قاعدة بياناتك:
# التثبيت
npx -y @modelcontextprotocol/server-postgres
# الاستخدام في Claude Code
"أرني جميع المستخدمين الذين سجلوا الأسبوع الماضي"
"أضف فهرس على عمود users.email"
خادم المتصفح
جلب وتحليل محتوى الويب:
# التثبيت
npx -y @modelcontextprotocol/server-fetch
# الاستخدام في Claude Code
"اجلب توثيق React لـ useEffect"
إنشاء خوادم MCP مخصصة
ابنِ خوادم لاحتياجاتك المحددة:
هيكل الخادم الأساسي
// my-mcp-server.ts
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
import { z } from 'zod';
const server = new McpServer({
name: 'my-custom-server',
version: '1.0.0',
});
// تعريف أداة
server.registerTool(
'get_user_data',
{
description: 'جلب بيانات المستخدم من API الداخلي',
inputSchema: z.object({
userId: z.string().describe('معرف المستخدم'),
}),
},
async ({ userId }) => {
const response = await fetch(`https://internal-api/users/${userId}`);
const data = await response.json();
return {
content: [{ type: 'text', text: JSON.stringify(data) }],
};
}
);
// بدء الخادم
async function main() {
const transport = new StdioServerTransport();
await server.connect(transport);
}
main().catch(console.error);
سير عمل MCP
سير العمل 1: التطوير الكامل
باستخدام اتصالات MCP:
1. استعلم قاعدة البيانات عن مخطط المستخدم الحالي (@postgres)
2. تحقق من GitHub للمشاكل المرتبطة (@github)
3. اجلب أحدث أنماط تصميم API (@browser)
4. أنشئ كود خدمة المستخدم المحدث
5. أنشئ PR مع التغييرات (@github)
سير العمل 2: الاستجابة للحوادث
تم الإبلاغ عن مشكلة في الإنتاج:
1. اجلب سجلات الأخطاء من المراقبة (@custom-monitoring)
2. استعلم قاعدة البيانات عن المستخدمين المتأثرين (@postgres)
3. تحقق من النشرات الأخيرة (@github)
4. انشر تحديث الحالة على Slack (@slack)
5. أنشئ تذكرة حادث (@github)
اعتبارات الأمان
متغيرات البيئة
لا تضع الأسرار في الكود مطلقاً — استخدم متغيرات البيئة:
# إضافة خادم مع متغير بيئة من الشل
claude mcp add github -e GITHUB_TOKEN=$GITHUB_TOKEN -- npx -y @modelcontextprotocol/server-github
أذونات الأدوات
Claude Code سيطلب موافقتك قبل تنفيذ أدوات MCP. يمكنك تكوين أذونات الأدوات في .claude/settings.json:
{
"permissions": {
"allow": ["mcp__github__list_issues"],
"ask": ["mcp__postgres__*"]
}
}
هذا يتحكم في أدوات MCP التي يمكن تشغيلها تلقائياً وأيها تتطلب تأكيداً.
MCP مقابل استدعاءات API المباشرة
| استخدم MCP عندما... | استخدم API المباشر عندما... |
|---|---|
| قابل لإعادة الاستخدام عبر المشاريع | تكامل لمرة واحدة |
| تحتاج Claude لفهم السياق | جلب بيانات بسيط |
| سير عمل معقدة متعددة الخطوات | استدعاء API واحد |
| تريد واجهة لغة طبيعية | وصول برمجي |
قوة التوسيع: MCP يحول Claude Code من مساعد كود إلى منصة أتمتة. اربطه بنظامك البيئي التطويري بالكامل ودعه ينسق سير العمل المعقدة عبر خدمات متعددة.
الآن لديك فهم كامل لـ Claude Code. في الوحدة 4، سنتعلم كيفية كتابة مطالبات فعالة لتوليد الكود. :::