MCP الاختبار والتحقق

تتجاوز MCP عمليات التكامل حدود العمليات والنقل والمخطط والتفويض. اختبارات الوحدة وحدها غير كافية؛ احتفظ باختبار عميل/خادم حتمي واحد على الأقل يكمل مصافحة حقيقية واستدعاء أداة.

بوابات الإطار المركزية

cargo test -p adk-tool --features mcp --lib mcp
cargo test -p adk-tool --features mcp --test mcp_roundtrip_property_tests
cargo test -p adk-tool --features mcp,mcp-sampling --test mcp_sampling_property_tests
cargo clippy -p adk-tool --features mcp,http-transport,mcp-sampling -- -D warnings

بوابة أخذ العينات هي تغطية توافقية لقدرة تم إهمالها في الإصدارات السابقة، وليست توصية لهندسة معمارية جديدة.

تجميع مستهلكي التكامل

cargo check -p adk-acp --all-features
cargo check -p adk-computer-use

تكتشف هذه البوابات أنواع rmcp العامة غير المتطابقة عبر الصناديق التي تتضمن أو تحمل تكوينات MCP.

أمثلة مستقلة

cargo check --manifest-path examples/mcp_elicitation/Cargo.toml
cargo check --manifest-path examples/mcp_sampling/Cargo.toml
cargo check --manifest-path examples/mcp_manager/Cargo.toml
cargo run --manifest-path examples/mcp_manager/Cargo.toml

examples/mcp_manager هي البوابة الحية الحتمية. تبدأ خادم Rust stdio حقيقيًا عن طريق تنفيذ ملفها الثنائي الخاص في وضع التجهيز. لا يقوم الاختبار بتنزيل حزمة أو الاتصال بنقطة نهاية بعيدة.

ما يثبته المثال الحي

  • بدء تشغيل العملية الفرعية؛
  • تهيئة MCP والتفاوض على القدرات؛
  • اكتشاف الأداة؛
  • طلب أداة حقيقي ونتيجته؛
  • إضافة وتشغيل وتحديث وتعطيل وإزالة وقت التشغيل؛
  • تسلسل السجل واستمرارية الملفات؛ و
  • إغلاق الجلسة.

ما يتطلب اختبارًا خاصًا بالنشر

  • هوية HTTP البعيدة وسياسة الرمز المميز؛
  • اكتشاف MCP OAuth الكامل وتفويض المستخدم؛
  • صحة API الخارجية وقاعدة البيانات؛
  • فرض بيئة الحماية للعمليات؛
  • عزل المستأجرين؛
  • واجهة مستخدم الموافقة وتخزين التدقيق؛
  • سلوك إعادة المحاولة والتكرارية للأدوات الهامة؛ و
  • استعادة المهام بعد إعادة تشغيل التطبيق.

عقود خادم الاختبار

لكل خادم، احتفظ بالتجهيزات من أجل:

  • دقة قدرة التهيئة؛
  • مخططات الأدوات والموارد؛
  • المدخلات غير الصالحة وغير المصرح بها؛
  • أحجام النتائج القصوى؛
  • سلوك الإلغاء والمهلة؛
  • إعادة المحاولة المتكررة لعمليات الكتابة؛ و
  • إخفاء بيانات الاعتماد والحقول الحساسة.