العودة إلى مركز الوثائق

بروتوكول السياق

بروتوكول MCP — وسّع قدرات الوكيل بأدوات وخدمات الطرف الثالث.

MCP (Model Context Protocol) هو معيار مفتوح لربط وكلاء الذكاء الاصطناعي بالأدوات ومصادر البيانات الخارجية. Aura Work يدعم خوادم MCP كآلية توسيع من الدرجة الأولى إلى جانب المهارات المدمجة والإضافات. MCP يسمح لك بإضافة قدرات جديدة بدون تعديل التطبيق الأساسي — فقط ثبّت خادم وسيتمكن الوكيل من استخدام أدواته.

ما هو MCP؟

MCP هو بروتوكول يسمح لوكلاء الذكاء الاصطناعي بالتواصل مع الخدمات الخارجية عبر واجهة موحدة. فكّر فيه كـ محول عالمي لأدوات AI — بدلاً من بناء تكاملات مخصصة لكل خدمة، يوفر MCP لغة مشتركة يفهمها كل من الوكيل والخدمة.

مع MCP، يمكنك ربط الوكيل بـ:

  • قواعد البيانات — استعلام PostgreSQL و MySQL و SQLite و MongoDB
  • واجهات API — تفاعل مع GitHub و Slack و Discord و Jira
  • أنظمة الملفات — الوصول للتخزين السحابي (S3 و GCS و Azure Blob)
  • أدوات التطوير — linters و formatters ومشغلات الاختبارات
  • خدمات مخصصة — أدواتك و APIs الداخلية

⚙️ كيف يعمل MCP في Aura Work

خوادم MCP تدار بواسطة خدمة مساعد الإضافات (المنفذ 47824). عند إضافة خادم MCP:

  1. 1. مساعد الإضافات يشغّل عملية الخادم (stdio) أو يتصل به (SSE)
  2. 2. الخادم يعلن عن قدراته (أدوات، موارد، أوامر)
  3. 3. هذه القدرات تُسجّل في محرك الوكيل
  4. 4. عندما يحتاج الوكيل أداة، يمكنه الآن استدعاء أدوات خادم MCP
  5. 5. كل استدعاء أداة يمر عبر بوابة الأذونات للموافقة

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

🔌 طرق النقل المدعومة

MCP يدعم آليتي نقل:

النقلكيف يعملالأفضل لـ
stdioالخادم يعمل كعملية فرعية. التواصل عبر stdin/stdout.الأدوات المحلية، مغلفات CLI، التكاملات البسيطة
SSEالخادم يعمل كخدمة HTTP. التواصل عبر Server-Sent Events.الخدمات البعيدة، الخوادم في الحاويات

معظم خوادم MCP المجتمعية تستخدم stdio لأنه أبسط — لا حاجة لإعدادات الشبكة.

📦 تثبيت خوادم MCP

هناك ثلاث طرق لإضافة خوادم MCP:

الطريقة 1: Marketplace (موصى بها)

افتح لوحة الإضافات في التطبيق المكتبي، ابحث عن خادم MCP، واضغط تثبيت. marketplace يدير الإصدارات والتحديثات والتبعيات.

الطريقة 2: إعداد يدوي

أضف خادم يدوياً في الإعدادات → الإضافات → خوادم MCP:

{
  "name": "my-database-server",
  "command": "node",
  "args": ["path/to/mcp-server.js"],
  "env": { "DATABASE_URL": "postgresql://localhost/mydb" }
}

الطريقة 3: إعداد على مستوى المشروع

أضف خوادم MCP إلى ملف aura.jsonc في مشروعك:

{
  "mcp": {
    "test-project-server": {
      "type": "local",
      "command": ["node", "/path/to/test-mcp-server.js"],
      "enabled": true,
      "environment": { "TEST_ENV_VAR": "مرحباً" }
    }
  }
}

🔐 الأمان والأذونات

استدعاءات أدوات MCP تخضع لنفس نظام الأذونات مثل الأدوات المدمجة:

  • موافقة لكل أداة — كل أداة MCP يمكن الموافقة عليها أو رفضها بشكل فردي
  • تنفيذ معزول — خوادم MCP تعمل في عمليات معزولة
  • تصريح بالأذونات — الخوادم يجب أن تعلن ما تحتاج الوصول إليه
  • سجل التدقيق — جميع استدعاءات MCP مسجلة بالتفصيل

في وضع ask-first، سيُطلب منك التأكيد قبل كل استدعاء أداة MCP.

🛒 Marketplace

المتجر (registry/marketplace.json) يتضمن خوادم MCP إلى جانب المهارات والإضافات. كل إدخال يتضمن: بيان الخادم، وصف الأدوات، وصف مترجم بـ 20 لغة، معلومات الإصدار، وتقييم المخاطر.

🛠️ تطوير خوادم MCP

يمكنك إنشاء خوادم MCP خاصة بك باستخدام MCP SDK الرسمي:

// my-mcp-server.js
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";

const server = new Server({
  name: "my-custom-server",
  version: "1.0.0"
}, { capabilities: { tools: {} } });

// تعريف أداة
server.setRequestHandler("tools/list", async () => ({
  tools: [{
    name: "my_tool",
    description: "تقوم بشيء مفيد",
    inputSchema: {
      type: "object",
      properties: {
        query: { type: "string", description: "نص الاستعلام" }
      },
      required: ["query"]
    }
  }]
}));

// معالجة استدعاءات الأدوات
server.setRequestHandler("tools/call", async (request) => {
  const { name, arguments: args } = request.params;
  if (name === "my_tool") {
    return { content: [{ type: "text", text: "النتيجة: " + args.query }] };
  }
});

// بدء الخادم
const transport = new StdioServerTransport();
await server.connect(transport);

راجع examples/mcp-server/ لمثال عملي كامل.

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

الخادمالغرضالنقل
filesystemقراءة/كتابة الملفات، البحثstdio
githubإدارة المستودعات و issues و PRsstdio
postgresاستعلام قواعد بيانات PostgreSQLstdio
slackإرسال رسائل وقراءة القنواتstdio
puppeteerأتمتة المتصفح مع Chromestdio
brave-searchبحث الويب عبر Brave APIstdio

اعثر على المزيد في github.com/modelcontextprotocol/servers