المحتويات
- 1. ما هو MCP؟ اتفاق مشترك بين الذكاء الاصطناعي والأدوات
- 2. ما الذي حدث في العامين منذ الإطلاق
- 3. كيف يعمل: المضيف والعميل والخادم وطريقتا نقل
- 4. ما الذي تغيّر في المواصفة الحالية 2026-07-28
- 5. كيف تضيف خادمًا في التطبيقات الرئيسية وأين تُحفظ الإعدادات
- 6. خوادم يمكنك استخدامها اليوم وأين تجد غيرها
- 7. جرّبه في 10 دقائق: دع Claude Code يقرأ مجلدًا
- 8. ابنِ خادم MCP خاصًا بك: مثال مصغّر
- 9. الأمان: أهم ما في Security Best Practices الرسمية
- 10. MCP أم API أم Skills أم A2A: متى تختار كلًّا منها
- 11. لا تُكثر من الإضافة ولا من البناء
- الخلاصة
- الأسئلة الشائعة
MCP (Model Context Protocol) مواصفة مفتوحة تتيح لتطبيقات الذكاء الاصطناعي (Claude Code وChatGPT وVS Code وغيرها) استخدام الأدوات والبيانات الخارجية (GitHub وقواعد البيانات والأنظمة الداخلية وغيرها) بطريقة واحدة موحّدة. إذا بنيت أداة مرة واحدة على هيئة "خادم MCP"، أمكن لكل تطبيق يدعم MCP أن يستخدمها. ولأنه يشبه كابلًا واحدًا يناسب أي جهاز، يُسمّى "USB-C الذكاء الاصطناعي".
أصدرت Anthropic المواصفة في 25 نوفمبر 2024، ثم تبرّعت بها في ديسمبر 2025 إلى Agentic AI Foundation (AAIF) التابعة لـ Linux Foundation. الإصدار الحالي من المواصفة هو 2026-07-28، ومعه أصبح MCP عديم الحالة (stateless)، فلم تعد هناك "جلسة" لكل اتصال. يشرح هذا المقال كيف يعمل MCP، وما الذي تغيّر في المواصفة الحالية، وكيف تضيف الخوادم في التطبيقات الرئيسية، وتجربة عملية في 10 دقائق، وقواعد الأمان الرسمية، استنادًا إلى مواصفة MCP والوثائق الرسمية لكل شركة (تحققنا منها في 12 نوفمبر 2026).
المضيف (تطبيق الذكاء الاصطناعي)
Claude Code وChatGPT وVS Code وغيرها
يتصل كل عميل فيه بخادم واحد ويتلقى قائمة الأدوات
خادم MCP
GitHub وNotion وخادمك الخاص
يقدّم ثلاثة أنواع: Tools وResources وPrompts
الأدوات والبيانات
واجهات API وقواعد بيانات وملفات
ما يقرؤه الخادم ويكتبه فعلًا
داخل جهازك تكون طريقة النقل stdio، وعبر الشبكة Streamable HTTP. يقرّر الذكاء الاصطناعي أي أداة يستخدم ومتى، ويحصل المضيف على موافقة المستخدم قبل استدعائها.
1. ما هو MCP؟ اتفاق مشترك بين الذكاء الاصطناعي والأدوات
قبل MCP كان كل تطبيق ذكاء اصطناعي يتصل بالأدوات بطريقته الخاصة. ولاستخدام أداة "انشر في Slack" في ثلاثة تطبيقات كان عليك بناؤها ثلاث مرات. حوّل MCP طبقة الاتصال هذه إلى مواصفة واحدة. مع M تطبيقًا وN أداة، يصبح ما كان M×N عملية ربط مجرد M+N تنفيذًا. وتذكر المواصفة نفسها أنها استلهمت Language Server Protocol (LSP) الذي وحّد دعم لغات البرمجة عبر المحررات.
الأشياء الثلاثة التي يمكن للخادم تقديمها
| الميزة | ما هي | أمثلة |
|---|---|---|
| Tools (الأدوات) | دوال يستدعيها الذكاء الاصطناعي | إنشاء issue، إرجاع كمية المخزون، الاستعلام من قاعدة بيانات |
| Resources (الموارد) | مستندات وبيانات يقرؤها المستخدم أو الذكاء الاصطناعي | محتوى الملفات، مخططات الجداول، المستندات الداخلية |
| Prompts (القوالب) | قوالب تعليمات يختارها المستخدم ويشغّلها | إجراء "راجِع طلب الدمج هذا" |
وفي الاتجاه المعاكس، يمكن للعميل (جهة التطبيق) أن يقدّم للخوادم Elicitation، وهي آلية تسمح للخادم بأن يطلب من المستخدم معلومات إضافية. أما Roots (إخبار الخادم بالمجلدات التي يُسمح له بالعمل فيها) وSampling (طلب الخادم من نموذج التطبيق توليد نص)، الموجودتان في الإصدارات السابقة، فقد أصبحتا مهملتين (deprecated) في الإصدار الحالي (القسم 4).
2. ما الذي حدث في العامين منذ الإطلاق
تُسمّى إصدارات مواصفة MCP باسم "آخر تاريخ أُدخلت فيه تغييرات غير متوافقة مع الإصدارات السابقة". وهذه أبرز الأحداث إلى جانب تلك الإصدارات.
- 25 نوفمبر 2024أصدرت Anthropic المواصفة وحزم SDK. وكان الإصدار الأول 2024-11-05.
- 26 مارس 2025أضاف الإصدار 2025-03-26 طريقة النقل Streamable HTTP للخوادم البعيدة وتفويضًا قائمًا على OAuth، وأهمل طريقة النقل القديمة HTTP+SSE. وفي اليوم نفسه (بتوقيت الولايات المتحدة) أعلن Sam Altman من OpenAI أن OpenAI ستدعم MCP في منتجاتها (بحسب TechCrunch).
- 18 يونيو 2025أضاف الإصدار 2025-06-18 مخرجات منظّمة (محدّدة الأنواع) للأدوات وElicitation.
- 25 نوفمبر 2025أضاف الإصدار 2025-11-25 ميزة Tasks للمهام الطويلة (تجريبية) وClient ID Metadata Documents التي تتيح للعميل تعريف نفسه عبر عنوان URL.
- 9 ديسمبر 2025تبرّعت Anthropic بـ MCP إلى AAIF التي شاركت في تأسيسها Anthropic وBlock وOpenAI وتدعمها Google وMicrosoft وAWS وCloudflare وBloomberg. وذكر إعلان ذلك اليوم أكثر من 10,000 خادم MCP عام نشط وأكثر من 97 مليون تنزيل شهري لحزم SDK الخاصة بـ Python وTypeScript، وأورد ChatGPT وCursor وGemini وMicrosoft Copilot وVS Code ضمن المنتجات التي اعتمدته.
- 28 يوليو 2026ألغى الإصدار الحالي 2026-07-28 المصافحة (initialize) والجلسات وجعل MCP عديم الحالة (القسم 4).
انتشر MCP لأن المواصفة طبقة رقيقة فوق JSON-RPC 2.0 وJSON Schema يسهل تنفيذها، ولأنها صدرت مبكرًا مواصفةً مفتوحة، ولأنها بعد التبرّع لم تعد ملكًا لشركة واحدة. وبما أن الشركات المتنافسة تعتمد المواصفة نفسها، يكفي من يبني الأدوات أن يبنيها مرة واحدة.
3. كيف يعمل: المضيف والعميل والخادم وطريقتا نقل
في المواصفة ثلاثة أدوار. المضيف هو تطبيق الذكاء الاصطناعي الذي يستخدمه الشخص، والعميل هو الموصّل الذي يشغّله المضيف لكل خادم (عميل واحد لكل خادم)، والخادم هو الجهة التي تقدّم الأدوات والبيانات. تُرسل الرسائل بصيغة JSON-RPC 2.0: يتلقى العميل قائمة الأدوات (tools/list)، ويستدعي الأداة التي اختارها الذكاء الاصطناعي مع وسائطها (tools/call)، ثم يتلقى النتيجة.
| طريقة النقل | أين تعمل | مناسبة لـ | المصادقة |
|---|---|---|---|
| stdio | جهازك نفسه (يشغّل التطبيق الخادم كعملية ويتواصل عبر الإدخال والإخراج القياسيين) | الملفات، Git المحلي، قاعدة بيانات محلية | لا تُستخدم آلية التفويض في المواصفة، وتُمرَّر بيانات الاعتماد عبر متغيرات البيئة ونحوها |
| Streamable HTTP | جهة الخدمة (الاتصال عبر عنوان URL) | خدمات مثل GitHub وNotion، وخوادم مشتركة داخل الشركة | التفويض (Authorization) في المواصفة القائم على OAuth 2.1 |
| HTTP+SSE | طريقة النقل البعيدة السابقة | لا تُستخدم في المشاريع الجديدة | مهملة (انتقل إلى Streamable HTTP) |
4. ما الذي تغيّر في المواصفة الحالية 2026-07-28
بحسب صفحة إصدارات المواصفة، الإصدار الحالي (Current) هو 2026-07-28. ومقارنة بالإصدار السابق 2025-11-25 تغيّرت طريقة الاتصال كثيرًا. وهذه أبرز الفروق بحسب سجل التغييرات:
| البند | حتى 2025-11-25 | 2026-07-28 |
|---|---|---|
| بدء الاتصال | تحدّد مصافحة initialize الإصدار والقدرات | لا مصافحة، ويحمل كل طلب الإصدار والقدرات في _meta، ويعلن الخادم إصداراته المدعومة عبر server/discover |
| الجلسات | تستخدم Streamable HTTP المعرّف Mcp-Session-Id | لا جلسات على مستوى البروتوكول، وتُمرَّر الحالة الممتدة عبر عدة استدعاءات كمعرّف يصدره الخادم ضمن وسائط الأداة |
| إشعارات التغيير | تدفق HTTP GET وresources/subscribe | جُمعت في تدفق واحد subscriptions/listen |
| الطلبات من الخادم | يرسل الخادم طلبات (sampling/createMessage وelicitation/create وغيرها) | يعيد الخادم نتيجة "مطلوب إدخال" (input_required) ويعيد العميل إرسال الطلب نفسه مع الإجابات (Multi Round-Trip Requests) |
| انقطاع التدفق | إعادة التسليم عبر معرّفات أحداث SSE | لا استئناف، ويعيد العميل إرسال الطلب بمعرّف جديد |
| المهام الطويلة (Tasks) | ميزة تجريبية في النواة | نُقلت إلى امتداد رسمي (io.modelcontextprotocol/tasks) |
| المهمل | HTTP+SSE | Roots وSampling وLogging وHTTP+SSE والتسجيل الديناميكي للعملاء في OAuth (يحل محله Client ID Metadata Documents) |
بموجب سياسة دورة حياة الميزات في المواصفة، تبقى الميزات المهملة اثني عشر شهرًا على الأقل قبل أن يجوز حذفها (أو 90 يومًا على الأقل عند وجود خطر أمني قائم، كثغرة منشورة أو استغلال فعلي لا يمكن تداركه داخل البروتوكول نفسه). وتصف المواصفة أيضًا كيفية الاتصال، بتوافق مع الإصدارات السابقة، بالأطراف التي ما زالت تستخدم مصافحة 2025-11-25 وما قبلها.
ماذا يعني ذلك للمستخدمين والمطوّرين
- المستخدمون
إذا كان تطبيقك يدعمه، فلا شيء عليك فعله
يدعم Claude Code الإصدار 2026-07-28 عبر "v2 runtime" المبني على MCP TypeScript SDK 2.0. فهو يسأل كل خادم إن كان يدعم الإصدار الجديد؛ فإن كان يدعمه استخدمه، وإلا اتصل بالمصافحة السابقة. ويكون v2 runtime هو الافتراضي بدءًا من v2.1.232 في الجلسات التي تجلب feature flags، وبدءًا من v2.1.274 في الجلسات التي لا تجلبها. وللبقاء على البروتوكول القديم اضبط متغير البيئة
MCP_PROTOCOL_NEGOTIATION=legacy(وثائق MCP في Claude Code). - المطوّرون
انتقل إلى حزم SDK من السلسلة 2.x ولا تعتمد الميزات المهملة
حزمة Python SDK في السلسلة 2.x (
mcp2.3.0 على PyPI، صدرت في 2 أكتوبر 2026)، وتدعم السلسلة 2.x من TypeScript SDK الإصدار 2026-07-28. وفي السلسلة 2.x انقسمت حزم TypeScript إلى@modelcontextprotocol/serverو@modelcontextprotocol/client(الإصدار 2.4.0 على npm)، بينما بقيت الحزمة السابقة@modelcontextprotocol/sdkعلى السلسلة 1.x (الإصدار 1.32.2). في الخوادم الجديدة مرّر المجلدات عبر وسائط الأداة أو الإعدادات بدل Roots، وسجّل في مخرج الأخطاء القياسي أو OpenTelemetry بدل Logging. وللحالة الممتدة عبر عدة استدعاءات، أصدر معرّفات لا يمكن تخمينها واربطها بالمستخدم (القسم 9). - الامتدادات
توجد الآن "امتدادات" اختيارية خارج النواة
تبرز صفحة النظرة العامة للمواصفة امتدادات أهمها Tasks للمهام الطويلة، وMCP Apps لعرض واجهات مثل المخططات والنماذج داخل المحادثة، وSkills over MCP لتوزيع تعليمات الوكلاء عبر MCP (قيد النقاش في مجموعة عمل). ولا يُستخدم الامتداد إلا إذا دعمه العميل والخادم معًا.
5. كيف تضيف خادمًا في التطبيقات الرئيسية وأين تُحفظ الإعدادات
يُضاف خادم MCP نفسه بطريقة مختلفة، ويُحفظ في ملف مختلف، في كل تطبيق. هذا ما تقوله الوثائق الرسمية لكل شركة (تحققنا منها في 12 نوفمبر 2026).
| التطبيق | طريقة الإضافة | مكان الإعدادات | انتبه إلى |
|---|---|---|---|
| Claude Code | claude mcp add | الملف ~/.claude.json للاستخدام الشخصي، و.mcp.json في جذر المشروع لمشاركته مع الفريق | تُعرض حالة الاتصال عبر /mcp |
| Claude Desktop | تعديل ملف الإعدادات | الملف claude_desktop_config.json (في macOS داخل ~/Library/Application Support/Claude/، وفي Windows داخل %APPDATA%\Claude\، وفي Linux داخل ~/.config/Claude/) | أعد تشغيل التطبيق بعد التعديل (الدليل الرسمي) |
| Codex (CLI) | codex mcp add | الجدول [mcp_servers.name] في ~/.codex/config.toml (ويمكن للمشاريع الموثوقة استخدام .codex/config.toml أيضًا) | لخوادم OAuth استخدم codex mcp login name |
| Gemini CLI | gemini mcp add | المفتاح mcpServers في settings.json (داخل .gemini/ أو ~/.gemini/) | الخيار trust: true يتخطى كل تأكيدات الاستدعاء، فاستخدمه فقط مع خوادم تتحكم فيها (وتنبّه الصفحة الرسمية في أعلاها إلى أن Gemini CLI استُبدل بـ Antigravity CLI في 18 يونيو 2026 لمستخدمي الفئة المجانية وGoogle One) |
| VS Code | الأمر "MCP: Add Server" في لوحة الأوامر | اتبع المعالج واختر مساحة العمل أو المستوى العام | تحذّر الوثائق من أن الخوادم المحلية تشغّل شيفرة على جهازك |
| ChatGPT | الخيار "Add custom MCP server" في Plugins (لا حاجة إلى تفعيل وضع المطوّر أولًا) | الضبط من واجهة مساحة العمل (نقطة نهاية HTTPS عامة أو Secure MCP Tunnel) | لخطط Business وEnterprise وEdu في نسخة الويب فقط (في Business يتصل المسؤولون والمالكون فقط، وفي Enterprise وEdu يتصل أيضًا الأعضاء الممنوحون الصلاحية، والنشر لمساحة العمل للمسؤولين والمالكين فقط) (مساعدة OpenAI) |
المصادر: وثائق MCP في Claude Code وCodex وGemini CLI وVS Code. تظهر الموصّلات (خوادم MCP البعيدة) التي تضيفها في claude.ai أيضًا في /mcp داخل Claude Code، لكنها لا تُحمَّل إذا كنت مسجّلًا الدخول بمفتاح API (ماذا تفعل عندما تتوقف الموصّلات).
6. خوادم يمكنك استخدامها اليوم وأين تجد غيرها
| الخادم | ماذا يفعل | استخدام نموذجي |
|---|---|---|
| filesystem (خادم مرجعي) | يقرأ الملفات ويكتبها داخل المجلدات المسموح بها فقط | جعل الذكاء الاصطناعي يقرأ المستندات أو الشيفرة |
| fetch (خادم مرجعي) | يجلب صفحة ويب ويحوّلها إلى صيغة يسهل على الذكاء الاصطناعي قراءتها | تمرير عنوان URL والحصول على ملخّص |
| git (خادم مرجعي) | يقرأ سجل مستودع Git محلي ويتعامل معه | طلب شرح التغييرات من السجل |
| GitHub (خادم بعيد تديره GitHub) | عمليات issues وطلبات الدمج والمستودعات | مراجعة طلبات الدمج، وتحويل الأخطاء المكتشفة إلى issues |
| Notion (خادم بعيد تديره Notion) | يتعامل مع مساحة عمل Notion | البحث في المستندات الداخلية وتلخيصها |
للبحث عن خوادم، ابدأ من MCP Registry، قائمة الخوادم العامة، ومن Anthropic Directory الذي يضم الموصّلات التي راجعتها Anthropic. ولم يعد المستودع الرسمي يضم سوى سبعة خوادم مرجعية (Everything وFetch وFilesystem وGit وMemory وSequential Thinking وTime)، ويصفها ملف README بأنها أمثلة تعليمية لمن يبنون خوادمهم، ويطلب تقييم متطلبات الأمان بنفسك. أما خوادم GitHub وPostgreSQL وSlack وغيرها التي كانت هناك فقد انتقلت إلى servers-archived (صار خادم GitHub تديره GitHub نفسها، وتتولى Zencoder صيانة خادم Slack). لا تتّبع الشروح القديمة حرفيًا.
7. جرّبه في 10 دقائق: دع Claude Code يقرأ مجلدًا
باستخدام خادم filesystem الرسمي، تسمح لـ Claude Code بقراءة مجلد واحد تختاره فقط. يُفترض أن Node.js (npx) مثبّت لديك.
- أنشئ مجلد اختبار. أنشئ مجلدًا فارغًا لا يحتوي شيئًا مهمًا (مثل
~/mcp-test) وضع فيه ملفREADME.mdقصيرًا. لن يستطيع الخادم الوصول إلا إلى هذا المجلد. - أضف الخادم. في macOS وLinux نفّذ الأمر التالي. كل ما يأتي بعد
--يُمرَّر كما هو أمرَ تشغيلٍ للخادم.
وفي Windows الأصلي (ليس WSL) تتم الإضافة بالطريقة نفسها، مع كتابة المجلد بصيغةclaude mcp add --transport stdio files -- npx -y @modelcontextprotocol/server-filesystem ~/mcp-testC:\mcp-test. وإذا لم يبدأnpx، فغلّفه بالأمرcmd /cكما يوضح ملف README للخادم المرجعي لنظام Windows.
عدّل مسار المجلد بحسب بيئتك.claude mcp add --transport stdio files -- cmd /c npx -y @modelcontextprotocol/server-filesystem C:\mcp-test - تحقّق من الاتصال. شغّل Claude Code وافتح
/mcpوتأكد أنfilesفي حالةconnected. وإن ظهرتfailedفراجع كيف تصلح أخطاء اتصال خادم MCP. - استخدمه. اطلب: "لخّص ملف README في mcp-test". يطلب Claude Code الإذن قبل استخدام الأداة؛ راجع اسم الأداة ووسائطها قبل السماح.
- نظّف. بعد الانتهاء أزله بالأمر
claude mcp remove files.
تُضاف الخوادم البعيدة عبر عنوان URL (مثل claude mcp add --transport http notion https://mcp.notion.com/mcp)، ثم تُكمل المصادقة من /mcp. هناك ثلاثة نطاقات: الافتراضي local لك وحدك في ذلك المشروع، و--scope project يكتب في .mcp.json بجذر المشروع للمشاركة مع الفريق، و--scope user يجعله متاحًا في كل مشاريعك. أبقِ في local الخوادم التي تحمل بيانات اعتماد لا تريدها في نظام التحكم بالإصدارات.
8. ابنِ خادم MCP خاصًا بك: مثال مصغّر
استخدام الخوادم مفيد بحد ذاته، لكن قيمة MCP الحقيقية تظهر حين تفتح أدواتك الداخلية الخاصة للذكاء الاصطناعي. مع Python SDK (السلسلة 2.x) تكفي نحو اثني عشر سطرًا. المثال خادم "يعيد كمية المخزون الحالية".
ثبّت الـ SDK بالأمر uv add "mcp[cli]" (أو pip install "mcp[cli]"). تضيف الإضافة [cli] الأمرين mcp dev وmcp run المستخدمين أدناه.
from mcp.server import MCPServer
mcp = MCPServer("inventory-server")
@mcp.tool()
def get_stock(sku: str) -> int:
"""Return the current stock level for a SKU"""
# Query your internal inventory DB here
return query_internal_db(sku)
if __name__ == "__main__":
mcp.run(transport="stdio")
- اختبر
الأمر
uv run mcp dev server.pyالوارد في README الخاص بالـ SDK يفتح واجهة الاختبار الرسمية (MCP Inspector) لتفحص قائمة الأدوات ونتائج الاستدعاءات دون ذكاء اصطناعي. - أضف
في Claude Code:
claude mcp add --transport stdio inventory -- python server.py. يصبح نص التوثيق (docstring) للدالة هو وصف الأداة الذي يراه الذكاء الاصطناعي، فاكتب بوضوح ماذا تعيد. - شارك
لمشاركته داخل الشركة، يحوّله الأمر
uv run mcp run server.py --transport streamable-httpإلى خادم HTTP. وعندها التزم بقواعد التفويض والرموز في القسم 9.
حزم SDK الرسمية هي TypeScript وPython وC# وGo وRust وRuby (Tier 1)، وJava (Tier 2)، وSwift وPHP وKotlin (Tier 3). يعكس الـ Tier مدى اكتمال الميزات والتزام الصيانة، وكل SDK يتبنّى الإصدارات الجديدة من المواصفة وفق جدوله الخاص.
9. الأمان: أهم ما في Security Best Practices الرسمية
تعامل المواصفة الأدوات على أنها "تنفيذ شيفرة اعتباطية"، وتنص على أن المضيف يجب أن يحصل على موافقة صريحة من المستخدم قبل استدعاء أي أداة. وتُعدّ أوصاف الأدوات وتعليقاتها التوضيحية (annotations) غير موثوقة ما لم تأتِ من خادم موثوق. وفوق ذلك تسرد Security Best Practices الرسمية هجمات خاصة بـ MCP وطرق التصدي لها.
| الهجوم | ماذا يحدث | ما تشترطه المواصفة | من يعنيه |
|---|---|---|---|
| اختراق خادم MCP محلي | أمر تشغيل مدسوس في الإعدادات ينفّذ أوامر اعتباطية، مثل إرسال مفاتيح SSH الخاصة بك إلى الخارج | على العملاء الذين يتيحون الإعداد بنقرة واحدة عرض الأمر كاملًا دون اقتطاع والحصول على الموافقة (MUST)، وينبغي تشغيل الخوادم في بيئة معزولة بأدنى الصلاحيات (SHOULD) | المستخدمون، مطوّرو التطبيقات |
| تمرير الرموز (Token passthrough) | يقبل خادم رمزًا صادرًا لخدمة أخرى ويمرّره إلى واجهة API لاحقة | عدم قبول رموز لم تصدر لخادم MCP نفسه (MUST NOT) | مطوّرو الخوادم |
| Confused deputy | يتخطى خادم وسيط لواجهة API خارجية شاشة الموافقة فيُسرق رمز تفويض | الحصول على موافقة لكل عميل قبل تفويض الطرف الخارجي (MUST)، ومطابقة redirect_uri مطابقة تامة | مطوّرو الخوادم الوسيطة |
| SSRF | يضع خادم خبيث عناوين داخلية (مثل 169.254.169.254) في عناوين OAuth ليجعل العميل يجلبها | اشتراط HTTPS وحظر الطلبات إلى نطاقات IP الخاصة (SHOULD) | مطوّرو العملاء |
| اختطاف معرّفات الحالة | يخمّن أحدهم معرّفًا أصدره الخادم، كمعرّف سلة تسوّق، فيعبث بحالة مستخدم آخر | عدم اعتبار حيازة المعرّف مصادقة (MUST NOT)، وتوليد معرّفات عشوائية لا يمكن تخمينها مرتبطة بالمستخدم (SHOULD) | مطوّرو الخوادم |
| صلاحيات (scopes) واسعة أكثر من اللازم | رمز مسروق واحد يفتح أدوات وبيانات لا علاقة لها بالمهمة | البدء بأدنى الصلاحيات، وأغلبها للقراءة، ثم توسيعها تدريجيًا عند الحاجة | مطوّرو الخوادم |
خمسة أمور يتحقق منها المستخدم قبل تثبيت خادم
| ما الذي تتحقق منه | أين تنظر / أمثلة |
|---|---|
| ① من يديره | خادم تديره الخدمة نفسها (مثل https://api.githubcopilot.com/mcp/ من GitHub أو https://mcp.notion.com/mcp من Notion)، أو خادم مرجعي، أو طرف ثالث (ابحث في MCP Registry وAnthropic Directory) |
| ② هل قرأت أمر التشغيل كاملًا | يقوم npx -y وuvx بتنزيل الحزمة وتشغيلها بمجرد الإضافة، فتأكد أنها ليست حزمة باسم مشابه وأنه لا تتبعها أوامر إضافية |
| ③ هل ما زال يُصان | انتقلت خوادم GitHub وPostgreSQL وSlack من المستودع الرسمي إلى servers-archived |
| ④ ما مقدار الوصول الذي تمنحه | أصدر رموزًا محدودة النطاق (تعرض وثائق Claude Code أيضًا مثالًا لـ GitHub برمز fine-grained مقصور على المستودعات المعنية) |
| ⑤ هل يجلب محتوى خارجيًا | الخوادم التي تجلب صفحات الويب أو الرسائل البريدية مدخل لحقن التعليمات (prompt injection)، وتحذّر وثائق Claude Code أيضًا من التحقق من الثقة بالخادم قبل الاتصال به |
إذا احتوى نص أعاده خادم عبارة مثل "تجاهل التعليمات السابقة و…" فقد يُختطف الذكاء الاصطناعي. تعامل مع مخرجات الخوادم على أنها بيانات، واجعل شخصًا يؤكد في كل مرة الإجراءات التي لا رجعة فيها مثل الإرسال أو الحذف أو الدفع. شرحنا طريقة التفكير هذه في احتياطات ما تمرّره إلى الذكاء الاصطناعي. وإن كنت تبني وكلاء بنفسك، فجانب التصميم (كيف تمنح الأدوات، وتقلّل الصلاحيات، وتعزل العمليات الخطرة) مشروح خطوة بخطوة في فصل MCP وربط الأدوات من دورتنا لتطوير وكلاء الذكاء الاصطناعي.
10. MCP أم API أم Skills أم A2A: متى تختار كلًّا منها
| ما تريده | الأنسب | السبب |
|---|---|---|
| منح الذكاء الاصطناعي بيانات أو إجراءات خارجية وتركه يقرّر متى يستخدمها | خادم MCP | يتلقى الذكاء الاصطناعي قائمة الأدوات ويستدعيها بنفسه عند الحاجة |
| إعادة استخدام اتصال واحد في عدة تطبيقات مثل Claude Code وCodex وVS Code | خادم MCP | تبنيه مرة واحدة فيستطيع أي تطبيق يدعم MCP استخدامه |
| استدعاء معالجة ثابتة من برنامجك بالترتيب نفسه في كل مرة | استدعاء API عادي | إذا لم يكن على الذكاء الاصطناعي أن يختار فلا داعي لوضع MCP في المنتصف |
| جعل الذكاء الاصطناعي يلتزم بإجراءات أو قواعد كتابة (دون اتصال خارجي) | Skills | ما تحتاجه دليل إجراءات لا اتصال |
| تسليم عمل إلى وكيل ذكاء اصطناعي بناه فريق آخر أو شركة أخرى | A2A | الطرف الآخر وكيل لا أداة (إذا كان MCP هو الصلة "العمودية" بالأدوات، فإن A2A هو الصلة "الأفقية" بين الوكلاء) |
هذه الأربعة لا يُلغي بعضها بعضًا. مثلًا: اجلب بيانات حديثة عبر MCP، ورتّبها بإجراء من Skill، ثم سلّمها إلى وكيل قسم آخر عبر A2A. ويمكن أيضًا تضمين خوادم MCP في إضافات Claude Code وتوزيعها على الفريق مع المهارات والخطافات.
11. لا تُكثر من الإضافة ولا من البناء
- السياق
نتائج الأدوات تستهلك السياق
يستخدم Claude Code ميزة tool search افتراضيًا: عند بدء الجلسة يحمّل أسماء الأدوات وتعليمات الخوادم فقط، ويحمّل التعريفات عند الحاجة. ومع ذلك تستهلك النتائج السياق: يظهر تحذير إذا تجاوز مخرج واحد 10,000 رمز، والحد الافتراضي 25,000 رمز (يمكن تغييره عبر
MAX_MCP_OUTPUT_TOKENS). - التصميم
لا تحوّل كل شيء إلى MCP
كلما زادت الأدوات التي يستدعيها طلب واحد زاد الوقت والتكلفة. وإذا لم يكن على الذكاء الاصطناعي أن يختار، فالبرنامج العادي أو استدعاء API أسرع وأكثر موثوقية.
- المواصفة
ابنِ على أن المواصفة ستتغير
بعض الإصدارات، مثل 2026-07-28، تغيّر طريقة الاتصال نفسها. تبقى الميزات المهملة عادةً اثني عشر شهرًا على الأقل (و90 يومًا على الأقل عند خطر أمني قائم)، لكن راجع خوادمك مع تحديثات حزم SDK.
- الدخل
هل يمكن أن يدرّ خادمك دخلًا؟
ليس في MCP نفسه آلية للدفع. قارنّا قنوات البيع والعمولات في هل يمكن تحقيق دخل من خوادم MCP؟
الخلاصة
- MCP مواصفة مفتوحة تربط تطبيقات الذكاء الاصطناعي بالأدوات والبيانات الخارجية. أصدرتها Anthropic في نوفمبر 2024 وتبرّعت بها في ديسمبر 2025 إلى AAIF التابعة لـ Linux Foundation.
- الأدوار هي المضيف والعميل والخادم. تقدّم الخوادم Tools وResources وPrompts عبر stdio أو Streamable HTTP.
- الإصدار الحالي هو 2026-07-28. ألغى المصافحة والجلسات فصار عديم الحالة، وأهمل Roots وSampling وLogging.
- يضيف Claude Code وCodex وGemini CLI الخوادم بأمر
mcp add، وClaude Desktop عبر ملف إعدادات، وVS Code من لوحة الأوامر. - ابدأ بتجربة خادم filesystem المرجعي على مجلد فارغ، وتحقّق من الاتصال عبر
/mcp. - يكفي نحو اثني عشر سطرًا لخادم خاص بك مع Python SDK. اختبره في MCP Inspector قبل إضافته.
- تشترط Security Best Practices الرسمية عرض أمر التشغيل كاملًا والحصول على الموافقة، ورفض الرموز التي لم تصدر للخادم، ومعرّفات لا يمكن تخمينها، وأدنى الصلاحيات.
الأسئلة الشائعة
س1. هل يلزم تعلّم خاص لاستخدام MCP؟
للاستخدام فقط لا. يكفي في Claude Code سطر واحد claude mcp add، وفي Claude Desktop بضعة أسطر في ملف الإعدادات. وحتى عند بناء خادمك، تتولى حزمة SDK تفاصيل JSON-RPC، فيمكنك البدء بكتابة دالة وإضافة مزخرف (decorator) إليها.
س2. هل يمكن استخدام MCP في ChatGPT؟
نعم. بحسب صفحة مساعدة OpenAI التي تحققنا منها في 12 نوفمبر 2026، يتاح ربط خوادم MCP الخاصة بك بـ ChatGPT (دعم MCP الكامل بما فيه عمليات الكتابة) في ChatGPT Business وEnterprise وEdu على الويب. من Plugins تختار "Add custom MCP server" وتضيف نقطة نهاية HTTPS العامة للخادم (أو Secure MCP Tunnel) ثم تؤكد تحذير المخاطر، ولا حاجة إلى تفعيل وضع المطوّر أولًا. في Business لا يربط الخوادم إلا المسؤولون والمالكون، وفي Enterprise وEdu يمكن للمسؤولين منح هذه الصلاحية لأعضاء محددين عبر التحكم في الوصول القائم على الأدوار (RBAC). ولا ينشر لمساحة العمل إلا المسؤولون والمالكون، ولا يمكن الربط من الهاتف المحمول. التفاصيل في مساعدة OpenAI.
س3. هل ستتوقف الخوادم القديمة عن العمل مع الإصدار 2026-07-28؟
ليس فورًا. تتضمن المواصفة إجراءً متوافقًا للاتصال بالأطراف التي تستخدم مصافحة 2025-11-25 وما قبلها، ويتصل Claude Code بالخوادم التي لا تدعم الإصدار الجديد عبر البروتوكول السابق. كما تبقى الميزات المهملة في المواصفة عادةً اثني عشر شهرًا على الأقل (و90 يومًا على الأقل فقط عند خطر أمني قائم). وعند نقل خوادمك إلى SDK من السلسلة 2.x، تحقّق مما إذا كانت تعتمد على Roots أو Sampling أو Logging.
س4. هل فتح قاعدة بيانات داخلية للذكاء الاصطناعي عبر MCP آمن؟
يتوقف ذلك على تصميم الصلاحيات. إذا استخدمت اتصالًا للقراءة فقط ولم تقدّم كأدوات إلا استعلامات ثابتة ذات وسائط مُتحقَّق منها بصرامة، فهذا أكثر أمانًا بكثير من ترك الذكاء الاصطناعي يكتب SQL حرًّا. أما أداة "تستطيع تشغيل أي SQL" فخطيرة. وإذا شاركته عبر HTTP، فاقبل فقط الرموز الصادرة لخادمك، وأبقِ الصلاحيات في حدها الأدنى، واحتفظ بالسجلات كما في القسم 9.
س5. هل MCP واستدعاء الدوال (function calling) شيء واحد؟
هما في طبقتين مختلفتين. استدعاء الدوال هو الصيغة داخل واجهة API للنموذج للتعبير عن "أريد استدعاء هذه الدالة بهذه الوسائط"، أما MCP فهو اتفاق التواصل بين التطبيق والخوادم الخارجية. يمرّر التطبيق الداعم لـ MCP قائمة الأدوات التي تلقاها من الخوادم إلى النموذج بصيغة استدعاء الأدوات الخاصة به، ثم يرسل الاستدعاء الذي اختاره النموذج إلى الخادم عبر MCP.