تكامل · متاح
وكيل أمان MCP
يقع بين الوكيل الذكي وخوادم MCP الخاصة به، ويفحص ما تقوله الأدوات وما يرسله الوكيل إليها وما تعيده.
الحالة: متاح. هذا التكامل مبنيّ ومُختبَر. تسلّم HisnLabs جاردرينو إلى الشركات المشاركة في البرنامج التجريبي، وقد تتغيّر بعض الإعدادات قبل الإتاحة العامة.
مرجع المطوّرين · دليل التثبيت · منصات الذكاء الاصطناعي · بطاقة النموذج المفتوح · وكيل متوافق مع OpenAI · البث · LiteLLM · درس: تطبيق متوافق مع OpenAI · درس: LiteLLM · درس: أدوات MCP
جرّبه اليوم Guardrino-t7 Open، نسخة سابقة من المصنِّف، متاح للعموم على Hugging Face بترخيص Apache-2.0. يعمل العرض التجريبي في متصفحك: ما تكتبه يبقى على جهازك. عرض تجريبي مباشر · بطاقة النموذج · العرض نفسه على Hugging Face
ما الذي يُفحص
| اللحظة | الفحص |
|---|---|
| عرض قائمة الأدوات | تُفحص أوصاف الأدوات، لأن الوكيل يقرؤها بوصفها تعليمات. |
| خروج استدعاء | تُفحص الوسائط: الرمز الكناري، والبيانات الشخصية، والروابط. |
| عودة نتيجة | تُفحص النتيجة بوصفها سياقًا، على نوافذ، فتُقرأ المخرجات الطويلة كاملة. |
يُحكم على النتيجة كما يُحكم على أي مستند يقرؤه النموذج بوصفه بيانات. ويمكنك تجربة الفحص نفسه يدويًا عبر واجهة inspect بضبط direction على context.
POST /v1/inspect HTTP/1.1
Content-Type: application/json
{
"text": "<tool result text>",
"direction": "context",
"app": "support-agent",
"conversation_id": "conversation-7f3a"
}وسائط النقل
يتحدث الوكيل بنقل HTTP القابل للبث في MCP (مسار لكل خادم، /mcp/{name})، وعبر stdio للخوادم المحلية.
الإعداد
اذكر خوادم MCP التي يقف الوكيل أمامها. يبقى متوقفًا ما لم تُضبط servers، ولكل خادم مساره الخاص.
[mcp]
on_tool_poisoning = "drop" # "drop": remove a flagged tool from the list | "refuse": refuse the whole list
timeout_secs = 120
servers = [
{ name = "files", url = "https://mcp.example/mcp", headers = { Authorization = "Bearer UPSTREAM_TOKEN" } },
]وجّه وكيلك الذكي إلى الوكيل الوسيط بدلًا من خادم MCP.
{
"mcpServers": {
"files": { "url": "https://guardrino.example/mcp/files" }
}
}لخادم stdio محلي، شغّل guardrino-mcp-stdio --server-cmd "<command>" بدل الخادم في إعدادات الوكيل الذكي. ينفّذ الأمر ويفحص كل رسالة في الاتجاهين بالطريقة نفسها، ولا حاجة إلى مدخل في servers.
{
"mcpServers": {
"files": { "command": "guardrino-mcp-stdio", "args": ["--server-cmd", "npx some-mcp-server"] }
}
}يعيد النداء المرفوض خطأ JSON-RPC (الرمز -32000 وdata.code يساوي content_blocked). تُزال الأداة المُعلَّمة من القائمة، أو تُرفض القائمة كلها، بحسب on_tool_poisoning. غير مغطّى بعد: الطلبات والإشعارات التي يبدؤها الخادم (مثل sampling) لا تُفحص، وتُرفض دفعات JSON-RPC.