أدوات MCP الخمس
يتعمّد FactLane إبقاء واجهة MCP العامة صغيرة:
memory_search
memory_get
memory_store
memory_update
memory_status
الغرض من هذه الصفحة هو توضيح متى تكون كل أداة مفيدة. ويظل مخطط MCP الحي
وfactlane --help-tools المرجع المعتمد لحقول الطلب الدقيقة والقيم المعدّدة والتواقيع.
هذا مرجع للمطورين والمكاملين. إذا لم تكن قد ربطت FactLane بعد، فابدأ بـ البدء السريع وأنشئ أولًا اتصالًا آمنًا للقراءة فقط.
memory_search
استخدمها لاسترجاع المعلومات داخل نطاق واحد بعينه.
سؤال نموذجي:
«ما معلومات المشروع المتحقَّق منها والمرتبطة بالإصدار الحالي؟»
حدود مهمة:
- اختر النطاق المقصود؛
- يخدم
CURRENTوREVIEW_HISTORYغرضين مختلفين؛ - لا يجعل استرجاع الحالة الحالية أي Candidate (مرشّح) غير متحقَّق منه صالحًا للاستخدام لمجرد حصوله على ترتيب مرتفع؛
- لا ينبغي للمستدعي أن يعيد تعيين هوية مربوطة قدّمها مضيف موثوق بلا حاجة.
memory_get
استخدمها عندما تعرف بالفعل أي ذاكرة منطقية تريد فحصها.
تفيد في فهم منشأ المصدر ودورة الحياة وتفاصيل المراجعة بدلًا من إجراء بحث واسع بحسب الصلة.
memory_store
استخدمها لإضافة معلومة واحدة مقيّدة عندما يسمح ملف تعريف المشغّل بالكتابة.
يمكن لاتصال عادي من نوع delegated-candidate إضافة Candidate. ولا تمنح الأداة ذلك الوكيل
صلاحية إنشاء VALIDATED_CURRENT بمجرد ادعاء هوية متحقق ذات امتيازات.
المعلومة الجيدة التي تُضاف تكون:
- مقيّدة؛
- قابلة لإسناد مصدرها؛
- ضمن نطاق محدد؛
- مصحوبة بسياسة حداثة؛
- متكافئة الأثر عند إعادة المحاولة.
وليست نص محادثة عشوائيًا أو تفريغًا لمحتويات دليل.
memory_update
استخدمها لعمليات المراجعة المنضبطة.
وضعان مهمان هما:
REVERIFY— تحقق موثوق من هوية الذاكرة المنطقية نفسها؛REPLACE— مراجعة حالية جديدة عندما تتغير الهوية الدلالية.
تتحقق الترقية من هوية السجل والمراجعة المتوقعتين حتى لا يستطيع كاتب يعتمد على حالة قديمة أن يستبدل حالة أحدث بصمت.
ولا يكتسب وكيل مفوَّض عادي صلاحية المتحقق لمجرد أن هذه الأداة ظاهرة له.
memory_status
استخدمها لملاحظات مقيّدة وللقراءة فقط حول حالة التخزين وملف تعريف التضمين ضمن نطاق ما.
وليست منصة مراقبة كاملة أو وسيلة نسخ احتياطي أو خدمة صيانة تعمل باستمرار.
حالات الفشل المنضبطة
تستخدم حالات الفشل المنضبطة المتوقعة قناة نتيجة MCP العادية مع:
status=BLOCKED؛error_codeثابت؛- رسالة آمنة؛
- نتائج فارغة؛
- بيانات وصفية لإعادة المحاولة عند انطباقها.
ينبغي للمستدعين التفريع بحسب error_code بدلًا من تحليل نص الاستثناء.
وتظل الاستثناءات الداخلية غير المتوقعة أخطاء نقل بدلًا من إعادة تصنيفها على أنها نتائج FactLane منضبطة.
مثال: تحقّق من الاتصال قبل الكتابة
لفحص حالة مستخدم عامة لا يتطلب هوية مشروع:
{"scope":"GLOBAL_USER"}
ولبحث حالي بالكلمات المفتاحية ضمن نطاق مشروع، قد يبدو الطلب كما يلي:
{
"scope": "PROJECT",
"project_id": "example-project",
"intent_class": "CURRENT_PROJECT_STATE",
"query": "What release constraints are recorded?",
"retrieval_mode": "CURRENT",
"retrieval_mode_kind": "KEYWORD"
}
عندما يكون مضيف موثوق قد ربط بالفعل هوية المشروع/سير العمل/الأداة المقابلة، اتبع المخطط الحي واحذف أي هوية متعارضة يقدّمها المستدعي.
التالي
- البنية المعمارية — المسار الدقيق للطلب وحدود الهوية والتخزين والاسترداد.
- البيئة — توافق وقت التشغيل وملف تعريف التضمين.