यह रिपॉजिटरी Model Context Protocol (MCP) का Python इम्प्लीमेंटेशन प्रदान करती है, जो दिखाती है कि कैसे MCP स्टैंडर्ड का उपयोग करके एक सर्वर और क्लाइंट एप्लिकेशन बनाया जा सकता है जो आपस में संवाद करते हैं।
MCP इम्प्लीमेंटेशन दो मुख्य घटकों से बना है:
-
MCP Server (
server.py) - एक सर्वर जो प्रदान करता है:- Tools: ऐसे फ़ंक्शन जिन्हें रिमोटली कॉल किया जा सकता है
- Resources: डेटा जिसे प्राप्त किया जा सकता है
- Prompts: भाषा मॉडल के लिए प्रॉम्प्ट बनाने के टेम्पलेट्स
-
MCP Client (
client.py) - एक क्लाइंट एप्लिकेशन जो सर्वर से कनेक्ट होता है और उसकी सुविधाओं का उपयोग करता है
यह इम्प्लीमेंटेशन MCP की कई मुख्य विशेषताओं को प्रदर्शित करता है:
completion- AI मॉडल से टेक्स्ट कम्प्लीशन्स जनरेट करता है (सिम्युलेटेड)add- एक सरल कैलकुलेटर जो दो नंबर जोड़ता है
models://- उपलब्ध AI मॉडलों की जानकारी लौटाता हैgreeting://{name}- दिए गए नाम के लिए व्यक्तिगत अभिवादन लौटाता है
review_code- कोड समीक्षा के लिए प्रॉम्प्ट जनरेट करता है
इस MCP इम्प्लीमेंटेशन का उपयोग करने के लिए आवश्यक पैकेज इंस्टॉल करें:
pip install mcp-server mcp-clientसर्वर को एक टर्मिनल विंडो में चलाएं:
python server.pyसर्वर को MCP CLI का उपयोग करके डेवलपमेंट मोड में भी चलाया जा सकता है:
mcp dev server.pyया Claude Desktop में इंस्टॉल किया जा सकता है (यदि उपलब्ध हो):
mcp install server.pyक्लाइंट को दूसरी टर्मिनल विंडो में चलाएं:
python client.pyयह सर्वर से कनेक्ट होगा और सभी उपलब्ध फीचर्स को प्रदर्शित करेगा।
क्लाइंट (client.py) MCP की सभी क्षमताओं को प्रदर्शित करता है:
python client.pyयह सर्वर से कनेक्ट होगा और टूल्स, रिसोर्सेज़, और प्रॉम्प्ट्स सहित सभी फीचर्स का उपयोग करेगा। आउटपुट में दिखेगा:
- कैलकुलेटर टूल का परिणाम (5 + 7 = 12)
- "What is the meaning of life?" के लिए completion टूल का जवाब
- उपलब्ध AI मॉडलों की सूची
- "MCP Explorer" के लिए व्यक्तिगत अभिवादन
- कोड समीक्षा प्रॉम्प्ट टेम्पलेट
सर्वर FastMCP API का उपयोग करके बनाया गया है, जो MCP सेवाओं को परिभाषित करने के लिए उच्च स्तरीय एब्स्ट्रैक्शन्स प्रदान करता है। यहाँ टूल्स को परिभाषित करने का एक सरल उदाहरण है:
@mcp.tool()
def add(a: int, b: int) -> int:
"""Add two numbers together
Args:
a: First number
b: Second number
Returns:
The sum of the two numbers
"""
logger.info(f"Adding {a} and {b}")
return a + bक्लाइंट MCP क्लाइंट लाइब्रेरी का उपयोग करके सर्वर से कनेक्ट होता है और कॉल करता है:
async with stdio_client(server_params) as (reader, writer):
async with ClientSession(reader, writer) as session:
await session.initialize()
result = await session.call_tool("add", arguments={"a": 5, "b": 7})MCP के बारे में अधिक जानकारी के लिए देखें: https://modelcontextprotocol.io/
अस्वीकरण:
यह दस्तावेज़ AI अनुवाद सेवा Co-op Translator का उपयोग करके अनुवादित किया गया है। जबकि हम सटीकता के लिए प्रयासरत हैं, कृपया ध्यान दें कि स्वचालित अनुवादों में त्रुटियाँ या अशुद्धियाँ हो सकती हैं। मूल दस्तावेज़ अपनी मूल भाषा में ही अधिकारिक स्रोत माना जाना चाहिए। महत्वपूर्ण जानकारी के लिए, पेशेवर मानव अनुवाद की सलाह दी जाती है। इस अनुवाद के उपयोग से उत्पन्न किसी भी गलतफहमी या गलत व्याख्या के लिए हम जिम्मेदार नहीं हैं।