Python MCP Server को शुरुआत से बनाना

Model Context Protocol (MCP) अब एक इंडस्ट्री स्टैंडर्ड बन चुका है। इसके मासिक SDK डाउनलोड्स 97 मिलियन तक पहुँच गए हैं। हर प्रमुख AI टूल इसका उपयोग करता है। अधिकांश गाइड केवल आपको मौजूदा सर्वर इंस्टॉल करना सिखाते हैं। यह गाइड आपको Python और GitHub API का उपयोग करके अपना खुद का सर्वर बनाना सिखाएगी।

MCP क्या है? यह एक ऐसा प्रोटोकॉल है जो AI क्लाइंट्स को बाहरी सेवाओं (external services) को कॉल करने की अनुमति देता है। आपका सर्वर Claude या Cursor जैसे टूल्स से आने वाली रिक्वेस्ट को हैंडल करता है।

MCP के तीन मुख्य भाग:

  • Tools: वे फंक्शन्स जिन्हें AI एक्शन लेने या डेटा प्राप्त करने के लिए कॉल करता है।
  • Resources: रीड-ओनली डेटा एंडपॉइंट्स जैसे कि फाइल्स या डेटाबेस रिकॉर्ड्स।
  • Prompts: निरंतर वर्कफ़्लो के लिए पुन: प्रयोज्य (reusable) इंस्ट्रक्शन टेम्पलेट्स।

अपना प्रोजेक्ट सेटअप करें एक डायरेक्टरी बनाएं और uv का उपयोग करके आवश्यक लाइब्रेरीज़ इंस्टॉल करें:

mkdir github-mcp-server
cd github-mcp-server
uv init .
uv add "mcp[cli]" httpx

सर्वर बनाना जटिल कार्यों को संभालने के लिए FastMCP का उपयोग करें। एक अच्छे MCP सर्वर में तीन विशिष्ट फ़ाइलें होती हैं: server.py, pyproject.toml, और आपके GitHub टोकन के लिए एक वैकल्पिक .env फ़ाइल।

डेवलपमेंट के लिए प्रो टिप्स:

  • टूल रिटर्न्स के लिए Pydantic मॉडल्स का उपयोग करें। यह AI को अव्यवस्थित स्ट्रिंग्स के बजाय स्ट्रक्चर्ड डेटा प्रदान करता है।
  • स्पष्ट docstrings लिखें। AI यह तय करने के लिए इन्हें पढ़ता है कि आपके टूल का उपयोग कब करना है।
  • Numeric inputs को क्लैम्प (clamp) करें। AI मॉडल्स अक्सर 0 या 100 जैसे अप्रत्याशित नंबर भेजते हैं।
  • Exceptions को हैंडल करें। आपके सर्वर में क्रैश होने से पूरा कनेक्शन टूट सकता है।

टेस्टिंग और डिप्लॉयमेंट Claude में टेस्ट करने का इंतज़ार न करें। पहले MCP Inspector का उपयोग करें। रन करें: uv run mcp dev server.py

यह http://localhost:5173 पर एक लोकल इंटरफ़ेस खोलता है। आप एक ही स्थान पर टूल्स, रिसोर्सेज और प्रॉम्प्ट्स का परीक्षण कर सकते हैं।

Claude Desktop से कनेक्ट करना: अपने सर्वर को शामिल करने के लिए अपनी कॉन्फ़िग फ़ाइल को अपडेट करें। अपनी server.py फ़ाइल का पूरा पाथ (full path) उपयोग करें। एनवायरनमेंट एरर्स से बचने के लिए हमेशा साधारण python कमांड के बजाय uv run का उपयोग करें।

Claude Code से कनेक्ट करना: CLI कमांड का उपयोग करें: claude mcp add github-tools -- uv run python /path/to/server.py

कस्टम MCP सर्वर बनाने से आप अपने AI वर्कफ़्लो में लाइव डेटा ला सकते हैं।

स्रोत: https://dev.to/moksh/building-a-python-mcp-server-from-scratch-a-practical-github-api-guide-397k

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