मॉडल कॉन्टेक्स्ट प्रोटोकॉल ADK-Rust में
मॉडल कॉन्टेक्स्ट प्रोटोकॉल (MCP) एक AI एप्लिकेशन और एक अलग से स्वामित्व वाली क्षमता के बीच की सीमा है। एक MCP सर्वर tools, readable resources, prompt templates, और argument completion प्रकाशित कर सकता है। क्लाइंट उस कैटलॉग का पता लगाता है और एक निजी एकीकरण के बजाय बातचीत किए गए प्रोटोकॉल विधियों के माध्यम से संचार करता है।
ADK-Rust 2 आधिकारिक rmcp 2.2 SDK और MCP 2025-11-25 प्रकारों का उपयोग करता है।
ADK-Rust कहाँ फिट बैठता है
McpToolset एक आरंभिक MCP क्लाइंट कनेक्शन को ADK-Rust में अनुकूलित करता है। McpServerManager स्थानीय stdio child processes की एक बदलती हुई रजिस्ट्री का मालिक है और उनके tools को एकत्रित करता है। जो एप्लिकेशन क्षमताएं प्रकाशित करते हैं, वे adk_tool::mcp::rmcp के साथ MCP सर्वर बना सकते हैं, जो फ्रेमवर्क द्वारा उपयोग किया जाने वाला सटीक 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 | बातचीत के माध्यम से tool-call कार्य निर्माण, मतदान, परिणाम और रद्दीकरण |
| स्ट्रीम करने योग्य HTTP | McpHttpClientBuilder | टाइमआउट, हेडर, auth इंजेक्शन, समाप्त-session पुनर्प्राप्ति |
| डायनामिक स्थानीय रजिस्ट्री | McpServerManager | जोड़ें, अपडेट करें, सक्षम करें, अक्षम करें, हटाएँ, सहेजें, मॉनिटर करें और पुनरारंभ करें |
| उन्नत SDK कार्य | adk_tool::mcp::rmcp | सर्वर हैंडलर, ट्रांसपोर्ट, सूचनाएँ और एक्सटेंशन प्रकार |
दस्तावेज़ पथ
- एक MCP क्लाइंट बनाएँ
- स्थानीय MCP सर्वर को गतिशील रूप से प्रबंधित करें
- एक MCP सर्वर प्रकाशित करें
- सुरक्षा और प्रमाणीकरण
- परीक्षण और सत्यापन
- प्रदाता-जागरूक स्कीमा सामान्यीकरण
महत्वपूर्ण सीमाएँ
- गतिशील प्रबंधन वर्तमान में स्थानीय stdio चाइल्ड प्रक्रियाओं को लक्षित करता है।
- प्रबंधक स्वास्थ्य निगरानी एक बंद MCP कनेक्शन का पता लगाती है। यह साबित नहीं करता है कि सर्वर का डेटाबेस या बाहरी API स्वस्थ है।
autoApproveसंगत कॉन्फ़िगरेशन के लिए संरक्षित है; ADK-Rust इसे प्रमाणीकरण के रूप में व्याख्या नहीं करता है।OAuth2Configएक निश्चित क्लाइंट-क्रेडेंशियल टोकन अनुरोध करता है। यह पूर्ण MCP प्रमाणीकरण खोज और ब्राउज़र-प्रमाणीकरण प्रवाह नहीं है।- सैंपलिंग, रूट्स और लॉगिंग को SEP-2577 के माध्यम से अपस्ट्रीम में अप्रचलित कर दिया गया है।
ये सीमाएँ सार्वजनिक अनुबंध का हिस्सा हैं और परिनियोजन डिज़ाइन में परिलक्षित होनी चाहिए।