Model Context Protocol Advanced Topics
← सभी पाठ
पाठ 08Model Context Protocol Advanced Topics

StreamableHTTP in depth

सारांश ऑडियो

इस पाठ के लिए कोई ऑडियो सारांश नहीं है।

अध्ययन नोट्स

📝 अध्ययन नोट्स: स्ट्रीमएबल HTTP ट्रांसपोर्ट (Streamable HTTP Transport)

यह नोट्स MCP (Model Communication Protocol) की कार्यप्रणाली और HTTP ट्रांसपोर्ट के माध्यम से सर्वर-क्लाइंट संचार की जटिल प्रक्रिया को समझने में मदद करते हैं।

💡 मुख्य समस्या और समाधान

  • समस्या: MCP की कुछ कार्यक्षमता (जैसे सैंपलिंग, नोटिफिकेशन, लॉगिंग) के लिए सर्वर को क्लाइंट को रिक्वेस्ट भेजनी होती है। HTTP प्रोटोकॉल में सर्वर से क्लाइंट को सीधे रिक्वेस्ट भेजना मुश्किल होता है।
  • समाधान: इस समस्या को हल करने के लिए स्ट्रीमएबल HTTP ट्रांसपोर्ट का उपयोग किया जाता है।

🔄 प्रारंभिक सेटअप (Initialization Flow)

  • सामान्य फ्लो: क्लाइंट → सर्वर को initialize रिक्वेस्ट भेजता है → सर्वर रिस्पॉन्स देता है → क्लाइंट → initialize notification रिक्वेस्ट भेजता है।
  • HTTP ट्रांसपोर्ट में बदलाव:
  • सर्वर द्वारा भेजे गए शुरुआती रिस्पॉन्स में एक विशेष हेडर होता है: MCP सेशन ID
  • यह सेशन ID क्लाइंट और सर्वर के कनेक्शन का एक अद्वितीय पहचानकर्ता (Unique Identifier) होता है।
  • इस सेशन ID को क्लाइंट को सभी बाद की रिक्वेस्ट में शामिल करना अनिवार्य है।

🚀 सर्वर से क्लाइंट तक संचार (The Workaround)

  • मुख्य कार्यप्रणाली: एक बार इनिशियलाइज़ेशन पूरा हो जाने के बाद, क्लाइंट एक GET रिक्वेस्ट के माध्यम से MCP सर्वर से संपर्क करता है और उसमें सेशन ID शामिल करता है।
  • SSE का उपयोग: सर्वर इस रिक्वेस्ट का जवाब SSE (Server-Sent Events) रिस्पॉन्स के रूप में देता है।
  • SSE की भूमिका: SSE एक ऐसा कनेक्शन है जिसे मनचाहे समय तक खुला रखा जा सकता है (long-lived connection)। यह कनेक्शन सर्वर को क्लाइंट को डेटा (जैसे लॉग या सैंपलिंग) स्ट्रीम करने की अनुमति देता है।

🛠️ टूल कॉल का फ्लो (Tool Call Flow)

जब क्लाइंट सर्वर को कोई टूल कॉल रिक्वेस्ट भेजता है, तो दो अलग-अलग SSE रिस्पॉन्स का उपयोग होता है:

  • पहला SSE रिस्पॉन्स (ऊपरी): यह लंबे समय तक खुला रहता है और सर्वर से क्लाइंट को सामान्य संदेश (जैसे प्रोग्रेस नोटिफिकेशन) भेजता है।
  • दूसरा SSE रिस्पॉन्स (निचला): यह विशेष टूल कॉल के लिए खोला जाता है। इसमें टूल कॉल से संबंधित संदेश (जैसे लॉगिंग मैसेज और अंतिम परिणाम) आते हैं।
  • समाप्ति: टूल कॉल का अंतिम परिणाम मिलने के तुरंत बाद, यह दूसरा SSE रिस्पॉन्स अपने आप बंद हो जाता है।

🔑 महत्वपूर्ण बिंदु

Takeaways

  • स्ट्रीमएबल HTTP ट्रांसपोर्ट का उपयोग MCP में सर्वर से क्लाइंट को सीधे डेटा (जैसे लॉग और नोटिफिकेशन) भेजने की समस्या को हल करने के लिए किया जाता है।
  • प्रारंभिक सेटअप के दौरान प्राप्त MCP सेशन ID को क्लाइंट को सभी बाद की रिक्वेस्ट में शामिल करना अनिवार्य है।
  • सर्वर क्लाइंट को डेटा स्ट्रीम करने के लिए SSE (Server-Sent Events) का उपयोग करता है, जो एक लंबे समय तक खुला रहने वाला कनेक्शन प्रदान करता है।
  • टूल कॉल के दौरान दो अलग-अलग SSE रिस्पॉन्स का उपयोग होता है: एक सामान्य प्रगति के लिए और दूसरा टूल कॉल के विशिष्ट लॉग और परिणाम के लिए।
फ्लैशकार्ड 10 कार्ड
प्रश्न
प्रकट करने के लिए क्लिक करें · ←/→
उत्तर
वापस पलटने के लिए क्लिक करें
ज्ञान जाँच 0 प्रश्न

No quiz for this lesson yet.