ملخص سريع
بروتوكول سياق النموذج (MCP) هو معيار لربط المساعدين المدعومين بالذكاء الاصطناعي بمصادر البيانات الخارجية وواجهات برمجة التطبيقات (APIs). يسمح لـ Claude Desktop و Cursor وأدوات الذكاء الاصطناعي الأخرى بالوصول إلى واجهة برمجة التطبيقات الخاصة بك بشكل آمن. تُطبّق Modern PetstoreAPI بروتوكول MCP بحيث يمكن للمساعدين المدعومين بالذكاء الاصطناعي البحث عن الحيوانات الأليفة وتقديم الطلبات وإدارة المخزون من خلال اللغة الطبيعية.
مقدمة
تسأل Claude Desktop: "أرني القطط المتاحة بأقل من 300 دولار." يجيب Claude: "ليس لدي وصول إلى بيانات متجر الحيوانات الأليفة." تحتاج إلى النسخ/اللصق من واجهة برمجة التطبيقات الخاصة بك، مما يقطع سير عملك.
باستخدام MCP (بروتوكول سياق النموذج)، يمكن لـ Claude الوصول إلى واجهة برمجة التطبيقات الخاصة بك مباشرةً. تطرح نفس السؤال، ويقوم Claude بالاستعلام من PetstoreAPI، وتصفية النتائج، وعرض القطط المتاحة لك بأقل من 300 دولار.
تُطبّق Modern PetstoreAPI بروتوكول MCP، مما يسمح للمساعدين المدعومين بالذكاء الاصطناعي بالتفاعل مع متجر الحيوانات الأليفة من خلال اللغة الطبيعية.
إذا كنت تقوم ببناء واجهات برمجة تطبيقات لتكامل الذكاء الاصطناعي، فإن Apidog يساعدك على اختبار تطبيقات MCP والتحقق من تفاعلات المساعدين المدعومين بالذكاء الاصطناعي.
ما هو MCP؟
MCP هو بروتوكول أنشأته Anthropic لربط المساعدين المدعومين بالذكاء الاصطناعي بالموارد الخارجية.
المشكلة التي يحلها MCP
المساعدون المدعومون بالذكاء الاصطناعي أقوياء ولكنهم معزولون. لا يمكنهم:
- الوصول إلى واجهات برمجة التطبيقات الداخلية لشركتك
- الاستعلام من قاعدة بياناتك
- قراءة الملفات من نظام ملفاتك
- التفاعل مع الخدمات الخارجية
يوفر MCP طريقة قياسية للمساعدين المدعومين بالذكاء الاصطناعي للاتصال بهذه الموارد بشكل آمن.
مكونات MCP
1. خادم MCP (MCP Server) - يعرض الموارد والأدوات للمساعدين المدعومين بالذكاء الاصطناعي
2. عميل MCP (MCP Client) - مساعد ذكاء اصطناعي (Claude Desktop, Cursor, إلخ.)
3. الموارد (Resources) - البيانات التي يمكن للذكاء الاصطناعي قراءتها (ملفات، سجلات قاعدة بيانات، استجابات API)
4. الأدوات (Tools) - الإجراءات التي يمكن للذكاء الاصطناعي تنفيذها (إنشاء طلب، تحديث حيوان أليف، البحث في المخزون)
هيكلية MCP
AI Assistant (Claude Desktop)
↓ MCP Protocol
MCP Server (PetstoreAPI MCP Server)
↓ Internal APIs
PetstoreAPI Backend
↓
Database
كيف يعمل MCP
1. تسجيل الخادم
قم بتهيئة Claude Desktop للاتصال بخادم MCP:
{
"mcpServers": {
"petstore": {
"command": "node",
"args": ["/path/to/petstore-mcp-server.js"],
"env": {
"PETSTORE_API_KEY": "your-api-key"
}
}
}
}
2. اكتشاف الأدوات
يسأل المساعد المدعوم بالذكاء الاصطناعي: "ما هي الأدوات المتاحة؟"
يستجيب خادم MCP:
{
"tools": [
{
"name": "search_pets",
"description": "Search for pets by species, status, and price",
"inputSchema": {
"type": "object",
"properties": {
"species": {"type": "string", "enum": ["CAT", "DOG"]},
"maxPrice": {"type": "number"},
"status": {"type": "string", "enum": ["AVAILABLE", "ADOPTED"]}
}
}
},
{
"name": "create_order",
"description": "Place an order for a pet",
"inputSchema": {
"type": "object",
"properties": {
"petId": {"type": "string"},
"userId": {"type": "string"}
},
"required": ["petId", "userId"]
}
}
]
}
3. تنفيذ الأداة
يسأل المستخدم: "أرني القطط المتاحة بأقل من 300 دولار"
يستدعي المساعد المدعوم بالذكاء الاصطناعي:
{
"tool": "search_pets",
"arguments": {
"species": "CAT",
"status": "AVAILABLE",
"maxPrice": 300
}
}
يقوم خادم MCP بالتنفيذ:
async function search_pets({ species, status, maxPrice }) {
const response = await fetch(
`https://petstoreapi.com/v1/pets?species=${species}&status=${status}&maxPrice=${maxPrice}`
);
return await response.json();
}
يعيد النتائج إلى الذكاء الاصطناعي، الذي يقوم بتنسيقها للمستخدم.
MCP مقابل واجهات برمجة التطبيقات التقليدية
| الميزة | واجهة برمجة تطبيقات تقليدية | MCP |
|---|---|---|
| الوصول | HTTP مباشر | عبر مساعد الذكاء الاصطناعي |
| الواجهة | REST/GraphQL | اللغة الطبيعية |
| المصادقة | مفاتيح API، OAuth | خادم MCP يعالج المصادقة |
| الاكتشاف | وثائق OpenAPI | مخططات الأدوات |
| الاستخدام | رمز/curl | محادثة |
| معالجة الأخطاء | رموز حالة HTTP | الذكاء الاصطناعي يفسر الأخطاء |
مثال للمقارنة
واجهة برمجة تطبيقات تقليدية:
curl -H "Authorization: Bearer token" \
"https://petstoreapi.com/v1/pets?species=CAT&maxPrice=300"
MCP:
User: "Show me available cats under $300"
AI: [Calls search_pets tool, formats results]
"Here are 5 available cats under $300:
1. Fluffy - $250
2. Whiskers - $280
..."
كيف تُطبّق Modern PetstoreAPI بروتوكول MCP
توفر Modern PetstoreAPI خادم MCP.
الأدوات المتاحة
1. search_pets - البحث عن الحيوانات الأليفة حسب المعايير 2. get_pet - الحصول على تفاصيل الحيوان الأليف 3. create_order - تقديم طلب 4. get_inventory - التحقق من المخزون 5. update_pet_status - تحديث توفر الحيوان الأليف
مثال: البحث والطلب
المستخدم: "ابحث لي عن كلب بأقل من 500 دولار وقدم طلبًا"
سير عمل الذكاء الاصطناعي:
1. Call search_pets({species: "DOG", maxPrice: 500})
2. Show results to user
3. User confirms: "Order the Labrador"
4. Call create_order({petId: "019b4132", userId: "user-456"})
5. Confirm order placed
كود خادم MCP
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
const server = new Server({
name: 'petstore-mcp',
version: '1.0.0'
}, {
capabilities: {
tools: {}
}
});
server.setRequestHandler('tools/list', async () => ({
tools: [
{
"name": "search_pets",
"description": "Search for pets",
"inputSchema": {
"type": "object",
"properties": {
"species": { "type": "string" },
"maxPrice": { "type": "number" }
}
}
}
]
}));
server.setRequestHandler('tools/call', async (request) => {
const { name, arguments: args } = request.params;
if (name === 'search_pets') {
const response = await fetch(
`https://petstoreapi.com/v1/pets?${new URLSearchParams(args)}`
);
return { content: [{ type: 'text', text: JSON.stringify(await response.json()) }] };
}
});
const transport = new StdioServerTransport();
await server.connect(transport);
اختبار MCP باستخدام Apidog
يساعد Apidog في اختبار تطبيقات MCP:
- اختبار عمل واجهات برمجة التطبيقات الأساسية بشكل صحيح
- التحقق من تطابق مخططات الأدوات مع عقود API
- اختبار معالجة الأخطاء
- التحقق من تدفقات المصادقة
لماذا يهم MCP
1. واجهات برمجة تطبيقات (APIs) متوافقة مع الذكاء الاصطناعي
تصبح واجهات برمجة التطبيقات قابلة للوصول من خلال اللغة الطبيعية. يمكن للمستخدمين غير التقنيين التفاعل مع واجهة برمجة التطبيقات الخاصة بك عبر المساعدين المدعومين بالذكاء الاصطناعي.
2. التوحيد القياسي
يصبح MCP هو المعيار لتكامل الذكاء الاصطناعي مع واجهات برمجة التطبيقات. ادعمه مرة واحدة، واعمل مع جميع عملاء MCP.
3. الأمان
تتعامل خوادم MCP مع المصادقة. لا يحتاج المساعدون المدعومون بالذكاء الاصطناعي إلى وصول مباشر إلى واجهة برمجة التطبيقات.
4. قابلية التركيب
يمكن للمساعدين المدعومين بالذكاء الاصطناعي دمج خوادم MCP متعددة، لإنشاء سير عمل عبر الخدمات.
الخاتمة
يربط MCP بين المساعدين المدعومين بالذكاء الاصطناعي وواجهات برمجة التطبيقات. تُطبّق Modern PetstoreAPI بروتوكول MCP، مما يسمح لـ Claude Desktop وأدوات الذكاء الاصطناعي الأخرى بالتفاعل مع متجر الحيوانات الأليفة من خلال اللغة الطبيعية.
نقاط رئيسية:
- يربط MCP المساعدين المدعومين بالذكاء الاصطناعي بواجهات برمجة التطبيقات
- تُعرّف الأدوات ما يمكن للذكاء الاصطناعي فعله
- تحل اللغة الطبيعية محل استدعاءات API
- تُظهر Modern PetstoreAPI تطبيق MCP
الأسئلة الشائعة
ما هي المساعدات المدعومة بالذكاء الاصطناعي التي تدعم MCP؟
Claude Desktop، Cursor، وغيرها من الأدوات المدعومة من Anthropic. الدعم يتزايد.
هل MCP آمن؟
نعم. تتعامل خوادم MCP مع المصادقة. لا يرى المساعدون المدعومون بالذكاء الاصطناعي مفاتيح API.
هل يمكنني استخدام MCP مع واجهات برمجة التطبيقات الموجودة؟
نعم. قم ببناء خادم MCP يغلف واجهة برمجة التطبيقات الموجودة لديك.
هل يحل MCP محل واجهات برمجة تطبيقات REST؟
لا. MCP مخصص لوصول المساعد المدعوم بالذكاء الاصطناعي. تظل واجهات برمجة تطبيقات REST مخصصة للوصول البرمجي المباشر.
كيف أقوم باختبار أدوات MCP؟
استخدم Apidog لاختبار واجهات برمجة التطبيقات الأساسية، ثم اختبر أدوات MCP باستخدام Claude Desktop.
