𝗠𝗼𝗱𝗲𝗹 𝗖𝗼𝗻𝘁𝗲𝘅𝘁 𝗣𝗿𝗼𝘁𝗼𝗰𝗼𝗹 𝗘𝘅𝗽𝗹𝗮𝗶𝗻𝗲𝗱

यदि आप किसी LLM को डेटाबेस या API से जोड़ते हैं, तो आप ग्लू कोड (glue code) लिखते हैं। आप इसे एक मॉडल के लिए लिखते हैं। फिर आप इसे अगले मॉडल के लिए फिर से लिखते हैं। इससे इंटीग्रेशन (integrations) का एक जाल सा बन जाता है।

मॉडल कॉन्टेक्स्ट प्रोटोकॉल (Model Context Protocol - MCP) इसे ठीक करता है। यह AI के लिए एक USB-C पोर्ट की तरह काम करता है। हर डिवाइस के लिए अलग-अलग कस्टम केबल के बजाय, हर कोई एक मानक (standard) कनेक्टर का उपयोग करता है।

MCP इंटीग्रेशन के गणित को M x N से बदलकर M + N कर देता है।

  • टूल लेखक एक MCP सर्वर लिखते हैं।
  • एप्लिकेशन लेखक एक MCP क्लाइंट जोड़ते हैं।
  • कोई भी होस्ट जो MCP को समझता है, वह किसी भी सर्वर का उपयोग कर सकता है।

आर्किटेक्चर में तीन भूमिकाएँ हैं:

• होस्ट (Host): वह AI ऐप जिसका आप उपयोग करते हैं, जैसे Claude Code या कोई IDE। यह तय करता है कि किन सर्वरों से जुड़ना है। • क्लाइंट (Client): होस्ट के अंदर का कनेक्टर। यह सर्वर के साथ कनेक्शन बनाए रखता है। • सर्वर (Server): वह प्रोग्राम जो आप बनाते हैं। यह टूल्स, डेटा या प्रॉम्प्ट्स को उपलब्ध कराता है।

आप तीन मुख्य प्रिमिटिव्स (primitives) का उपयोग करते हैं:

  • टूल्स (Tools): वे फंक्शन्स जिन्हें मॉडल एक्शन लेने के लिए कॉल करता है, जैसे ईमेल भेजना या डेटाबेस को क्वेरी करना।
  • रिसोर्सेज (Resources): रीड-ओनली डेटा जिसे ऐप कॉन्टेक्स्ट में खींचता है, जैसे कोई फ़ाइल या लॉग।
  • प्रॉम्प्ट्स (Prompts): पुन: प्रयोज्य (reusable) टेम्पलेट्स जो उपयोगकर्ताओं को विशिष्ट कार्यों को ट्रिगर करने में मदद करते हैं।

आप FastMCP SDK का उपयोग करके Python में एक सर्वर बना सकते हैं। यहाँ एक सरल उदाहरण दिया गया है:

from mcp.server.fastmcp import FastMCP

mcp = FastMCP("demo-tools")

@mcp.tool()
def word_count(text: str) -> int:
    """Count the words in a text."""
    return len(text.split())

@mcp.resource("notes://team")
def team_notes() -> str:
    """Expose team notes."""
    return "Release freeze starts Friday."

@mcp.prompt()
def code_review(language: str, code: str) -> str:
    """Template for reviewing code."""
    return f"Review this {language} code: {code}"

if __name__ == "__main__":
    mcp.run()

जब आप सर्वर बनाते हैं, तो इन नियमों को ध्यान में रखें:

  • सुरक्षा (Security): विनाशकारी (destructive) टूल्स के लिए उपयोगकर्ता की अनुमति का उपयोग करें। सभी आर्गुमेंट्स को वैलिडेट करें।
  • कॉन्टेक्स्ट (Context): टूल्स के विवरण को छोटा रखें। लंबे विवरण आपके टोकन बजट को खत्म कर देते हैं।
  • त्रुटियाँ (Errors): स्पष्ट संदेश लौटाएं ताकि मॉडल अपनी गलतियों को खुद सुधार सके।

MCP टूल्स को एक पुन: प्रयोज्य संपत्ति (reusable asset) बनाता है। इसे एक बार लिखें। हर मॉडल को इसका उपयोग करने दें।

स्रोत: https://dev.to/galian/model-context-protocol-explained-build-your-first-mcp-server-in-python-ian

वैकल्पिक लर्निंग कम्युनिटी: https://t.me/GyaanSetuAi