المدونة

خوادم MCP لـ Claude Code في 2026: 7 تكاملات وطريقة التثبيت

Markdown

ما هو MCP وكيفية توصيله في 5 دقائق باستخدام الأمر claude mcp add. 7 خوادم: GitHub وPostgres وSlack وNotion وSentry وPlaywright. قائمة سماح عبر hooks.

قراءة المقال كاملًا

تجد في الوثائق تعليمات إضافية للعمل مع Ailoot.

ما خادم MCP، ولماذا يحتاج إليه Claude Code؟

النقاط الرئيسية

MCP ‏(Model Context Protocol) معيار مفتوح من Anthropic يتيح لـ Claude Code الوصول إلى الأدوات والبيانات الخارجية من خلال واجهة موحدة. بروتوكول واحد بدلاً من عشر واجهات API مختلفة. تصفه Anthropic بأنه «USB-C لتطبيقات الذكاء الاصطناعي»: صِل المنفذ، وسيتمكن Claude من رؤية قاعدة بياناتك أو بريدك الإلكتروني أو تطبيق المراسلة أو المستودع.

أعلنت Anthropic عن MCP في 25 نوفمبر 2024 بوصفه معياراً مفتوحاً. وخلال عام، أصبح البروتوكول معياراً في المجال: إذ تدعمه OpenAI وGoogle DeepMind وMicrosoft. يحتوي المستودع الرسمي modelcontextprotocol/servers على خوادم مرجعية من مشروع MCP نفسه (Filesystem وMemory وSequential Thinking وFetch وغيرها)؛ أما الشركات الموردة، مثل GitHub وNotion وStripe وLinear وCloudflare وSentry، فتنشر خوادم MCP في مستودعاتها الخاصة. وتضم فهارس المجتمع آلاف الخوادم.

من الناحية التقنية، يعمل MCP عبر JSON-RPC 2.0. البنية بسيطة: Claude Code هو العميل، وأي خدمة هي خادم، وخادم MCP الواقع بينهما يوفّر ثلاثة عناصر: tools (ما يمكن للذكاء الاصطناعي استدعاؤه)، وresources (ما يمكنه قراءته)، وprompts (قوالب جاهزة).

مثلما يوفّر USB-C طريقة معيارية لتوصيل الأجهزة بمختلف الملحقات، يوفّر MCP طريقة معيارية لتوصيل نماذج الذكاء الاصطناعي بمصادر البيانات والأدوات المختلفة.
— Model Context Protocol, https://modelcontextprotocol.io/

أهمية ذلك لمن يستخدم البرمجة بأسلوب vibe coding: قبل MCP، كان كل اتصال بين Claude وخدمة خارجية يتطلب تكاملاً منفصلاً وطبقة تغليف خاصة به. أما مع MCP، فيكفي استخدام ثلاثة أوامر متشابهة لتوصيل Postgres وSlack وGitHub، كما يسهل فصلها بالقدر نفسه عند عدم الحاجة إلى الخدمة.

كيف يختلف MCP عن Skills وSubagents؟

النقاط الرئيسية

تبدو الآليات الثلاث متشابهة، لكنها تحل مشكلات مختلفة. Skills هي سير العمل والطلبات التوجيهية الخاصة بك في صورة تعليمات برمجية. أما Subagents فهي «زملاء» متخصصون ومستقلون، لكل منهم سياقه الخاص. ويوفّر MCP أدوات خارجية تمكّن Claude من الوصول إلى الخدمات والبيانات. وتختلف تكلفة الرموز أيضاً: فالـ skill هي الأقل تكلفة، بينما يكون MCP عادةً أعلى تكلفة. في البداية، يضع MCP في السياق أسماء الأدوات وتعليمات الخادم فقط؛ ثم يحمّل Claude الأوصاف الكاملة عند الحاجة إليها. ويأتي معظم التكلفة من ردود الخدمات، إذ قد تكون كبيرة وتظل في المحادثة.

جدول بسيط يساعد على تمييز الفروق:

الآليةماهيتهامتى تُستخدمتكلفة الرموز
Skillملف يحتوي على تعليمات وطلبات توجيهية في .claude/skills/تكرار سير عمل: كتابة بريد إلكتروني، إعداد تقرير، نشر منشورمنخفضة. تُحمّل عند تشغيلها
Subagentوكيل مستقل بسياقه وأدواته الخاصةمهمة طويلة ومتوازية: مراجعة، تدقيق، بحثمتوسطة. له سياقه الخاص
خادم MCPخدمة توفّر أدوات وموارد عبر JSON-RPCعند الحاجة إلى وصول مباشر إلى البيانات: قاعدة بيانات، بريد إلكتروني، تطبيق مراسلة، مستودعمتوسطة أو مرتفعة. تبقى أسماء الأدوات فقط في السياق؛ وتُحمّل الأوصاف عند الحاجة، وقد تكون ردود الخدمات كبيرة

الخلاصة العملية: إذا حُدّدت المهمة مرة واحدة وتكررت على هيئة نص، فهي skill. وإذا احتاج الذكاء الاصطناعي إلى رد مباشر من نظام خارجي، فهذا هو MCP. أما إذا كانت المهمة طويلة ومتفرعة وتحتاج إلى عقل مستقل، فهي subagent.

للمزيد عن الآليتين المرتبطتين: Claude Code Skills: كيفية إنشاء مكتبتك الخاصة وClaude Code Subagents: 5 أمثلة جاهزة.

كيفية تثبيت خادم MCP: أول أمر لك في 5 دقائق

النقاط الرئيسية

تعمل الصياغة نفسها في كل حالة: claude mcp add [name] -- [launch command]. سيظهر الخادم في قائمة claude mcp list. بعد ذلك، سيكتشف Claude أدوات الخادم ويبدأ استخدامها في المحادثة. لا حاجة إلى تعديل الإعدادات يدوياً؛ فكل شيء يتم عبر CLI.

الصياغة الكاملة من الوثائق الرسمية:

claude mcp add <name> [options] -- <command> [args...]

تُدعم ثلاث وسائل نقل: --transport stdio (الافتراضية، عملية محلية)، و--transport http (HTTP عن بُعد)، و--transport sse (مُعلّمة بأنها مهملة؛ استخدمها فقط إذا لم يُرحّل الخادم بعد).

تُدعم ثلاثة نطاقات عبر الخيار --scope:

  • local — في مجلد المشروع الحالي فقط (الافتراضي).
  • project — يُكتب في .mcp.json، ويُضمّن في المستودع، ويكون متاحاً للفريق بأكمله.
  • user — عام لجميع المشاريع على الجهاز.

مثال مبسط باستخدام خادم Filesystem المرجعي لمشروع MCP. يبدأ خلال نصف دقيقة:

claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem@2026.8.31 /Users/me/projects
claude mcp list

بعد تنفيذ list، سترى filesystem في القائمة إذا كان المجلد المحدد في الأمر موجوداً؛ وإلا فلن يبدأ الخادم. سيتمكن من رؤية مجلدات عمل Claude Code، أي المجلد الذي شغّلته منه. أشرح أدناه، في القسم 5.2، سبب ذلك ومتى يكون هذا الخادم مفيداً فعلاً.

للتحقق من اتصال MCP، شغّل /mcp داخل جلسة Claude Code. سيعرض ذلك جميع الخوادم وحالاتها وقوائم أدواتها. تتوفر تعليمات إضافية للعمل مع Ailoot في الوثائق. راجع ملف README لخادم MCP الذي اخترته لمعرفة أوامره الخاصة.

stdio أم HTTP: أي وسيلة نقل تختار؟

النقاط الرئيسية

stdio عملية محلية على جهازك؛ تعمل جميع الميزات دون شبكة ولا حاجة إلى OAuth. أما HTTP فهو خدمة عن بُعد يُوصل إليها باستخدام رمز أو OAuth، ويمكن مشاركتها بين الأجهزة. إذا ثُبّت خادم MCP عبر npx أو uvx، فإنه يستخدم stdio. وإذا كان للخدمة عنوان عام خاص بها، فإنها تستخدم HTTP. وقد وُسِم SSE رسمياً بأنه مهمل، لذا لا تعتمد عليه.

مقارنة وفق المعايير الأساسية:

المعيارstdioHTTP
مكان التشغيلمحلياً (عملية فرعية لـ Claude Code)خادم عن بُعد
التفويضغير مطلوبOAuth 2.1 أو رمز Bearer
منافذ الشبكةلا توجدعنوان عام
حالات الاستخدامFilesystem وPostgres والأدوات المساعدة المحليةGitHub وSlack وNotion وLinear وSentry
إعادة الاتصالغير مطلوبةتأخير أسي، حتى 5 محاولات
النشرتثبيت حزمة محلياًخدمة المورّد

قاعدة عامة: كل ما يُخزّن على قرصك أو في قاعدة بيانات محلية يستخدم stdio. وكل ما يوجد في السحابة يستخدم HTTP. أما SSE فمهمل رسمياً؛ فلا تختره.

7 خوادم MCP جاهزة لرواد الأعمال

النقاط الرئيسية

إليك سبعة إعدادات تغطي 80% من مهام من يستخدمون vibe coding: البرمجة (GitHub)، والملفات (Filesystem)، وقاعدة البيانات (Postgres عبر DBHub)، والتواصل بين الفريق (Slack)، وقاعدة المعرفة (Notion)، وتتبع الأخطاء (Sentry)، وسير العمل في المتصفح (Playwright). أقدّم أدناه لكل إعداد أمراً للتثبيت في سطر واحد ومثالاً يوضّح بالضبط كيف تطلب من Claude تنفيذ العمل في محادثة حقيقية.

5.1. GitHub MCP — الخادم الرسمي من GitHub

ما يفعله: يتيح لـ Claude Code الوصول إلى Issues وطلبات السحب وملفات المستودع وعمليات تشغيل Actions. الخادم مفتوح المصدر وحاصل على أكثر من 30,000 نجمة على GitHub.

التثبيت (HTTP عبر OAuth):

claude mcp add --transport http github https://api.githubcopilot.com/mcp/

بدلاً من ذلك، استخدم stdio عبر Docker إذا كنت تحتاج إلى رمز PAT بدلاً من OAuth.

مثال: «اقرأ الـ Issues المفتوحة التي تحمل التصنيف bug، وصنّفها حسب المكوّن، واقترح ترتيب إغلاقها». سيستدعي Claude خادم GitHub MCP، ويقرأ جميع الـ Issues، ثم يعيد قائمة مرتبة حسب الأولوية.

المستودع: github/github-mcp-server.

5.2. Filesystem MCP — الخادم المرجعي لمشروع MCP

ما يفعله: يتيح للذكاء الاصطناعي الوصول إلى الملفات الموجودة على الكمبيوتر ضمن مجلدات معتمدة. يصدره مشروع MCP نفسه؛ ويذكر سجل npm أن Model Context Protocol a Series of LF Projects, LLC هي الجهة المؤلفة.

التثبيت (stdio) مع تثبيت الإصدار:

claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem@2026.8.31 /Users/me/projects

فعندما يتصل Claude Code، يمرر مجلدات عمله إلى الخادم، فتحل هذه المجلدات محل جميع المجلدات المحددة في الأمر. مجلدات عمل Claude Code هي المجلد الذي شغّلته منه، بالإضافة إلى المجلدات التي أُضيفت باستخدام الأمر /add-dir أو الخيار --add-dir. لا يمكنك تحديد مجلد منفصل للنماذج الأولية للخادم عبر الأمر. ومع ذلك، يجب أن يكون المجلد المحدد في الأمر موجوداً، وإلا فلن يبدأ الخادم.

لذلك، يكرر هذا الخادم إلى حد كبير وظائف الأدوات المدمجة في Claude Code. يكفي استخدام /add-dir للوصول إلى الملفات في مجلد آخر؛ فبعد ذلك تستطيع أدوات Claude Code نفسها قراءة المجلد أيضاً. ويكون الخادم أكثر فائدة للبرامج التي لا تملك وصولاً خاصاً بها إلى الملفات. وفي Claude Desktop، قد تحدث مشكلة أخرى: تُرفض أدوات الخادم لأن أوصافها تستخدم تنسيق مخطط قديماً؛ ولا تزال هذه المشكلة قائمة.

امنح صلاحية الوصول إلى المجلدات التي تحتاج إليها فعلاً فقط، سواء في الأمر أو عبر /add-dir. لا تمنح صلاحية الوصول إلى جذر القرص؛ فهذه أول ثغرة أمنية.

مثال: شغّل /add-dir ~/Documents/design أولاً، ثم اطلب: «انقل جميع النماذج الأولية من ~/Documents/design/landing-v3/ إلى المشروع الحالي، وأعد تسميتها وفق نمط hero-*.png».

5.3. Postgres MCP — DBHub (Bytebase)

ما يفعله: يربط Claude بـ Postgres أو MySQL أو SQL Server أو MariaDB أو SQLite. يدعم وضع القراءة فقط حتى لا يتمكن وكيل الذكاء الاصطناعي من حذف قاعدة البيانات بأمر واحد. ويُستخدم كثيراً بديلاً عن الخادم المرجعي المؤرشف من Anthropic، server-postgres.

التثبيت (HTTP، للقراءة فقط):

claude mcp add postgres -- npx -y @bytebase/dbhub --dsn "postgresql://user:pass@localhost:5432/mydb?sslmode=disable" --readonly

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

مثال: «استعلم عن العملاء الذين كانت حالة اشتراكهم expired خلال الشهر الماضي، واعرض أفضل 20 عميلاً حسب إجمالي مبلغ الدفع».

المستودع: bytebase/dbhub.

5.4. Slack MCP — التواصل بين الفريق

ما يفعله: يتيح لـ Claude قراءة قنوات Slack وإرسال الرسائل. وهو مفيد للأتمتة، مثل: «عندما ينجح البناء، انشر في #releases»؛ و«أعد ملخصاً أسبوعياً من #engineering».

التثبيت (stdio عبر غلاف npx، مثل @modelcontextprotocol/server-slack أو ما يعادله لدى مورّد):

claude mcp add slack \
  -e SLACK_BOT_TOKEN=xoxb-... \
  -e SLACK_TEAM_ID=T0... \
  -- npx -y @modelcontextprotocol/server-slack

يستخدم التفويض Slack Bot Token؛ وتُقيّد صلاحية الوصول عبر النطاقات المسموح بها في Slack. يمكنك منح الذكاء الاصطناعي النطاقين chat:read وchat:write:user فقط، وعندها لن يتمكن من تعديل إعدادات مساحة العمل. راجع README للخادم الذي اخترته لمعرفة الأوامر الحالية؛ فالنظام يتغير بسرعة.

مثال: «أرسل كل صباح في الساعة 9:00 قائمة بطلبات السحب التي دُمجت أمس إلى #daily».

5.5. Notion MCP — قاعدة المعرفة

ما يفعله: يتيح لـ Claude الوصول إلى صفحات Notion وقواعد بياناتها. إنه قاعدة معرفة خارج مشروعك: إذا كنت تحفظ ملاحظات أو سجلاً للعملاء أو سياسة تحريرية هناك، فسيتمكن الذكاء الاصطناعي من قراءتها.

التثبيت (HTTP عبر OAuth):

claude mcp add --transport http notion https://mcp.notion.com/mcp

يمكنك بدلاً من ذلك استخدام إضافة Anthropic الرسمية @makenotion/claude-code-notion-plugin.

مثال: «في قاعدة بيانات Notion المسماة ‘Customers’، اعثر على كل من حالتهم ‘active’ ولم يجروا مكالمة منذ أكثر من أسبوعين. أعد مسودة بريد إلكتروني لكل منهم».

دليل Notion: developers.notion.com/guides/mcp.

5.6. Sentry MCP — تتبع الأخطاء

ما يفعله: يربط Claude بالأخطاء في نظام الإنتاج لديك. عندما تفشل صفحة بخطأ 500، يمكنك أن تسأل: «اعرض أحدث 10 Issues في Sentry للمشروع واشرح السبب الجذري لكل منها»، فتحصل على تحليل فوري.

التثبيت (HTTP):

claude mcp add --transport http sentry https://mcp.sentry.dev/mcp

يتم التفويض عبر Sentry OAuth. ويمكن قصر صلاحية الوصول على مشروع محدد.

مثال: «اختر أكثر ثلاث Issues تكراراً خلال آخر 24 ساعة. اشرح بلغة بسيطة ما حدث واقترح طريقة إصلاحه».

المستودع: getsentry/sentry-mcp.

5.7. Playwright MCP — سير العمل في المتصفح

ما يفعله: يوفّر لـ Claude متصفحاً. يستطيع الذكاء الاصطناعي فتح صفحة والنقر وملء نموذج والتقاط لقطة شاشة. وهو مفيد للتحقق من واجهة المستخدم، والاختبار اليدوي بعد النشر، وتحليل سير العمل.

التثبيت (stdio):

claude mcp add playwright -- npx -y @playwright/mcp@latest

الإصدار v0.0.75، الصادر في 7 مايو 2026، تحافظ عليه Microsoft بنشاط (أكثر من 32,000 نجمة).

مثال: «افتح الصفحة الرئيسية لموقعنا، وتحقق من ظهور جميع البطاقات بشكل صحيح، والتقط لقطة شاشة على الكمبيوتر والهاتف المحمول».

المستودع: microsoft/playwright-mcp.

راجع README لإصدار Playwright MCP الذي اخترته لمعرفة الأمر ذي الإصدار المثبّت، والخيار الخاص بعدة جلسات متزامنة، وأخطاء التثبيت الشائعة.

كيفية التحكم بالأمان باستخدام خطاف PreToolUse

النقاط الرئيسية

يمنح MCP الذكاء الاصطناعي صلاحيات واسعة: يمكنه الكتابة في قواعد البيانات وإرسال الرسائل وحذف الملفات. قد يتحكم PreToolUse في استدعاءات الأدوات المطابقة، لكن تعبير بادئات SQL النمطي ليس تفويض قاعدة بيانات، ولا يغطي matcher خاص بـ Postgres أدوات Slack أو الملفات. استخدم أذونات الخدمات والملفات الفعلية أولًا، واختبر نطاق hook المحدد مستقلًا.

ليست قائمة حظر بادئات SQL حد إذن للقراءة فقط؛ فهي لا تغطي SQL بالأحرف الصغيرة أو التعليقات أو UPDATE وINSERT وALTER أو الجمل المتعددة والدوال ذات الآثار الجانبية. امنح اتصال القاعدة دورًا منفصلًا بأذونات قراءة فقط وتحقق منها في قاعدة اختبار قابلة للتخلص منها. الـ hook تحكم إضافي لاستدعاء الأداة، وليس بديلًا لتلك الأذونات.

هذا مثال حجر محدود عمدًا: امنع كل الاستدعاءات عبر عائلات خوادم MCP الثلاث المسماة حتى مراجعة سياسة أدق واختبارها. يمنع القراءات والكتابات معًا. طابق أسماء خوادمك وأدواتك الفعلية؛ فالخادم المعاد تسميته وBash المدمج والموصل الآخر خارج الأنماط.

ضع القواعد المستقلة التالية في .claude/settings.json:

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "mcp__postgres__.*",
        "hooks": [{"type": "command", "command": "bash \"$CLAUDE_PROJECT_DIR/.claude/hooks/deny-unapproved-mcp.sh\""}]
      },
      {
        "matcher": "mcp__slack__.*",
        "hooks": [{"type": "command", "command": "bash \"$CLAUDE_PROJECT_DIR/.claude/hooks/deny-unapproved-mcp.sh\""}]
      },
      {
        "matcher": "mcp__filesystem__.*",
        "hooks": [{"type": "command", "command": "bash \"$CLAUDE_PROJECT_DIR/.claude/hooks/deny-unapproved-mcp.sh\""}]
      }
    ]
  }
}

احفظ النص باسم .claude/hooks/deny-unapproved-mcp.sh. يعيد عقد قرار PreToolUse الموثق، وليس صيغة decision: approve/block القديمة في المستوى الأعلى:

#!/bin/bash
printf '%s\n' '{"hookSpecificOutput":{"hookEventName":"PreToolUse","permissionDecision":"deny","permissionDecisionReason":"This MCP server family is quarantined pending a reviewed policy."}}'

لا يحلل النص SQL أو يصنفه؛ بل يرفض الاستدعاء المطابق دائمًا. افحص المطابقة ونتيجة hook في جلسة معزولة قبل توصيل بيانات قيمة: يجب رفض SELECT 1 وdelete الصغيرة وUPDATE المسبوقة بتعليق وأداة قراءة أو إرسال Slack وقراءة .env عبر Filesystem، متى طابقت أسماء أدواتها. يجب أن تبقى أداة عائلة أخرى خارج المثال؛ تحقق من هذا الحد المستقل صراحة.

لعمل قاعدة بيانات للقراءة فقط، استخدم أذونات قاعدة متحققًا منها واستبدل الحجر بسياسة مراجعة للأدوات الفعلية. لـ Slack، استخدم اعتمادًا بلا إرسال عندما تلزم القراءة فقط. وللملفات، قيّد جذور الخادم المسموحة وأذونات نظام ملفات العملية. لا تدّع منع hook الوصول عبر أدوات أخرى أو أوامر صدفة أو مرفقات الطلب أو ملف سياسة يستطيع الوكيل تحريره.

يتناول دليل Plan Mode في Claude Code النهج نفسه بمزيد من التفصيل، إذ يتضمن منطقاً مشابهاً لـ «التحقق قبل التنفيذ».

ماذا تفعل إذا كان لديك أكثر من 40 أداة وأصبح Claude مرتبكاً؟

النقاط الرئيسية

يمكن أن تعني سبعة خوادم بسهولة وجود 50–100 أداة. يستخدم Claude Code ميزة Tool Search افتراضياً: عند بدء التشغيل، لا يدخل السياق سوى أسماء الأدوات وتعليمات الخوادم، ويحمّل Claude الوصف الكامل عندما يحتاج إلى أداة. إذا كان البحث متوقفاً، تُحمّل جميع الأوصاف دفعة واحدة، وبعد نحو 40 أداة يبدأ Claude بالارتباك: فيختار الأداة الخاطئة أو يلجأ إلى MCP عندما يكفي أمر عادي.

ووفقاً لـ وثائق Claude Code، فهي مفعّلة الآن افتراضياً ولا تحتاج إلى تشغيلها يدوياً.

الحالات الاستثنائية التي يحمّل فيها Claude Code جميع الأدوات فوراً: العمل عبر وكيل وسيط تابع لجهة خارجية (عند تعيين ANTHROPIC_BASE_URL إلى عنوان غير تابع لـ Anthropic)، والنماذج الأقدم من الجيل 4.5 في Google Cloud، وعمليات النشر Microsoft Foundry على Azure. يغيّر المتغير ENABLE_TOOL_SEARCH السلوك كما يلي:

  • غير مضبوط — تُؤجّل جميع أدوات MCP وتُحمّل عند الحاجة.
  • true — السلوك نفسه، بالإضافة إلى محاولة Claude Code تفعيل البحث عبر وكيل وسيط.
  • auto — وضع العتبة: ما دامت أوصاف الأدوات كلها تشغل أقل من 10% من نافذة السياق، تُحمّل فوراً؛ وعند تجاوز ذلك، تُؤجّل.
  • auto:N — السلوك نفسه، لكن مع نسبة عتبة مخصصة، مثل auto:5.
  • false — السلوك القديم؛ تدخل جميع الأدوات السياق فوراً.

للأدوات المهمة التي يجب أن تظل ظاهرة دائماً، يوجد الخيار alwaysLoad: true في .mcp.json بجوار وصف الخادم. يشغل كل مورد من هذه الأدوات مساحةً من السياق منذ الدقيقة الأولى، لذا استخدمه فقط للأدوات التي يحتاج إليها Claude في معظم الردود.

إذا كان لديك خمسة خوادم MCP أو أكثر وارتبك Claude بشأن الأداة التي ينبغي استدعاؤها، فتحقق أولاً من أن البحث غير معطّل: ابحث عن ENABLE_TOOL_SEARCH=false في الإعدادات وتحقق مما إذا كنت تعمل عبر وكيل وسيط.

قد يفيدك أيضاً تقليل السياق باستخدام /compact.

متى لا تحتاج إلى MCP: هل Skill أو Subagent أو CLI أفضل؟

النقاط الرئيسية

MCP هو أغلى طريقة لمنح Claude قدرات خارجية من حيث الرموز. إذا أمكن تنفيذ المهمة باستخدام أداة CLI جاهزة (gh issue list أو psql أو curl) أو skill من صفحة واحدة، فاستخدمها بدلاً من إنشاء خوادم MCP. القاعدة: لا يكون MCP مبرراً إلا عندما يحتاج الذكاء الاصطناعي إلى تواصل ثنائي الاتجاه ومباشر مع خدمة، لا إلى رد لمرة واحدة.

الترتيب بحسب تكلفة الرموز والتعقيد:

  1. أمر CLI عبر Bash — تكلفته شبه معدومة. يشغّل الذكاء الاصطناعي gh pr list أو psql -c أو curl ويحصل على رد كما لو كان مستخدم طرفية عادياً.
  2. Skill — منخفضة التكلفة. قالب طلب توجيهي جاهز، يتضمن تعليمات حول ما ينبغي استدعاؤه وكيفية معالجة النتيجة. يُحمّل بناءً على مُشغّل في اسم المجلد.
  3. Subagent — متوسطة. سياق مستقل لمهمة طويلة، مع جلسة رموز خاصة به.
  4. خادم MCP — مرتفعة. لا تبقى أسماء الأدوات إلا في السياق، لكن يُحمّل وصف الأداة عندما يعثر عليها Claude قبل الاستدعاء، وقد تكون ردود الخدمات كبيرة؛ إذ يحذّر Claude Code عندما يتجاوز رد الأداة 10,000 رمز. ويضاف إلى ذلك اتصال OAuth عبر HTTP.

نصيحة قد تبدو غير متوقعة: لتحليل صفحات الويب والعمل مع git وفتح ملفات PDF واستخدام أدوات مفتوحة المصدر، اختر CLI لا MCP. يستطيع الذكاء الاصطناعي استدعاء أوامر الطرفية تماماً كما يفعل الإنسان، ولا تُستهلك الرموز إلا في الأمر وردّه، من دون أوصاف للأدوات أو عبء الخادم.

يكون MCP مبرراً في حالتين:

  • إذا كانت الخدمة مغلقة: Slack وNotion وSentry وLinear. تتوفر أدوات CLI أيضاً، لكن MCP يتيح وصولاً أدق عبر OAuth وعناصر التحكم في النطاقات.
  • عند الحاجة إلى تواصل ثنائي الاتجاه ومباشر: يتصل الذكاء الاصطناعي بـ Postgres، ويفحص المخطط، ويطرح استعلاماً لاحقاً، ويحصل على البيانات، ثم يتخذ الخطوة التالية. أما عبر CLI، فسيستلزم ذلك 10 أوامر يدوية.

6 أنماط مضادة لاتصالات MCP

النقاط الرئيسية

ستة أخطاء محددة يقع فيها من يستخدمون vibe coding خلال أسابيعهم الأولى مع MCP. يمكن إصلاح كل نمط مضاد في دقيقة: افتح claude mcp list، وراجع القائمة، وتحقق من النطاقات والخطافات. تُحل معظم المشكلات بإزالة خادم غير ضروري، لا بإضافة خادم جديد؛ وهذا القسم قائمة تحقق قصيرة لمراجعتها من البداية إلى النهاية.

  1. تكديس خوادم MCP. ربطت 10 خوادم «للاحتياط»؛ فأصبح Claude مرتبكاً بشأن الأداة التي ينبغي استدعاؤها، وازدحمت نافذة السياق بردودها. الحل: احتفظ بـ 3–5 خوادم للمشروع الحالي، وأزل البقية باستخدام claude mcp remove.

  2. صلاحية الكتابة إلى قاعدة بيانات إنتاج. ربطت Postgres MCP بقاعدة بيانات إنتاج دون --readonly أو مستخدم منفصل أو خطاف لقائمة السماح. يكفي طلب توجيهي واحد — «احذف سجلات الاختبار» — لحذف بيانات الإنتاج. الحل: دور قاعدة بيانات مستقل بأذونات قراءة متحقق منها، ووضع القراءة فقط للخادم حيث ينطبق، وضوابط استدعاء أدوات مختبرة. قائمة حظر بادئات DROP|TRUNCATE|DELETE ليست تفويضًا كافيًا.

  3. بيانات شخصية دون إخفاء الهوية. ربطت مباشرةً قاعدة بيانات تحتوي على عناوين البريد الإلكتروني للعملاء وأرقام هواتفهم وبيانات جوازات سفرهم. يرى Claude هذه البيانات، وينتهي بها الأمر في سجلات Anthropic. الحل: استخدم VIEW أو مساراً وسيطاً لواجهة API يعيد بيانات مقنّعة مثل j***@gmail.com.

  4. استخدام MCP بدلاً من skill. تحتاج إلى «إعداد تقرير مبيعات بالتنسيق X»، وهي مهمة روتينية تحلها skill ذات طلب توجيهي جاهز. لا تنشئ خادم MCP.

  5. استخدام MCP بدلاً من أداة CLI مفتوحة المصدر. تريد تحويل ملف PDF إلى نص. توجد أداة pdftotext. لا تنشئ «PDF MCP»؛ فهو يهدر الرموز فحسب.

  6. عدم تتبع تكلفة الرموز. يمكنك رؤية الخادم المتصل في claude mcp list، لكنك لا تعرف مقدار ما يستخدمه في كل محادثة. وبعد أسبوع لن تدرك أن «MCP استهلك 40% من السياق، وكنت أدفع مقابل ذلك طوال الوقت». الحل: عطّل الخوادم غير المستخدمة دورياً، وراقب تغير الاستخدام عبر تتبع حدود استخدام Claude Code.

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

النقاط الرئيسية

أكثر المشكلات شيوعاً: تعذّر عمل معاودة الاتصال OAuth، أو تعارض اسم الخادم مع خادم موجود، أو عدم ظهور الأداة في claude mcp list بعد add. تحل دورة استكشاف الأخطاء القياسية هذه المشكلات: يعرض list ما تم توصيله، ويتحقق status من مؤشر الحالة، وإذا كان أحمر يعرض logs تتبعاً للمكدس. بعد تعديل --scope أو متغير ENV، أعد تشغيل كل شيء.

قائمة تحقق خطوة بخطوة:

  1. هل يظهر الخادم في القائمة؟

    claude mcp list
    

    إذا لم يظهر، فهذا يعني أن claude mcp add لم يكتمل. والسبب الأكثر شيوعاً هو --scope: أضفته إلى local بينما تتحقق منه في مشروع آخر.

  2. هل حالة الخادم خضراء؟

    claude mcp status <name>
    

    اللون الأحمر يعني أن العملية لم تبدأ (في stdio) أو أن الخادم لم يستجب (في HTTP).

  3. هل تحتوي سجلات الخادم على معلومات مفيدة؟

    claude mcp logs <name>
    

    إذا رأيت تتبعاً للمكدس، فعادةً ما تكون المشكلة في الحزمة (npx لم يتمكن من العثور عليها، أو أن إصدار Node أقدم من 20).

  4. هل لا تعود معاودة الاتصال OAuth؟ غالباً ما تكون المشكلة في --callback-port أو في مرشح الشبكة. مرّر منفذاً محدداً:

    claude mcp add --transport http --callback-port 8765 [name] [url]
    
  5. هل يوجد تعارض في أسماء الأدوات؟ قد يوفّر خادمان أداة بالاسم نفسه، فيستدعي Claude الأداة الخطأ. استخدم Tool Search (راجع عنوان H2 السابق) أو أزل الخادم الزائد يدوياً باستخدام claude mcp remove.

  6. ألا ترى إضافات claude.ai (connectors)؟ هذه مشكلة معروفة: إضافات واجهة الويب claude.ai (connectors) غير متاحة لـ Claude Code عند استخدام مفتاح API. الحل: صِل MCP عبر CLI، لا عبر واجهة الويب.

ما الخطوة التالية: OAuth وخوادم MCP الخاصة بك وPlugin Marketplace

النقاط الرئيسية

بعد الخوادم السبعة الجاهزة، تتمثل الخطوات الثلاث التالية في إعداد OAuth لخوادم HTTP الخاصة بك (إذا أردت مشاركة MCP مع فريقك)، وكتابة MCP خاص بخدمة فريدة، والاتصال بـ Plugin Marketplace من Anthropic. أُطلق Marketplace في 9 أكتوبر 2025، ويجمع MCP في إضافات يمكن تثبيتها بأمر واحد.

يسرّع Plugin Marketplace العمل لمن لا يريد تذكّر أوامر التثبيت. يستخدم Marketplace ملف بيان بصيغة .claude-plugin/marketplace.json يصف مجموعة من الخوادم ضمن حزمة واحدة.

ثبّت إضافة من Marketplace:

claude plugin install <plugin-name>

يمكن أن تضم الإضافة عدة خوادم MCP وSkills وSubagents في آن واحد — أي إعداداً مجمّعاً لسيناريو محدد، مثل التجارة الإلكترونية أو التسويق أو الإدارة القانونية.

اكتب خادم MCP الخاص بك وفق مواصفات modelcontextprotocol.io. يستخدم القالب الأدنى SDK الخاص بـ Anthropic لـ Python أو TypeScript؛ ثم صِف الأدوات وصِل وسيلة نقل. مستوى التعقيد مشابه لكتابة REST API باستخدام FastAPI.

إذا كان مشروعك يحتوي بالفعل على CLAUDE.md مُعدّ وكنت تفهم هندسة السياق، فإضافة MCP خاص بك تستغرق يوماً. أما إذا لم تتوفر لديك هذه الأساسيات، فمن الأفضل تعلّمها أولاً.

لمتابعة العمل مع النماذج، انتقل إلى Ailoot.

المزيد من التفاصيل

أسئلة شائعة

هل يجعل هذا hook وصول قاعدة الإنتاج للقراءة فقط؟

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

كيف أختبر نطاق hook؟

في جلسة معزولة، تحقق من رفض أسماء الأدوات المطابقة للقراءة والكتابة معًا، بما فيها SQL بأحرف صغيرة أو مسبوقة بتعليق. ثم افحص بقاء أداة غير مرتبطة خارج matcher؛ فالمسار غير المغطى يحتاج إلى أذوناته أو سياسته.

جميع المقالات