ArrayKit

MCP टूल स्कीमा बिल्डर

उपकरण तय कीजिए और JSON Schema पाइए, सख़्त मोड की शर्तें लागू करके।

MCP टूल स्कीमा बिल्डर

उपकरण तय कीजिए और JSON Schema पाइए, सख़्त मोड की शर्तें लागू करके।

उपकरण परिभाषाएँ आपके आंतरिक तंत्र बताती हैं। सब कुछ ब्राउज़र में बनता है और कहीं नहीं भेजा जाता।

पहले से मौजूद परिभाषा जाँचिए

MCP टूल स्कीमा बिल्डर के बारे में

उपकरण की परिभाषा के दो काम हैं, और उनमें से सिर्फ़ एक JSON है। स्कीमा बताती है कि तर्कों का आकार क्या है; विवरण बताते हैं कि उपकरण किस लिए है और हर तर्क का अर्थ क्या है। स्कीमा पूरी तरह वैध हो सकती है और फिर भी ऐसा उपकरण बना सकती है जिसे ग़लत समय पर, भीतर विश्वसनीय दिखती बकवास के साथ बुलाया जाए, क्योंकि JSON में कहीं यह नहीं लिखा कि कौन-सी चीज़ क्या है। यह बिल्डर स्कीमा लिखता है और दोनों पहलू जाँचता है: बनावट, और यह कि कुछ सचमुच वर्णित है भी या नहीं। सख़्त मोड भी ठीक से सँभाला गया है: वह हर प्रॉपर्टी को अनिवार्य सूची में माँगता है और अतिरिक्त प्रॉपर्टी मना करता है — और यही लोगों को चौंकाता है, क्योंकि बाक़ी स्कीमा वैसी की वैसी दिखती है।

विशेषताएँ

  • प्रकार, विवरण और वैकल्पिक बंद मान-समूह वाले पैरामीटर
  • सख़्त मोड का «सब अनिवार्य» नियम तुरंत लागू, बाद में पता चलने के बजाय
  • सख़्त मोड चालू हो तो additionalProperties सही सेट
  • ऐरे को items स्कीमा अपने आप मिलती है
  • बिना विवरण वाले पैरामीटर पर चेतावनी
  • एक जैसे पैरामीटर नाम पकड़ता है
  • एक ही मान वाले enum को स्थिरांक बताता है
  • सिर्फ़ स्कीमा नहीं, पूरी परिभाषा देता है

MCP टूल स्कीमा बिल्डर का उपयोग कैसे करें

  1. उपकरण का नाम रखिए और लिखिए कि उसे कब इस्तेमाल करना है
  2. हर पैरामीटर उसके प्रकार और विवरण के साथ जोड़िए
  3. अनिवार्य वाले चुनिए, या सख़्त मोड चालू कीजिए
  4. परिभाषा अपने tools ऐरे में कॉपी कीजिए

उदाहरण

इनपुट

"strict": true

आउटपुट

Error: strict mode requires every property to be listed as required

सख़्त मोड में वैकल्पिक प्रॉपर्टी नहीं होतीं: उसकी जगह null की अनुमति दीजिए।

सामान्य त्रुटियाँ और समस्या निवारण

  • सख़्त मोड अस्वीकार हो रहा है। — उसे सभी प्रॉपर्टी अनिवार्य और additionalProperties का false चाहिए। वैकल्पिक वालों को अनिवार्य बनाकर null की अनुमति दीजिए, या सख़्त मोड बंद कीजिए।
  • उपकरण ग़लत तर्कों के साथ बुलाया जाता है। — आम तौर पर बिना विवरण वाले पैरामीटर। अकेले नाम से अर्थ अनुमान पर छूट जाता है, और «id» कुछ भी हो सकता है।
  • उपकरण ग़लत समय पर बुलाया जाता है। — यह उपकरण का विवरण है, स्कीमा नहीं। लिखिए कि कब इस्तेमाल करना है और क्या लौटाता है, सिर्फ़ यह नहीं कि क्या करता है।
  • ऐरे वाला पैरामीटर अस्वीकार हो रहा है। — ऐरे को items स्कीमा चाहिए जो बताए कि उसमें क्या है। यहाँ वह अपने आप जुड़ जाती है।

अक्सर पूछे जाने वाले प्रश्न

सख़्त मोड असल में क्या बदलता है?
वह गारंटी देता है कि तर्क स्कीमा से ठीक-ठीक मेल खाएँगे। क़ीमत यह है कि हर प्रॉपर्टी अनिवार्य सूची में होनी चाहिए और अतिरिक्त प्रॉपर्टी मना है, इसलिए सचमुच वैकल्पिक तर्क को «अनिवार्य पर null स्वीकार्य» की तरह गढ़ना पड़ता है।
पैरामीटर का विवरण कितना विस्तृत हो?
इतना कि सिर्फ़ स्कीमा पढ़ने वाला भी जान जाए कि वहाँ क्या डालना है: प्रारूप, इकाइयाँ, मान कहाँ से आता है। «वह ग्राहक ईमेल जिससे ऑर्डर किया गया» «ईमेल» से कहीं ज़्यादा क़ीमती है।
enum कब इस्तेमाल करें?
जब वैध मानों का समूह सचमुच बंद और छोटा हो। इससे ग़लत जवाबों की एक पूरी श्रेणी हट जाती है। एक ही मान वाला enum इसलिए दिखाया जाता है कि वह पैरामीटर नहीं, स्थिरांक है।
क्या यह MCP और API दोनों उपकरणों पर लागू है?
दोनों में स्कीमा JSON Schema का वही उपसमुच्चय है। बाहरी लपेट थोड़ी अलग होती है, पर इनपुट स्कीमा — जहाँ ग़लती आसान है — बिल्कुल एक जैसी है।
अच्छा उपकरण विवरण किसे कहेंगे?
दो वाक्यों में तीन बातें: वह क्या करता है, कब उसे उठाना है, और क्या लौटाता है। आख़िरी सबसे ज़्यादा छूटती है और सबसे ज़्यादा काम आती है, क्योंकि वह बताती है कि एक ही कॉल काफ़ी होगी या नहीं।

संबंधित टूल

एआई और एजेंट के और टूल

एआई और एजेंट के सभी टूल देखें · सभी टूल