بروتوكول سياق النموذج (MCP) هو معيار مفتوح يتيح للنماذج مثل Claude من Anthropic وأدوات المطورين مثل Claude Code استدعاء أدوات خارجية ومصادر بيانات ومحفزات بطريقة آمنة وقياسية.
سيرشدك هذا الدليل خلال بناء خادم MCP خاص بك من الصفر، لتمكين Claude Code من الوصول إلى ميزات مخصصة وبالتالي توسيع وظائفه كثيرًا بما يتجاوز ميزاته المدمجة.
ما هو بروتوكول سياق النموذج (MCP)؟
MCP (Model Context Protocol) هو مواصفة مفتوحة تهدف إلى توحيد كيفية اتصال عملاء النماذج اللغوية (مثل Claude، Claude Code، أو واجهات LLM الأخرى) بخوادم الأدوات ومصادر البيانات. فكّر في MCP كأنه “منفذ USB‑C للـ LLMs”: فهو يعرّف مخطط النقل/JSON‑RPC وطريقةً مشتركةً لنشر الخوادم ثلاثة أنواع من القدرات:
- الموارد — بيانات شبيهة بالملفات أو الوثائق يمكن للعميل قراءتها (مثل صف في قاعدة بيانات، ملف نصي، حمولة JSON).
- الأدوات — دوال قابلة للاستدعاء يمكن للنموذج أن يطلب من المضيف تنفيذها (بموافقة المستخدم).
- المحفزات — قوالب محفزات أو مسارات عمل قابلة لإعادة الاستخدام يمكن للنموذج/العميل استدعاؤها.
يدعم MCP عدة وسائل نقل (stdio، HTTP، SSE) ويوفر مخططًا، ومجموعات SDK، وخوادم أمثلة حتى لا تحتاج إلى ابتكار صيغة النقل بنفسك. يُدار البروتوكول علنًا (المواصفة + SDKs) ويوجد له دروس ومعرض خوادم أمثلة لتسريع تبنيه.
كيف تُصمَّم بنية MCP؟
بنية MCP بسيطة ومعيارية عمدًا: المكونات الأساسية هي خوادم MCP، عملاء MCP، ووسائل النقل التي تنقل رسائل مؤطرة بـ JSON‑RPC بينهما. فيما يلي العناصر الرئيسية التي ستتعامل معها عند بناء خادم لـ Claude Code (أو عملاء MCP الآخرين).
الخادم والعميل والبروتوكول
- خادم MCP — خدمة تقوم بـنشر الأدوات والموارد والمحفزات. يمكن للأدوات تنفيذ عمليات ذات تأثيرات جانبية أو جلب البيانات؛ وتعرض الموارد محتوى للقراءة فقط؛ وتعد المحفزات قوالب قابلة لإعادة الاستخدام يمكن للعميل أن يطلب من النموذج الاستفادة منها للتوليد.
- عميل MCP (المضيف) — يكون عادةً جزءًا من مضيف الـ LLM (مثل Claude Code، إضافة VS Code، أو عميل متصفح). يكتشف الخوادم المتاحة، ويعرض أوصاف الأدوات للنموذج، ويوجه الاستدعاءات التي يطلقها النموذج إلى الخوادم.
- البروتوكول — تُشفَّر الرسائل بصيغة JSON‑RPC؛ وتعرّف المواصفة أحداث دورة الحياة، واكتشاف الأدوات، والاستدعاء، والاكتمال/أخذ العينات، وكيف تُنقل النتائج المُهيكلة مرة أخرى إلى العميل والنموذج.
نمط التواصل (ما الذي يحدث عند استخدام أداة)
- يرسل العميل رسالة المستخدم إلى النموذج.
- يحلل النموذج السياق ويقرر استدعاء أداة مكشوفة عبر MCP (أو عدة أدوات).
- يمرّر العميل استدعاء الأداة إلى خادم MCP عبر وسيلة النقل المختارة.
- ينفذ الخادم الأداة ويعيد النتائج.
- يستلم النموذج مخرجات الأداة ويؤلف الإجابة النهائية للمستخدم.
اللبنات الأساسية للتنفيذ
- تتبع رسائل JSON‑RPC مخطط MCP.
- تُنشَر تعريفات الأدوات في استجابات الاكتشاف الخاصة بالخادم حتى يتمكن العملاء من عرضها في واجهة المستخدم.
- تُشار الموارد بواسطة صياغة
@source:pathمن قبل العملاء (مثل@postgres:...)، ما يتيح للنماذج الإشارة إلى محتوى خارجي دون تضمين كميات كبيرة من البيانات داخل المُحفِّز.
لماذا ندمج Claude Code مع خوادم MCP؟
Claude Code هو عرض Anthropic المُركَّز على سير عمل البرمجة والمطورين (تكامل المحرر/الـ IDE، فهم الشيفرة، إلخ). يتيح كشف أدواتك الداخلية (بحث المصدر، مشغّل CI، نظام التذاكر، السجلات الخاصة) عبر خوادم MCP لـ Claude Code استدعاءها كـ أدوات من الدرجة الأولى داخل محادثات البرمجة وتدفّقات الوكيل.
يسمح دمج Claude Code مع خوادم MCP بقدرات عملية وذات صلة بالإنتاج لوكيل البرمجة:
1. دع النموذج يعمل على أنظمة حقيقية
يمكن لـ Claude Code أن يطلب من خادم MCP استعلام متتبعات القضايا، تشغيل استعلامات قواعد البيانات، قراءة مستندات كبيرة، أو إنشاء طلبات سحب على GitHub — مما يمكّن الأتمتة من طرف إلى طرف ضمن جلسة البرمجة. هذا مدعوم صراحةً في وثائق Claude Code (أمثلة: الاستعلام عن Postgres، Sentry، أو إنشاء PRs).
2. تفريغ البيانات الكبيرة والمنطق المتخصص
بدلاً من تضمين كل مصدر بيانات في المُحفِّز (مما يستهلك الرموز)، تنشر البيانات والأدوات عبر MCP. يستدعي النموذج الأداة، ويحصل على استجابة مُهيكلة، ويتعامل معها — ما يقلل استخدام الرموز ويسمح للخوادم بالتعامل مع الأعمال الثقيلة (استعلامات قواعد البيانات، قراءة الملفات الطويلة، المصادقة).
3. الأمان والحوكمة
يمركز MCP التحكّم في الوصول والتدقيق على طبقة الخادم، مما يتيح للمؤسسات إدراج الخوادم الموثوقة في قائمة السماح، والتحكم في الأدوات المتاحة، وتقييد المخرجات. يدعم Claude Code أيضًا إعداد MCP للمؤسسات وموافقة حسب النطاق.
4. إعادة الاستخدام والنظام البيئي
خوادم MCP قابلة لإعادة الاستخدام عبر العملاء والفرق. ابنِ مرة واحدة ويمكن لعديد من عملاء Claude/LLM استخدام الخدمات نفسها (أو تبديل التنفيذات).
ما الذي تحتاجه قبل أن تبدأ؟
المتطلبات الدنيا
- جهاز تطوير يحتوي على Python 3.10+ (سنستخدم Python في المثال). بدلاً من ذلك تُدعم Node / لغات أخرى عبر SDKs الخاصة بـ MCP.
uv(أداة Astral) أو ما يعادلها لتشغيل خوادم MCP عبر stdio (يستخدم درس MCP أداةuv). خطوات التثبيت موضحة أدناه.- تثبيت Claude Code أو الوصول إلى عميل Claude (سطح المكتب أو CLI) لتسجيل واختبار خادمك؛ أو أي عميل يدعم MCP. يدعم Claude Code HTTP وSSE وخوادم stdio المحلية.
- ملاحظة أمنية: أضف فقط خوادم MCP موثوقة إلى Claude Code في إعدادات الفريق أو المؤسسة — يمنح MCP الخوادم وصولًا إلى بيانات حساسة، وهناك مخاطر حقن محفزات إذا أعاد خادم محتوىً ضارًا.
كيفية تثبيت والتحقق من CLI الخاص بـ Claude Code
هذا هو Claude Code Installation and Usage Guide.
1) ملخص سريع — طرق التثبيت الموصى بها
استخدم المثبّت الأصلي (موصى به) أو Homebrew على macOS/Linux. يتوفر NPM إذا كنت بحاجة إلى تثبيت قائم على Node. Windows لديه مثبتات PowerShell / CMD. المصدر: وثائق Claude Code الرسمية وGitHub.
2) المتطلبات الأساسية
- macOS 10.15+، Ubuntu 20.04+/Debian 10+، أو Windows 10+ (يوصى بـ WSL على Windows).
- Node.js 18+ مطلوب فقط لطريقة التثبيت عبر NPM.
3) أوامر التثبيت (اختر واحدة)
التثبيت الأصلي (موصى به — دون اعتماد على Node)، macOS / Linux / WSL:
curl -fsSL https://claude.ai/install.sh | bash
# optional: install latest explicitly
curl -fsSL https://claude.ai/install.sh | bash -s latest
# or install a specific version
curl -fsSL https://claude.ai/install.sh | bash -s 1.0.58
PowerShell على Windows:
irm https://claude.ai/install.ps1 | iex
# or for latest: & (::Create((irm https://claude.ai/install.ps1))) latest
(هذه هي سكربتات المثبّت الأصلي الرسمية).
NPM (إذا أردت تثبيتًا عالميًا قائمًا على Node):
# requires Node.js 18+
npm install -g @anthropic-ai/claude-code
لا تستخدم sudo npm install -g — التحذير من تثبيتات sudo العالمية (مشكلات الأذونات/الأمان). إذا واجهت أخطاء أذونات، استخدم nvm أو أصلح بادئة التثبيت العالمي لـ npm بدلًا من استخدام sudo.
4) التحقق من تثبيت البرنامج التنفيذي (فحوصات أساسية)
شغّل هذه محليًا فور التثبيت:
# is the command on PATH?
which claude
# version (or -v)
claude --version
# or
claude -v
# help (sanity check)
claude --help
المتوقع: يُظهر which مسارًا (مثل /usr/local/bin/claude أو ~/.nvm/.../bin/claude) ويطبع claude --version سلسلةً على نمط semver. تُظهر الوثائق وREADME أن claude هو نقطة الدخول الأساسية للـ CLI.
5) التحقق من صحة التثبيت والإعداد (فحوصات موصى بها)
a) claude doctor، شغّل:
claude doctor
يفحص هذا التشخيص المدمج نوع تثبيتك، والمشكلات الشائعة (مثل مشكلات أذونات npm)، والاعتمادات مثل ripgrep، ويقترح إصلاحات. توصي الوثائق صراحةً بتشغيل claude doctor بعد التثبيت.
b) شغّل اختبارًا مبسطًا (غير تفاعلي)
من دليل مشروعك:
cd /path/to/your/project
claude -p "Explain this project in 3 sentences"
يستخدم هذا وضع الطباعة (-p) لإرسال مُحفِّز واحد ثم الخروج؛ مناسب لـ CI أو فحوصات سريعة وظيفية.
c) التحقق من المصادقة (تأكد أن CLI يمكنه الوصول إلى Anthropic)
يدعم Claude Code عدة تدفقات مصادقة (OAuth عبر وحدة التحكم، مفتاح API، تكاملات مزوّدين). فحوصات شائعة:
- إذا كنت تستخدم مفتاح API (CI / دون واجهة / متغير بيئي محلي):
export ANTHROPIC_API_KEY="sk-..."
# then
claude auth status
claude auth whoami # or `claude auth whoami` / `claude whoami` depending on version
يمكنك استخدام مفتاح واجهة CometAPI لاستخدام Claude Code، استخدام واجهة Claude عبر CometAPI سيمنحك خصمًا بنسبة 20%.
- إذا استخدمت OAuth عبر وحدة التحكم — شغّل:
claude auth status
claude auth whoami
يجب أن ترى معلومات الحساب/الخطة أو تأكيدًا بأنك مصادق.
إعداد البيئة خطوة بخطوة
فيما يلي خطوات ملموسة لإعداد مجموعتي مطورين شائعتين (TypeScript وPython)، متبوعة بفحوصات سريعة للتأكد من أن كل شيء يعمل.
H3 — A. الإعداد TypeScript / Node (أسرع مسار)
- أنشئ مشروعًا وثبّت الـ SDK:
mkdir mcp-demo && cd mcp-demo
npm init -y
npm install @modelcontextprotocol/sdk express zod
npm install --save-dev typescript tsx @types/node @types/express
- أنشئ ملف
server.ts. (نوفّر مثالًا كاملًا في قسم “كيفية البناء السريع…”). - شغّل:
npx -y tsx server.ts
- اختبر محليًا باستخدام MCP Inspector أو أضِف إلى Claude Code:
npx @modelcontextprotocol/inspector
# or (for Claude Code)
claude mcp add --transport http my-server http://localhost:3000/mcp
تتيح لك أوامر Inspector وClaude التحقق من الاكتشاف واستدعاء الأدوات.
كيفية بناء خادم MCP سريعًا لـ Claude Code؟
قائمة تحقق سريعة
-
ابدأ خادمك (يوصى بـ Streamable HTTP):
node server.tsأوuvicorn server:app. -
من جهاز التطوير لديك، إمّا:
- استخدم MCP Inspector للتحقق (
npx @modelcontextprotocol/inspector) والتأكد منtools/listوresources/list؛ أو - أضِف الخادم إلى Claude Code:
claude mcp add --transport http <name> http://<host>:<port>/mcp(أو اتبع تدفقات واجهة الويب إذا كان عميلك يدعم MCP عن بُعد).
إذا كنت تخطط لاستخدام موصل Messages API من Anthropic لـ MCP عن بُعد (دون عميلٍ منفصل)، فاقرأ وثائق Claude — قد تكون هناك حاجة إلى ترويسة بيتا (تحقق من الوثائق لمعرفة الترويسة الدقيقة وحالة الدعم الحالية).
فيما يلي مثالان كاملان لكن مضغطان للخوادم يمكنك نسخهما وتشغيلهما وربطهما بـ Claude Code (أو MCP Inspector). يستخدم مثال TypeScript إطار Express + SDK TypeScript؛ ويعرض مثال Python تركيب FastAPI.
ملاحظة: يتبع الكود أدناه أمثلة الـ SDK العامة وهو مُبسَّط عمدًا من أجل الوضوح. في الإنتاج، أضِف المصادقة، والتسجيل، وتحديد المعدل، والتحقق من المدخلات بما يتجاوز الافتراضات الافتراضية للـ SDK.
المثال 1: TypeScript + Express (Streamable HTTP)
أنشئ server.ts (كامل):
// server.ts
import express from "express";
import * as z from "zod/v4";
import { McpServer, ResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
const server = new McpServer({ name: "claude-code-demo", version: "0.1.0" });
// Register a simple tool: add two numbers
server.registerTool(
"add",
{
title: "Add",
description: "Add two numbers a and b",
inputSchema: { a: z.number(), b: z.number() },
outputSchema: { result: z.number() }
},
async ({ a, b }) => {
const output = { result: a + b };
return {
content: ,
structuredContent: output
};
}
);
// Register a resource: greet user (dynamic)
server.registerResource(
"greeting",
new ResourceTemplate("greeting://{name}", { list: undefined }),
{ title: "Greeting", description: "Return a greeting for the name" },
async (uri, params) => {
return {
contents:
};
}
);
// Express + Streamable HTTP transport
const app = express();
app.use(express.json());
app.post("/mcp", async (req, res) => {
const transport = new StreamableHTTPServerTransport({ enableJsonResponse: true });
// Close transport when connection closes
res.on("close", () => transport.close());
await server.connect(transport);
await transport.handleRequest(req, res, req.body);
});
const port = parseInt(process.env.PORT || "3000", 10);
app.listen(port, () => console.log(`MCP server listening: http://localhost:${port}/mcp`));
شغّل:
npm install
npx -y tsx server.ts
ثم اتصل عبر Claude Code (مثال):
# Add the remote server to your Claude Code MCP list (local dev)
claude mcp add --transport http my-demo http://localhost:3000/mcp
هذا المثال مُقتبس من بدء الاستخدام السريع لـ SDK TypeScript الرسمي ويُظهر كيفية تسجيل الأدوات والموارد ثم كشفها عبر Streamable HTTP.
المثال 2: Python + FastAPI (FastMCP + Streamable HTTP)
أنشئ server.py (كامل):
# server.py
from fastapi import FastAPI
from mcp.server.fastmcp import FastMCP
app = FastAPI()
mcp = FastMCP("claude-python-demo", stateless_http=True)
# tool: simple sum
@mcp.tool()
def add(a: int, b: int) -> dict:
"""Add two integers"""
return {"result": a + b}
# resource: simple greeting resource template
@mcp.resource("greeting://{name}")
def greeting(name: str):
return {"contents": }
# mount the streamable-http MCP endpoint (FastMCP exposes an ASGI app)
app.mount("/mcp", mcp.streamable_http_app())
# optional endpoint to demonstrate other API routes
@app.get("/")
async def root():
return {"status": "OK"}
شغّل:
uvicorn server:app --reload --port 8000
اتصل عبر Inspector:
npx @modelcontextprotocol/inspector
# In Inspector select Streamable HTTP and enter http://localhost:8000/mcp
تجعل أمثلة SDK لـ Python وأدوات FastMCP من السهل تسجيل الدوال المزيّنة بـ @mcp.tool() و@mcp.resource() التي يمكن للنموذج اكتشافها واستدعاؤها.
كيف يستدعي Claude Code أدواتك فعليًا؟
عندما يقرر الـ LLM استخدام أداة، يرسل العميل استدعاء JSON‑RPC إلى خادم MCP. ينفّذ الخادم الأداة المطلوبة (مثلًا، يستعلم قاعدة بيانات، يشغّل اختبارات، أو يستدعي واجهة خارجية) ويعيد محتوىً مُهيكلًا ومحتوىً قابلًا للعرض. يمكن للعميل (Claude Code) بعدئذٍ تضمين المخرجات المُهيكلة في سياق النموذج حتى يواصل النموذج الاستدلال باستخدام بيانات موثوقة — وليس مجرد مخرجات نصية للخادم. يدعم SDK TypeScript تسجيل inputSchema وoutputSchema (zod) حتى تُتحقق الوسائط والمخرجات ويُسند لها أنواع آلية.
ما أدوات الاختبار وتصحيح الأخطاء التي ينبغي استخدامها؟
MCP Inspector
يُعد MCP Inspector أداة المطوّرين المرئية الرسمية لاختبار خوادم MCP. يسمح لك بالاتصال بخادم (stdio، SSE، أو streamable‑HTTP)، وإدراج الأدوات، واستدعائها يدويًا، وفحص دورة حياة رسائل JSON‑RPC — وهو أمر لا يُقدّر بثمن أثناء التطوير. ابدأه عبر npx @modelcontextprotocol/inspector.
الاختبار المحلي مقابل البعيد
- محلي (stdio) — دورة تكرار سريعة لتطبيقات سطح المكتب وتصحيح الأخطاء دون اتصال.
- Streamable HTTP — اختبر باستخدام Inspector أو اتصل بـ Claude Code باستخدام CLI
claude mcp addأو موصل MCP في Messages API للاختبارات البعيدة. تأكد من تزويد أي ترويسات مصادقة مطلوبة لخادمك.
الخلاصة
يُعد MCP الجسر العملي بين نماذج LLM الحديثة والأنظمة التي تحتوي فعليًا على البيانات وتنفّذ الإجراءات. بالنسبة لسير عمل البرمجة، يمنح دمج Claude Code مع خادم MCP النموذج وصولًا مُهيكلًا وقابلًا للتدقيق إلى المستودعات وCI ومتتبعات القضايا وأدوات مخصصة — ما يؤدي إلى أتمتة أدق وآثار جانبية أكثر أمانًا. مع SDKs الرسمية في TypeScript وPython، وStreamable HTTP للاستضافة البعيدة، وأدوات مثل MCP Inspector، يمكنك بناء خادمٍ بسيط في دقائق ثم التكرار نحو نشر إنتاجي.
يمكن للمطورين الوصول إلى Claude Sonnet 4.5 API وClaude Opus 4.1 API وغيرها عبر CometAPI، ويتم دائمًا تحديث أحدث إصدار النموذج بما يتماشى مع الموقع الرسمي. للبدء، استكشف قدرات النموذج في Playground واطّلع على دليل الـ API للحصول على تعليمات مفصلة. قبل الوصول، تأكد من تسجيل الدخول إلى CometAPI والحصول على مفتاح الـ API. تقدّم CometAPI سعرًا أقل بكثير من السعر الرسمي لمساعدتك على الدمج.
هل أنت جاهز؟→ سجّل في CometAPI اليوم!
إذا أردت المزيد من النصائح والأدلة والأخبار حول الذكاء الاصطناعي فاتبعنا على VK، وX، وDiscord!
