Context ऑब्जेक्ट आपको किसी tool/resource/prompt के चलते समय रिक्वेस्ट-स्कोप्ड यूटिलिटीज़ तक पहुँच देता है—मुख्य रूप से logging, progress, और request metadata।
सक्रिय कॉन्टेक्स्ट प्राप्त करने के लिए get_context() का उपयोग करें।
नोट: get_context() केवल सक्रिय मॉडल कॉन्टेक्स्ट प्रोटोकॉल (MCP) रिक्वेस्ट हैंडलर के अंदर ही काम करता है। इसे कहीं और कॉल करने पर LookupError उठाई जाती है।
कॉन्टेक्स्ट प्राप्त करें
ऑटो-इंजेक्शन (टूल्स + निर्भरताएँ)
Context के रूप में annotate किए गए parameters को framework द्वारा ऑटो-इंजेक्ट किया जा सकता है—get_context() को मैन्युअली कॉल करने की ज़रूरत नहीं होती:
उपलब्ध फ़ीचर्स
| फ़ीचर | API (एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस) | यह क्या करता है |
|---|---|---|
| लॉगिंग | ctx.debug(), ctx.info(), ctx.warning(), ctx.error(), ctx.log() | लॉग संदेश Client को भेजें |
| रिक्वेस्ट मेटाडेटा | ctx.request_id, ctx.session_id, ctx.progress_token | वर्तमान रिक्वेस्ट/सेशन और प्रोग्रेस टोकन की पहचान करें |
| सर्वर/रनटाइम एक्सेस | ctx.server, ctx.runtime | रनटाइम वायरिंग तक पहुँच प्राप्त करें (यदि मौजूद हो) |
| Auth कॉन्टेक्स्ट | ctx.auth_context | Auth कॉन्टेक्स्ट तक पहुँच प्राप्त करें (यदि authorization सक्षम हो) |
| प्रोग्रेस | ctx.report_progress(...), ctx.progress(...) | प्रोग्रेस नोटिफ़िकेशन भेजें (यदि Client ने प्रोग्रेस टोकन प्रदान किया हो) |
| Dispatch (वैकल्पिक) | ctx.dispatch(...) | कॉन्फ़िगर किए गए dispatch backend के माध्यम से authenticated HTTP रिक्वेस्ट भेजें (यदि कॉन्फ़िगर किया गया हो) |
| Connection resolution (वैकल्पिक) | ctx.resolve_client(...) | कॉन्फ़िगर किए गए resolver के माध्यम से connection हैंडल को Client में resolve करें (यदि कॉन्फ़िगर किया गया हो) |
रिक्वेस्ट मेटाडेटा
ctx.auth_context सेट हो सकता है; अन्यथा यह None होता है: