بروتوكول سياق النموذج في ADK-Rust
بروتوكول سياق النموذج (MCP) هو الحد الفاصل بين تطبيق للذكاء الاصطناعي وقدرة مملوكة لجهة منفصلة. يمكن لخادم MCP نشر الأدوات، والموارد القابلة للقراءة، وقوالب المطالبات، وإكمال الوسائط. يكتشف العميل هذا الفهرس ويتواصل من خلال أساليب البروتوكول المتفاوض عليها بدلًا من تكامل خاص.
يستخدم ADK-Rust 2 البروتوكول الرسمي rmcp 3.1 SDK. يتفاوض العميل على
MCP 2025-11-25 افتراضيًا، ويصل إلى خوادم 2026-07-28 من خلال مصافحة التوافق
السابقة الخاصة بها. راجع توافق rmcp.
موضع ADK-Rust
يكيّف McpToolset اتصال عميل MCP مهيأً واحدًا مع ADK-Rust.
يمتلك McpServerManager سجلًا متغيرًا لعمليات الأطفال المحلية عبر stdio، ويجمع أدواتها.
يمكن للتطبيقات التي تنشر القدرات إنشاء خوادم MCP باستخدام adk_tool::mcp::rmcp،
وهو إصدار SDK المطابق تمامًا الذي يستخدمه إطار العمل.
اختر الواجهة المناسبة
| ما تحتاج إلى فعله | استخدم | الملكية |
|---|---|---|
| الاتصال بخادم محلي معروف واحد | McpToolset + TokioChildProcess | يبدأ التطبيق العملية الابنة |
| الاتصال بخدمة MCP بعيدة واحدة | McpHttpClientBuilder | يتولى النشر البعيد مسؤولية التوافر |
| تغيير تعريفات الخادم المحلي أثناء وقت التشغيل | McpServerManager | يمتلك التطبيق سجلًا محليًا وعمليات فرعية |
| نشر خادم MCP | adk_tool::mcp::rmcp | تمتلك خدمتك المخططات والتفويض والآثار الجانبية |
| الإبقاء على تكامل أخذ العينات المتوقف عن العمل مدعومًا | ميزة mcp-sampling | التوافق فقط ضمن SEP-2577 |
خريطة الإمكانات المُنفَّذة
| الإمكانية | ADK-Rust API | السلوك |
|---|---|---|
| اكتشاف الأدوات واستدعاؤها | McpToolset، Toolset | يتم الحفاظ على المخططات الأولية والنتائج متعددة الوسائط |
| تصفية الأدوات | with_filter، with_tools | لا يرى النموذج سوى الأدوات المحددة |
| الموارد والقوالب | list_resources, list_resource_templates, read_resource | قراءة السياق من خلال URIs المستقر |
| المطالبات | list_prompts, get_prompt | حل الرسائل القابلة لإعادة الاستخدام والمملوكة للخادم |
| الإكمال | complete_prompt_argument, complete_resource_argument | طلب اقتراحات الوسائط من الخادم |
| اشتراكات الموارد | subscribe_resource, unsubscribe_resource | تتلقى المعالجات المخصصة إشعارات التحديث |
| الاستجلاء | ElicitationHandler | أوضاع النموذج وURL |
| المهام | McpTaskConfig | إنشاء مهام استدعاء الأدوات بالتفاوض، والاستطلاع، والنتيجة، والإلغاء |
| HTTP القابل للبث | McpHttpClientBuilder | المهلات، والترويسات، وحقن المصادقة، واسترداد الجلسات المنتهية |
| السجل المحلي الديناميكي | McpServerManager | الإضافة، والتحديث، والتمكين، والتعطيل، والإزالة، والحفظ، والمراقبة، وإعادة التشغيل |
| العمل المتقدم في SDK | adk_tool::mcp::rmcp | معالجات الخادم، ووسائل النقل، والإشعارات، وأنواع الامتدادات |
مسار التوثيق
- إنشاء عميل MCP
- إدارة خوادم MCP المحلية ديناميكيًا
- نشر خادم MCP
- الأمان والتفويض
- الاختبار والتحقق
- تطبيع المخطط مع مراعاة المزوّد
الحدود المهمة
- تستهدف الإدارة الديناميكية حاليًا العمليات الفرعية المحلية عبر stdio.
- تكتشف مراقبة صحة المدير اتصال MCP مغلقًا. ولا تثبت أن قاعدة بيانات الخادم أو API الخارجي سليم.
- يتم الاحتفاظ بـ
autoApproveللتكوين المتوافق؛ ولا يفسّره ADK-Rust على أنه تفويض. - ينفّذ
OAuth2Configطلبًا ثابتًا لرمز مميز باستخدام بيانات اعتماد العميل. ولا يمثّل ذلك الاكتشاف الكامل لتفويض MCP وتدفّق التفويض عبر المتصفح. - تم إهمال أخذ العينات والجذور والتسجيل في المنبع عبر SEP-2577.
تُعد هذه الحدود جزءًا من العقد العام، وينبغي أن تنعكس في تصميم النشر.