इस प्रोजेक्ट के बारे में

@mcp-z/client Node.js के लिए एक प्रोग्रामेटिक MCP क्लाइंट लाइब्रेरी है (इसके लिए Node.js >= 22 आवश्यक है)। यह एक ही प्रोसेस के भीतर कई MCP सर्वरों से जुड़ने, स्क्रिप्ट से MCP टूल्स चलाने और MCP सर्वरों के लिए इंटीग्रेशन टेस्ट लिखने का समर्थन करती है। समर्थित ट्रांसपोर्ट में stdio और HTTP शामिल हैं। HTTP सर्वरों को `dialects: ['start']` विकल्प का उपयोग करके `start` ब्लॉक एक्सटेंशन के माध्यम से वैकल्पिक रूप से स्पॉन किया जा सकता है। यह लाइब्रेरी Dynamic Client Registration (DCR) के माध्यम से OAuth का भी समर्थन करती है जब कोई HTTP सर्वर इसे सपोर्ट करता है, जिससे `dcrAuthenticator` के माध्यम से एक टोकन स्टोर (जैसे, Keyv) पास किया जा सकता है। मुख्य API `createServerRegistry(config, options?)` के माध्यम से बनाए गए सर्वर रजिस्ट्री के इर्द-गिर्द केंद्रित है। रजिस्ट्री नामी सर्वरों से जुड़ने (`registry.connect`), सर्वरों में खोज क्षमताओं (`registry.searchCapabilities`), और सभी कनेक्शन बंद करने (`registry.close`) के तरीके प्रदान करती है। मैनेज्ड क्लाइंट्स टूल्स को कॉल करने (`callTool`), प्रॉम्प्ट्स प्राप्त करने (`getPrompt`), रिसोर्सेज पढ़ने (`readResource`), और टूल्स, रिसोर्सेज या प्रॉम्प्ट्स को लिस्ट करने के तरीके एक्सपोज़ करते हैं। रॉ SDK रिस्पॉन्स वेरिएंट्स भी उपलब्ध हैं (`callToolRaw`, `getPromptRaw`, `readResourceRaw`)। रिस्पॉन्स रैपर्स हेल्पर मेथड्स प्रदान करते हैं: स्ट्रक्चर्ड कंटेंट को पार्स करने के लिए `json()`, पहले टेक्स्ट परिणाम के लिए `text()`, और रॉ MCP रिस्पॉन्स के लिए `raw()`। रजिस्ट्री विकल्पों में स्पॉन किए गए प्रोसेस वर्किंग डायरेक्टरी के लिए `cwd`, बेस एनवायरनमेंट वेरिएबल्स के लिए `env`, और यह नियंत्रित करने के लिए `dialects` शामिल हैं कि किस प्रकार के सर्वर स्पॉन करने हैं (stdio सर्वर, HTTP स्टार्ट ब्लॉक्स, या दोनों)। API दस्तावेज़ीकरण प्रोजेक्ट की डॉक्यूमेंटेशन साइट पर उपलब्ध है।