بناء MCP: إنشاء خدمات MCP
سبب الاختيار: يرشد المطور إلى إتاحة API خارجية كأدوات MCP واضحة وقابلة للاكتشاف والتحقق.
متى لا يناسب: لا تعِد بناء الخادم عندما تستدعي المهمة استعلاماً موجوداً للقراءة فقط.
توفر Skill تعليمات قابلة لإعادة الاستخدام؛ ويعرض MCP موارد الخادم أو أدواته. اختر حسب حاجة المهمة إلى إرشاد أو معلومات للقراءة فقط أو إجراء.
توفر Skill تعليمات قابلة لإعادة الاستخدام؛ ويعرض MCP موارد الخادم أو أدواته. اختر حسب حاجة المهمة إلى إرشاد أو معلومات للقراءة فقط أو إجراء. العقد: تعيد inventory_lookup(sku) كمية صحيحة وas_of بتوقيت UTC. يعيد A-17 العدد 8 وB-04 العدد 0. لا يبرر الاستعلام صلاحية كتابة.
توفر Skill تعليمات قابلة لإعادة الاستخدام؛ ويعرض MCP موارد الخادم أو أدواته. اختر حسب حاجة المهمة إلى إرشاد أو معلومات للقراءة فقط أو إجراء.
العقد: تعيد inventory_lookup(sku) كمية صحيحة وas_of بتوقيت UTC. يعيد A-17 العدد 8 وB-04 العدد 0. لا يبرر الاستعلام صلاحية كتابة.
افحص الهوية والتفويض والمخطط والأخطاء. ارفض المعاملات المجهولة والنتائج القديمة ولا تحول الخطأ إلى مخزون صفر.
قارن إدخال المثال بالناتج وقواعد التحقق.
راجع مثالي المخزون للقراءة فقط وفق العقد الخيالي أدناه. احتفظ بالكمية صفر وبوقت العينة في كل نتيجة.
tool: inventory_lookup(sku: string)
returns: {sku: string, quantity: integer, as_of: UTC timestamp}
required_params: ["sku:string"]
sample_results:
- {sku: "A-17", quantity: 8, as_of: "2026-10-15T09:00:00Z"}
- {sku: "B-04", quantity: 0, as_of: "2026-10-15T09:00:00Z"}
rejection_rule: reject unknown fieldsراجع عقد القراءة فقط وأعد حقول JSON: tool_name وread_only وrequired_params وsample_results وrejection_rule؛ واحتفظ بطابع as_of في كل عنصر من sample_results. لا تستدعِ خادماً ولا تدّع أن المخزون مباشر.
{
"tool_name": "inventory_lookup",
"read_only": true,
"required_params": [
"sku:string"
],
"sample_results": [
{
"sku": "A-17",
"quantity": 8,
"as_of": "2026-10-15T09:00:00Z"
},
{
"sku": "B-04",
"quantity": 0,
"as_of": "2026-10-15T09:00:00Z"
}
],
"rejection_rule": "reject unknown fields"
}سبب الاختيار: يرشد المطور إلى إتاحة API خارجية كأدوات MCP واضحة وقابلة للاكتشاف والتحقق.
متى لا يناسب: لا تعِد بناء الخادم عندما تستدعي المهمة استعلاماً موجوداً للقراءة فقط.
سبب الاختيار: إتاحة أداة استعلام محدودة لعملاء MCP لقراءة بيانات التطبيق دون تعديلها.
متى لا يناسب: لا ينفذ تحديث المخزون؛ فالمثال لا يتضمن عملية كتابة عمداً.
سبب الاختيار: افحص الأسماء والأوصاف والمخططات والصلاحيات والآثار الجانبية قبل إتاحة أدوات MCP بعيدة للوكيل.
متى لا يناسب: استخدم دليلاً لبناء الخادم إذا لم يكن لدى العميل خادم لفحصه.
سبب الاختيار: ميّز بين الأعطال القابلة لإعادة المحاولة ورفض المدخلات والأعطال الداخلية دون كشف أسرار الخادم.
متى لا يناسب: لا تحتاج قراءة مورد ثابت إلى عقد أخطاء أداة قابلة للاستدعاء.
سبب الاختيار: إتاحة المستندات كموارد ذات معرفات ثابتة ليكتشفها العملاء ويقرؤوها دون صلاحية كتابة.
متى لا يناسب: يركز هذا الإجراء على موارد المستندات الثابتة. اخترنا أداة استعلام في المثال لأن المخزون يتغير ويحتاج إلى قيمة as_of حديثة؛ هذا اختيار للمهمة وليس حظراً بروتوكولياً للموارد الديناميكية.
سبب الاختيار: إتاحة دالة تطبيق محدودة كأداة ذات عقد معاملات واضح.
متى لا يناسب: إذا كانت المهمة تقرأ Skill أو مورداً ثابتاً فقط فلا حاجة إلى مخطط أداة.