نظرة عامة
يوفر نقل Streamable HTTP طريقة مرنة للاتصال بخوادم MCP البعيدة. يُبنى عادةً على HTTP ويمكنه دعم أنماط اتصال متنوعة، بما في ذلك الطلب والاستجابة والبث، وأحياناً يستخدم Server-Sent Events (SSE) لتدفقات من الخادم إلى العميل ضمن تفاعل HTTP أوسع.المفاهيم الرئيسية
- خوادم بعيدة: مصمم لخوادم MCP المستضافة عن بُعد.
- المرونة: يمكنه دعم أنماط تفاعل أكثر تعقيداً من SSE العادي، بما في ذلك الاتصال ثنائي الاتجاه المحتمل إذا نفذه الخادم.
- إعداد
MCPServerAdapter: ستحتاج إلى توفير عنوان URL الأساسي للخادم للاتصال MCP وتحديد"streamable-http"كنوع النقل.
الاتصال عبر Streamable HTTP
لديك طريقتان رئيسيتان لإدارة دورة حياة الاتصال مع خادم MCP Streamable HTTP:1. اتصال مُدار بالكامل (الموصى به)
النهج الموصى به هو استخدام مدير سياق Python (تعليمةwith)، الذي يتعامل مع إعداد الاتصال وإنهائه تلقائياً.
"http://localhost:8001/mcp" بعنوان URL الفعلي لخادم MCP Streamable HTTP الخاص بك.
2. دورة حياة اتصال يدوية
للسيناريوهات التي تتطلب تحكماً أكثر صراحة، يمكنك إدارة اتصالMCPServerAdapter يدوياً.
من الضروري استدعاء
mcp_server_adapter.stop() عند الانتهاء لإغلاق الاتصال وتحرير الموارد. كتلة try...finally هي الطريقة الأكثر أماناً لضمان ذلك.اعتبارات الأمان
عند استخدام نقل Streamable HTTP، فإن أفضل ممارسات أمان الويب العامة ضرورية:- استخدم HTTPS: فضّل دائماً HTTPS لعناوين URL خوادم MCP لتشفير البيانات أثناء النقل.
- المصادقة: نفّذ آليات مصادقة قوية إذا كان خادم MCP يكشف أدوات أو بيانات حساسة.
- التحقق من المدخلات: تأكد من أن خادم MCP يتحقق من جميع الطلبات والمعاملات الواردة.
