शून्यापासून Python MCP सर्व्हर तयार करणे

Model Context Protocol (MCP) आता एक इंडस्ट्री स्टँडर्ड बनले आहे. त्याचे मासिक SDK डाउनलोड्स ९७ दशलक्ष झाले आहेत. प्रत्येक प्रमुख AI टूल याचा वापर करते. बहुतेक मार्गदर्शक (guides) तुम्हाला फक्त अस्तित्वात असलेले सर्व्हर्स कसे इन्स्टॉल करायचे हेच दाखवतात. हा मार्गदर्शक तुम्हाला Python आणि GitHub API वापरून स्वतःचा सर्व्हर कसा तयार करायचा हे दाखवेल.

MCP म्हणजे काय? हा एक असा प्रोटोकॉल आहे जो AI क्लायंट्सना बाह्य सेवा (external services) कॉल करण्याची परवानगी देतो. तुमचा सर्व्हर Claude किंवा Cursor सारख्या टूल्सकडून येणाऱ्या विनंत्या (requests) हाताळतो.

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

  • Tools: अशी फंक्शन्स जी AI कृती करण्यासाठी किंवा डेटा मिळवण्यासाठी कॉल करते.
  • Resources: फाईल्स किंवा डेटाबेस रेकॉर्ड्ससारखे 'रीड-ओन्ली' (read-only) डेटा एंडपॉइंट्स.
  • Prompts: सुसंगत वर्कफ्लोसाठी पुन्हा वापरता येण्याजोग्या सूचनांचे टेम्पलेट्स (instruction templates).

तुमचा प्रोजेक्ट सेटअप करा एक डिरेक्टरी तयार करा आणि uv वापरून आवश्यक लायब्ररीज इन्स्टॉल करा:

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

सर्व्हर तयार करणे मुख्य कामे हाताळण्यासाठी FastMCP वापरा. एका चांगल्या MCP सर्व्हरमध्ये तीन विशिष्ट फाईल्स वापरल्या जातात: server.py, pyproject.toml, आणि तुमच्या GitHub टोकनसाठी एक पर्यायी .env फाईल.

डेव्हलपमेंटसाठी प्रो टिप्स (Pro Tips):

  • टूल रिटर्न्ससाठी Pydantic मॉडेल्स वापरा. यामुळे AI ला विस्कळीत स्ट्रिंग्सऐवजी स्ट्रक्चर्ड डेटा मिळतो.
  • स्पष्ट docstrings लिहा. तुमचे टूल कधी वापरावे हे ठरवण्यासाठी AI हे वाचते.
  • न्यूमेरिक इनपुट्स मर्यादित (clamp) करा. AI मॉडेल्स अनेकदा ० किंवा १०० सारखे अनपेक्षित नंबर पाठवतात.
  • एक्सेप्शन हाताळा (Handle 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 वर्कफ्लोमध्ये लाईव्ह डेटा आणू शकता.

Source: https://dev.to/moksh/building-a-python-mcp-server-from-scratch-a-practical-github-api-guide-397k

Optional learning community: https://t.me/GyaanSetuAi