خادم MCP ذاتي
للتكاملات المتقدمة يمكنك بناء خادم MCP خاص بك. هذا يمنحك سيطرة كاملة على الوظائف وهو مثالي للتكامل مع أنظمتك الخاصة أو التطبيقات غير المدعومة.
متى تخطط لخادم MCP خاص؟
يكون خادم MCP خاص مناسبًا عندما:
- تريد التكامل مع تطبيقك أو قاعدة بياناتك
- التكامل المطلوب غير متاح في Zapier
- لديك متطلبات أمان محددة
- تحتاج إلى منطق معقد في الأدوات
المعرفة المطلوبة
لبناء خادم MCP خاص تحتاج إلى:
- خبرة برمجية (TypeScript/JavaScript أو Python)
- معرفة بواجهات REST
- أساسيات عن الخوادم والاستضافة
بروتوكول سياق النموذج
بروتوكول سياق النموذج (MCP) هو معيار مفتوح طورته Anthropic. يمكن استخدام خوادم MCP مع:
- AI School
- ChatGPT
- Claude
- Visual Studio Code مع Copilot
- تطبيقات أخرى متوافقة مع MCP
البدء السريع مع TypeScript
1. إعداد المشروع
mkdir mijn-mcp-server
cd mijn-mcp-server
npm init -y
npm install @modelcontextprotocol/sdk
2. كود الخادم
import { Server } from "@modelcontextprotocol/sdk/server";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio";
const server = new Server({
name: "mijn-server",
version: "1.0.0",
});
// تعريف أدواتك
server.setRequestHandler("tools/list", async () => ({
tools: [
{
name: "mijn_tool",
description: "وصف لما تقوم به الأداة",
inputSchema: {
type: "object",
properties: {
parameter: {
type: "string",
description: "معامل",
},
},
required: ["parameter"],
},
},
],
}));
// تنفيذ الأداة
server.setRequestHandler("tools/call", async (request) => {
if (request.params.name === "mijn_tool") {
const { parameter } = request.params.arguments;
// نفّذ شيئاً بالمعامل
return {
content: [{ type: "text", text: `النتيجة: ${parameter}` }],
};
}
});
// بدء الخادم
const transport = new StdioServerTransport();
server.connect(transport);
3. تشغيل الخادم
npx ts-node server.ts
النقل HTTP لـ AI School
يدعم AI School خوادم MCP عبر HTTP. يجب أن يوفر الخادم نقطة نهاية تقبل رسائل MCP:
import express from 'express';
const app = express();
app.use(express.json());
app.post('/mcp', async (req, res) => {
const { method, params } = req.body;
if (method === 'tools/list') {
res.json({ tools: [...] });
} else if (method === 'tools/call') {
// معالجة استدعاء الأداة
res.json({ content: [...] });
}
});
app.listen(3000);
خيارات الاستضافة
يجب أن يكون خادم MCP قابلاً للوصول عبر الإنترنت:
| الخيار | مناسب لـ | التكلفة |
|---|---|---|
| Cloudflare Workers | أحمال عمل خفيفة | توجد طبقة مجانية |
| Vercel | خوادم TypeScript | توجد طبقة مجانية |
| Railway | تطبيقات كاملة | من 5 دولار/شهر |
| AWS Lambda | حلول قابلة للتوسع | الدفع حسب الاستخدام |
| خادم خاص | تحكم كامل | متغير |