ಶೂನ್ಯದಿಂದ Python MCP ಸರ್ವರ್ ಅನ್ನು ನಿರ್ಮಿಸುವುದು
Model Context Protocol (MCP) ಈಗ ಉದ್ಯಮದ ಮಾನದಂಡವಾಗಿದೆ (industry standard). ಇದು ಪ್ರತಿ ತಿಂಗಳು 97 ಮಿಲಿಯನ್ SDK ಡೌನ್ಲೋಡ್ಗಳನ್ನು ತಲುಪಿದೆ. ಪ್ರತಿಯೊಂದು ಪ್ರಮುಖ AI ಸಾಧನವು ಇದನ್ನು ಬಳಸುತ್ತದೆ. ಹೆಚ್ಚಿನ ಮಾರ್ಗದರ್ಶಿಗಳು ಕೇವಲ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಸರ್ವರ್ಗಳನ್ನು ಹೇಗೆ ಇನ್ಸ್ಟಾಲ್ ಮಾಡಬೇಕೆಂದು ಮಾತ್ರ ತೋರಿಸುತ್ತವೆ. ಈ ಮಾರ್ಗದರ್ಶಿಯು Python ಮತ್ತು GitHub API ಬಳಸಿ ನಿಮ್ಮದೇ ಆದ ಸರ್ವರ್ ಅನ್ನು ಹೇಗೆ ನಿರ್ಮಿಸಬೇಕೆಂದು ತೋರಿಸುತ್ತದೆ.
MCP ಎಂದರೇನು? ಇದು AI ಕ್ಲೈಂಟ್ಗಳು ಬಾಹ್ಯ ಸೇವೆಗಳನ್ನು (external services) ಕರೆಯಲು ಅನುವು ಮಾಡಿಕೊಡುವ ಒಂದು ಪ್ರೋಟೋಕಾಲ್ ಆಗಿದೆ. ನಿಮ್ಮ ಸರ್ವರ್ Claude ಅಥವಾ Cursor ನಂತಹ ಸಾಧನಗಳಿಂದ ಬರುವ ವಿನಂತಿಗಳನ್ನು (requests) ನಿರ್ವಹಿಸುತ್ತದೆ.
MCP ನ ಮೂರು ಪ್ರಮುಖ ಭಾಗಗಳು:
- Tools: ಕ್ರಮ ಕೈಗೊಳ್ಳಲು ಅಥವಾ ಡೇಟಾವನ್ನು ಪಡೆಯಲು AI ಕರೆಯುವ ಫಂಕ್ಷನ್ಗಳು.
- Resources: ಫೈಲ್ಗಳು ಅಥವಾ ಡೇಟಾಬೇಸ್ ರೆಕಾರ್ಡ್ಗಳಂತಹ ಓದಲು ಮಾತ್ರ ಅನುಮತಿಸುವ (read-only) ಡೇಟಾ ಎಂಡ್ಪಾಯಿಂಟ್ಗಳು.
- Prompts: ಸ್ಥಿರವಾದ ವರ್ಕ್ಫ್ಲೋಗಳಿಗಾಗಿ ಮರುಬಳಕೆ ಮಾಡಬಹುದಾದ ಸೂಚನಾ ಟೆಂಪ್ಲೇಟ್ಗಳು.
ನಿಮ್ಮ ಪ್ರಾಜೆಕ್ಟ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಿ ಒಂದು ಡೈರೆಕ್ಟರಿಯನ್ನು ರಚಿಸಿ ಮತ್ತು 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):
- Tool ರಿಟರ್ನ್ಗಳಿಗಾಗಿ Pydantic ಮಾಡೆಲ್ಗಳನ್ನು ಬಳಸಿ. ಇದು ಗೊಂದಲಮಯ ಸ್ಟ್ರಿಂಗ್ಗಳ ಬದಲಿಗೆ AI ಗೆ ರಚನಾತ್ಮಕ ಡೇಟಾವನ್ನು (structured data) ನೀಡುತ್ತದೆ.
- ಸ್ಪಷ್ಟವಾದ docstrings ಬರೆಯಿರಿ. ನಿಮ್ಮ ಟೂಲ್ ಅನ್ನು ಯಾವಾಗ ಬಳಸಬೇಕೆಂದು ನಿರ್ಧರಿಸಲು AI ಇವುಗಳನ್ನು ಓದುತ್ತದೆ.
- ನಂಬರ್ ಇನ್ಪುಟ್ಗಳನ್ನು ಕ್ಲಾಂಪ್ (Clamp) ಮಾಡಿ. AI ಮಾಡೆಲ್ಗಳು ಹೆಚ್ಚಾಗಿ 0 ಅಥವಾ 100 ನಂತಹ ಅನಿರೀಕ್ಷಿತ ಸಂಖ್ಯೆಗಳನ್ನು ಕಳುಹಿಸುತ್ತವೆ.
- ಎಕ್ಸೆಪ್ಶನ್ಗಳನ್ನು (exceptions) ನಿರ್ವಹಿಸಿ. ನಿಮ್ಮ ಸರ್ವರ್ನಲ್ಲಿನ ಕ್ರ್ಯಾಶ್ ಇಡೀ ಸಂಪರ್ಕವನ್ನು ಕಡಿತಗೊಳಿಸಬಹುದು.
ಟೆಸ್ಟಿಂಗ್ ಮತ್ತು ನಿಯೋಜನೆ (Deployment)
Claude ನಲ್ಲಿ ಟೆಸ್ಟ್ ಮಾಡಲು ಕಾಯಬೇಡಿ. ಮೊದಲು MCP Inspector ಬಳಸಿ. ಇದನ್ನು ರನ್ ಮಾಡಿ:
uv run mcp dev server.py
ಇದು http://localhost:5173 ನಲ್ಲಿ ಲೋಕಲ್ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ತೆರೆಯುತ್ತದೆ. ನೀವು ಒಂದೇ ಕಡೆ ಟೂಲ್ಸ್, ರಿಸೋರ್ಸ್ಗಳು ಮತ್ತು ಪ್ರಾಂಪ್ಟ್ಗಳನ್ನು ಟೆಸ್ಟ್ ಮಾಡಬಹುದು.
Claude Desktop ಗೆ ಕನೆಕ್ಟ್ ಮಾಡುವುದು: ನಿಮ್ಮ ಸರ್ವರ್ ಅನ್ನು ಸೇರಿಸಲು ನಿಮ್ಮ ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ ಅನ್ನು ಅಪ್ಡೇಟ್ ಮಾಡಿ. ನಿಮ್ಮ server.py ಫೈಲ್ನ ಪೂರ್ಣ ಪಾತ್ (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