ربط Claude بالأدوات والوكلاء المحليين عبر MCP
تريد أن يكون Claude هو العقل وأن يوفّر جهازك الأيدي — قراءة ملفاتك، الاستعلام من قاعدة بياناتك، تشغيل سكربتك، بل وحتى استدعاء نموذج محلي أو وكيل محلي، كل ذلك دون أن تغادر بياناتك حاسوبك المحمول. هذا التآزر يمتلك بالفعل معيارًا قياسيًا: بروتوكول Model Context Protocol (MCP). في جملة واحدة: MCP هو معيار مفتوح يتيح لعميل ذكاء اصطناعي استدعاء أدوات وبيانات خارجية عبر برامج صغيرة تُسمّى خوادم MCP — وهذه الخوادم يمكن أن تعمل بخصوصية ومحليًا على جهازك الخاص. توضّح هذه الصفحة ما هو MCP، وكيف تتلاءم البنية المحلية معًا، وكيف تُضيف خادمًا محليًا إلى Claude، وكيف تبني خادمًا صغيرًا خاصًا بك.
- اشرح MCP في جملة واحدة — معيار مفتوح يتيح لعميل ذكاء اصطناعي استدعاء أدوات وبيانات خارجية عبر خوادم MCP
- تعرّف على البنية المحلية: عميل MCP (Claude Code / Claude Desktop) يتحدث إلى خادم MCP محلي عبر stdio
- افهم لماذا يمثّل هذا تآزر Claude-كعقل + القدرات المحلية الذي تريده
- أضف خادم MCP محلي إلى Claude بأمر واحد
- ابنِ خادم MCP صغيرًا يعرض أداة واحدة
- اعرف حدود الثقة — تعمل خوادم MCP بصلاحياتك أنت، لذا لا تُثبّت إلا ما تثق به
ما هو MCP (في جملة واحدة)
MCP هو معيار مفتوح لربط تطبيقات الذكاء الاصطناعي بالأنظمة الخارجية. يتحدث عميل ذكاء اصطناعي (مثل Claude) ببروتوكول واحد؛ وأي خادم MCP يتحدث به يمكنه الاتصال وتقديم قدرات جديدة للعميل. القياس الرسمي هو منفذ USB-C للذكاء الاصطناعي: بدلًا من تكامل مخصّص لكل أداة، تبني نحو موصّل واحد فيعمل في كل مكان.
قدّمت Anthropic بروتوكول MCP وجعلته مفتوح المصدر، ومنذ اليوم الأول جاء مصحوبًا بـ دعم خادم MCP المحلي كي يتمكن Claude من الاتصال بالأنظمة الداخلية ومجموعات البيانات التي تعمل على جهازك الخاص.
يمكن لخادم MCP أن يعرض ثلاثة أنواع من الأشياء للعميل:
- الأدوات (Tools) — إجراءات يمكن للنموذج استدعاؤها (قراءة ملف، تشغيل استعلام، استدعاء API). لها الشكل نفسه لـ استخدام الأدوات الأصلي في النموذج: قدرة مُسمّاة بمدخلات محدَّدة الأنواع.
- الموارد (Resources) — بيانات يمكن للعميل قراءتها (ملفات، سجلات، مستندات).
- المطالبات (Prompts) — قوالب مطالبات قابلة لإعادة الاستخدام والتخصيص يقدّمها الخادم.
بالنسبة لهذه الصفحة، العنوان الأبرز هو الأدوات: خادم MCP محلي هو الطريقة التي تمنح بها Claude قدرة جديدة وخاصة.
لماذا هذا هو التآزر الذي تريده
ما يقصده الناس بعبارة "Claude كالعقل، وحاسوبي كالجسد" هو تحديدًا التقسيم بين عميل/خادم في MCP:
- Claude هو المنسّق. يقرأ هدفك، ويقرر أي أداة يستدعي، ويستدعيها، ويقرأ النتيجة، ويقرر الخطوة التالية.
- خوادم MCP المحلية هي القدرات. كل واحد منها برنامج صغير تُشغّله أنت على جهازك أنت: خادم نظام ملفات، خادم قاعدة بيانات، غلاف حول سكربت محلي، بل وحتى خادم يستدعي نموذجًا محليًا أو يُسلّم العمل إلى وكيل محلي.
ولأن الخادم يعمل محليًا ويتحدث إليه Claude عبر مدخلات/مخرجات جهازك القياسية، تبقى بياناتك وأفعالك على عتادك — يقوم النموذج بالتنسيق، لكن قراءات الملفات، وأوامر SQL، وتنفيذ السكربت تحدث محليًا. هذه هي النسخة الحافظة للخصوصية من العمل الوكيلي: العقل في السحابة (أو محليًا أيضًا)، والأيدي حصرًا على جهازك.
ولأن MCP هو معيار مفتوح واحد مُتبنّى عبر عملاء كثيرين، فإن الخادم الذي تبنيه ليس مقيّدًا بتطبيق واحد. الخادم المحلي نفسه الذي تربطه بـ Claude Code يمكن أن يستخدمه عملاء آخرون يتحدثون MCP — ابنِ مرة واحدة، وأعد الاستخدام في كل مكان.
البنية المحلية
أصغر صورة مفيدة تتكون من جزأين وقناة واحدة:
- عميل MCP (المضيف). تطبيق الذكاء الاصطناعي — مثل Claude Code أو Claude Desktop. يحتوي على النموذج ويقرر أي الأدوات يستدعي.
- خادم MCP. عملية منفصلة تُعلن عن الأدوات/الموارد/المطالبات وتنفّذها عند الطلب.
- النقل (Transport). بالنسبة للخوادم المحلية، يُشغّل العميل الخادم كعملية فرعية ويتحادثان عبر stdio (المدخلات/المخرجات القياسية) باستخدام رسائل JSON-RPC. لا شبكة، لا منفذ — مجرد أنبوب محلي بين عمليتين على جهازك. (توجد أيضًا خوادم بعيدة، عبر HTTP؛ لكن هذه الصفحة تتناول الحالة المحلية عبر stdio.)
┌─────────────────────────┐ stdio (JSON-RPC) ┌──────────────────────────┐
│ MCP CLIENT / HOST │ ──── launches as subprocess ──▶ │ LOCAL MCP SERVER │
│ Claude Code / Desktop │ ◀── tools/resources/prompts ─── │ filesystem · db · script │
│ (the model = the brain) │ │ · local model / agent │
└─────────────────────────┘ └──────────────────────────┘
runs on YOUR machine, YOUR data
لا يلمس النموذج قرصك مباشرة أبدًا — بل يطلب من الخادم المحلي، والخادم (الذي يعمل بصلاحياتك) يقوم بالعمل ويعيد النتيجة.
أضف خادم MCP محلي إلى Claude
أسرع طريق هو أمر claude mcp add في Claude Code، الذي يسجّل خادمًا سيُشغّله العميل عبر stdio. الشكل العام هو اسم، ثم الأمر الذي يبدأ الخادم.
- ابدأ بخادم مرجعي رسمي (مثل خادم نظام الملفات) كي يكون السلوك معروفًا. تحتفظ Anthropic بمجموعة من خوادم MCP المرجعية التي يمكنك تشغيلها محليًا — نظام الملفات، وgit، والذاكرة، وfetch، والمزيد.
- استخدم `claude mcp add <name> -- <command...>`. الجزء الذي يلي `--` هو تحديدًا الأمر الذي سيشغّله Claude Code لبدء الخادم كعملية فرعية محلية؛ ويتحدث إليه عبر stdio.
- شغّل `claude mcp list` لرؤية الخوادم المسجّلة، ثم ابدأ جلسة واسأل Claude عن الأدوات التي أصبحت لديه الآن. يجب أن تظهر أدوات الخادم كقدرات قابلة للاستدعاء.
- أعطِ Claude هدفًا يحتاج إلى القدرة الجديدة ("اقرأ الملفات ضمن ./notes ولخّصها"). يستدعي Claude أدوات الخادم؛ ويحدث العمل محليًا.
أبسط أمر claude mcp add لخادم نظام ملفات محلي (كل ما يلي -- هو أمر التشغيل):
Add a local filesystem MCP server to Claude Code
claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem /path/to/allowed/dir
إن كنت تفضّل تحرير الإعداد مباشرة، فيُعرَّف خادم stdio بالأمر الذي يشغّله. الشكل يبدو هكذا:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/dir"]
}
}
}
ابنِ خادم MCP صغيرًا
الخادم هو مجرد برنامج يستخدم إحدى حِزم SDK الخاصة بـ MCP، ويعلن عن أداة، ويبدأ نقل stdio. إليك الفكرة كاملة بلغة TypeScript — أداة واحدة تجمع رقمين (بدّل الجسم بـ "شغّل سكربتي"، "استعلم من قاعدة بياناتي"، "استدعِ نموذجي المحلي"):
npm install @modelcontextprotocol/sdk zod
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-local-tools", version: "0.1.0" });
// Declare ONE tool. Inputs are typed; the body runs locally with your privileges.
server.registerTool(
"add",
{
description: "Add two numbers",
inputSchema: { a: z.number(), b: z.number() },
},
async ({ a, b }) => ({
content: [{ type: "text", text: String(a + b) }],
}),
);
// Talk to the client over stdio — this is what makes it a LOCAL server.
await server.connect(new StdioServerTransport());
سجّله لدى Claude تمامًا مثل أي خادم stdio آخر — وجّه أمر التشغيل نحو ملفك:
Add your own local server to Claude Code
claude mcp add my-local-tools -- node /abs/path/to/server.js
هذه هي الحلقة الكاملة: يرى Claude (العقل) أداة جديدة، ويستدعيها عند الحاجة، وتعمل شفرتك (الأيدي) محليًا وتعيد النتيجة. ولأنه يتحدث بالبروتوكول المفتوح نفسه، يعمل هذا الخادم أيضًا في عملاء MCP آخرين دون أي تغيير.
- تعمل خوادم MCP بصلاحياتك ويمكنها اتخاذ إجراءات حقيقية — لا تُثبّت إلا خوادم تثق بها، وانتبه لحقن المطالبات (prompt-injection) عبر نتائج الأدوات.
اختبر نفسك
اختبر نفسك
0/4- MCP معيار مفتوح كي يتمكن عميل ذكاء اصطناعي من استدعاء أدوات وبيانات خارجية عبر خوادم MCP — قدّمته Anthropic مع دعم الخادم المحلي منذ البداية.
- البنية المحلية بسيطة: يشغّل عميل MCP (Claude Code / Desktop) خادم MCP محليًا كعملية فرعية ويتحدث إليه عبر stdio — وتبقى بياناتك على جهازك.
- هذا هو تآزر Claude-كعقل + القدرات المحلية: ينسّق Claude؛ وتوفّر الخوادم المحلية (نظام الملفات، قاعدة البيانات، سكربت، بل وحتى نموذج أو وكيل محلي) الأيدي.
- أضف خادمًا بأمر واحد (claude mcp add ... -- <launch command>)؛ وابنِ واحدًا بإحدى حِزم SDK لـ MCP عبر تسجيل أداة وربط نقل stdio.
- MCP مُتبنّى على نطاق واسع، لذا يعمل الخادم المحلي الذي تبنيه عبر عملاء كثيرين — ابنِ مرة واحدة، وأعد الاستخدام في كل مكان.
- تتصرف الخوادم بصلاحياتك: ثبّت فقط ما تثق به وعامل نتائج الأدوات كناقل محتمل لحقن المطالبات.
التالي
- استخدم MCP من الطرفية يومًا بيوم ← Claude Code: MCP
- ما هو المنسّق ← ما هو Claude Code
- شكل استدعاء الأدوات الذي تتبعه أدوات MCP ← استخدام الأدوات
- شغّل النموذج أو الوكيل المحلي الذي يمكن للخادم أن يغلّفه ← الوكلاء المحليون للذكاء الاصطناعي