Skip to content

Latest commit

 

History

History
162 lines (120 loc) · 10.9 KB

File metadata and controls

162 lines (120 loc) · 10.9 KB

MCP क्लाइंट के संपूर्ण उदाहरण

यह डायरेक्टरी विभिन्न प्रोग्रामिंग भाषाओं में MCP क्लाइंट के संपूर्ण, कार्यशील उदाहरण प्रदान करती है। प्रत्येक क्लाइंट मुख्य README.md ट्यूटोरियल में वर्णित पूरी कार्यक्षमता को प्रदर्शित करता है।

उपलब्ध क्लाइंट्स

1. जावा क्लाइंट (client_example_java.java)

  • ट्रांसपोर्ट: SSE (सर्वर-सेंट इवेंट्स) HTTP के माध्यम से
  • टारगेट सर्वर: http://localhost:8080
  • विशेषताएँ:
    • कनेक्शन स्थापित करना और पिंग करना
    • टूल सूची
    • कैलकुलेटर ऑपरेशन्स (जोड़ना, घटाना, गुणा करना, भाग करना, मदद)
    • त्रुटि प्रबंधन और परिणाम निकालना

चलाने के लिए:

# Ensure your MCP server is running on localhost:8080
javac client_example_java.java
java client_example_java

2. C# क्लाइंट (client_example_csharp.cs)

  • ट्रांसपोर्ट: Stdio (स्टैंडर्ड इनपुट/आउटपुट)
  • टारगेट सर्वर: लोकल .NET MCP सर्वर dotnet run के माध्यम से
  • विशेषताएँ:
    • Stdio ट्रांसपोर्ट के माध्यम से स्वचालित सर्वर स्टार्टअप
    • टूल और संसाधन सूची
    • कैलकुलेटर ऑपरेशन्स
    • JSON परिणाम पार्सिंग
    • व्यापक त्रुटि प्रबंधन

चलाने के लिए:

dotnet run

3. TypeScript क्लाइंट (client_example_typescript.ts)

  • ट्रांसपोर्ट: Stdio (स्टैंडर्ड इनपुट/आउटपुट)
  • टारगेट सर्वर: लोकल Node.js MCP सर्वर
  • विशेषताएँ:
    • MCP प्रोटोकॉल का पूरा समर्थन
    • टूल, संसाधन, और प्रॉम्प्ट ऑपरेशन्स
    • कैलकुलेटर ऑपरेशन्स
    • संसाधन पढ़ना और प्रॉम्प्ट निष्पादन
    • मजबूत त्रुटि प्रबंधन

चलाने के लिए:

# First compile TypeScript (if needed)
npm run build

# Then run the client
npm run client
# or
node client_example_typescript.js

4. Python क्लाइंट (client_example_python.py)

  • ट्रांसपोर्ट: Stdio (स्टैंडर्ड इनपुट/आउटपुट)
  • टारगेट सर्वर: लोकल Python MCP सर्वर
  • विशेषताएँ:
    • Async/await पैटर्न का उपयोग
    • टूल और संसाधन खोज
    • कैलकुलेटर ऑपरेशन्स परीक्षण
    • संसाधन सामग्री पढ़ना
    • क्लास-आधारित संगठन

चलाने के लिए:

python client_example_python.py

सभी क्लाइंट्स में सामान्य विशेषताएँ

प्रत्येक क्लाइंट कार्यान्वयन निम्नलिखित प्रदर्शित करता है:

  1. कनेक्शन प्रबंधन

    • MCP सर्वर से कनेक्शन स्थापित करना
    • कनेक्शन त्रुटियों को संभालना
    • उचित सफाई और संसाधन प्रबंधन
  2. सर्वर खोज

    • उपलब्ध टूल्स की सूची बनाना
    • उपलब्ध संसाधनों की सूची बनाना (जहाँ समर्थित हो)
    • उपलब्ध प्रॉम्प्ट्स की सूची बनाना (जहाँ समर्थित हो)
  3. टूल इनवोकेशन

    • बुनियादी कैलकुलेटर ऑपरेशन्स (जोड़ना, घटाना, गुणा करना, भाग करना)
    • सर्वर जानकारी के लिए मदद कमांड
    • उचित तर्क पास करना और परिणाम संभालना
  4. त्रुटि प्रबंधन

    • कनेक्शन त्रुटियाँ
    • टूल निष्पादन त्रुटियाँ
    • ग्रेसफुल फेल्योर और उपयोगकर्ता प्रतिक्रिया
  5. परिणाम प्रसंस्करण

    • प्रतिक्रियाओं से टेक्स्ट सामग्री निकालना
    • पठनीयता के लिए आउटपुट को फॉर्मेट करना
    • विभिन्न प्रतिक्रिया स्वरूपों को संभालना

आवश्यकताएँ

इन क्लाइंट्स को चलाने से पहले सुनिश्चित करें कि आपके पास:

  1. संबंधित MCP सर्वर चल रहा हो (../01-first-server/ से)
  2. आपकी चुनी हुई भाषा के लिए आवश्यक डिपेंडेंसीज़ इंस्टॉल हों
  3. उचित नेटवर्क कनेक्टिविटी (HTTP-आधारित ट्रांसपोर्ट्स के लिए)

कार्यान्वयन के बीच मुख्य अंतर

भाषा ट्रांसपोर्ट सर्वर स्टार्टअप Async मॉडल प्रमुख लाइब्रेरीज़
जावा SSE/HTTP बाहरी सिंक WebFlux, MCP SDK
C# Stdio स्वचालित Async/Await .NET MCP SDK
TypeScript Stdio स्वचालित Async/Await Node MCP SDK
Python Stdio स्वचालित AsyncIO Python MCP SDK
Rust Stdio स्वचालित Async/Await Rust MCP SDK, Tokio

अगले कदम

इन क्लाइंट उदाहरणों का पता लगाने के बाद:

  1. क्लाइंट्स को संशोधित करें नई विशेषताएँ या ऑपरेशन्स जोड़ने के लिए
  2. अपना खुद का सर्वर बनाएं और इसे इन क्लाइंट्स के साथ टेस्ट करें
  3. विभिन्न ट्रांसपोर्ट्स के साथ प्रयोग करें (SSE बनाम Stdio)
  4. एक अधिक जटिल एप्लिकेशन बनाएं जो MCP कार्यक्षमता को एकीकृत करता हो

समस्या निवारण

सामान्य समस्याएँ

  1. कनेक्शन रिफ्यूज्ड: सुनिश्चित करें कि MCP सर्वर अपेक्षित पोर्ट/पथ पर चल रहा है
  2. मॉड्यूल नहीं मिला: अपनी भाषा के लिए आवश्यक MCP SDK इंस्टॉल करें
  3. अनुमति अस्वीकृत: Stdio ट्रांसपोर्ट के लिए फ़ाइल अनुमतियों की जाँच करें
  4. टूल नहीं मिला: सुनिश्चित करें कि सर्वर अपेक्षित टूल्स को लागू करता है

डिबग टिप्स

  1. अपने MCP SDK में वर्बोज लॉगिंग सक्षम करें
  2. सर्वर लॉग्स की जाँच करें त्रुटि संदेशों के लिए
  3. टूल नाम और सिग्नेचर सत्यापित करें क्लाइंट और सर्वर के बीच
  4. पहले MCP इंस्पेक्टर के साथ टेस्ट करें सर्वर कार्यक्षमता को मान्य करने के लिए

संबंधित दस्तावेज़

अस्वीकरण:
यह दस्तावेज़ AI अनुवाद सेवा Co-op Translator का उपयोग करके अनुवादित किया गया है। जबकि हम सटीकता सुनिश्चित करने का प्रयास करते हैं, कृपया ध्यान दें कि स्वचालित अनुवाद में त्रुटियां या अशुद्धियां हो सकती हैं। मूल भाषा में उपलब्ध मूल दस्तावेज़ को आधिकारिक स्रोत माना जाना चाहिए। महत्वपूर्ण जानकारी के लिए, पेशेवर मानव अनुवाद की सिफारिश की जाती है। इस अनुवाद के उपयोग से उत्पन्न किसी भी गलतफहमी या गलत व्याख्या के लिए हम उत्तरदायी नहीं हैं।