Python MCP Server-ஐ ஆரம்பத்திலிருந்து உருவாக்குதல்

Model Context Protocol (MCP) இப்போது ஒரு தொழில்துறை தரநிலையாக (industry standard) உள்ளது. இது மாதத்திற்கு 97 மில்லியன் SDK பதிவிறக்கங்களை எட்டியுள்ளது. ஒவ்வொரு முக்கிய AI கருவியும் இதைப் பயன்படுத்துகிறது. பெரும்பாலான வழிகாட்டிகள் ஏற்கனவே உள்ள சர்வர்களை எவ்வாறு நிறுவுவது என்பதை மட்டுமே காட்டுகின்றன. இந்த வழிகாட்டி Python மற்றும் GitHub API ஆகியவற்றைப் பயன்படுத்தி உங்களது சொந்த சர்வரை எவ்வாறு உருவாக்குவது என்பதைக் காட்டுகிறது.

MCP என்றால் என்ன? இது AI கிளையண்டுகள் (clients) வெளிப்புறச் சேவைகளை (external services) அழைக்க அனுமதிக்கும் ஒரு புரோட்டோகால் ஆகும். Claude அல்லது Cursor போன்ற கருவிகளிலிருந்து வரும் கோரிக்கைகளை (requests) உங்கள் சர்வர் கையாளும்.

MCP-இன் மூன்று முக்கியப் பகுதிகள்:

  • Tools: ஒரு செயலைச் செய்ய அல்லது தரவைப் பெற AI அழைக்கும் செயல்பாடுகள் (Functions).
  • Resources: கோப்புகள் அல்லது தரவுத்தளப் பதிவுகள் போன்ற படிக்க மட்டுமே கூடிய (read-only) தரவு முனையங்கள் (endpoints).
  • Prompts: நிலையான பணிப்பாய்வுகளுக்கு (workflows) மீண்டும் பயன்படுத்தக்கூடிய அறிவுறுத்தல் டெம்ப்ளேட்டுகள் (instruction templates).

உங்கள் திட்டத்தை அமைத்தல் (Setup Your Project) ஒரு டைரக்டரியை உருவாக்கி, uv பயன்படுத்தித் தேவையான லைப்ரரிகளை (libraries) நிறுவவும்:

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

சர்வரை உருவாக்குதல் கடினமான வேலைகளைக் கையாள FastMCP-ஐப் பயன்படுத்தவும். ஒரு சிறந்த MCP சர்வர் மூன்று குறிப்பிட்ட கோப்புகளைப் பயன்படுத்துகிறது: server.py, pyproject.toml, மற்றும் உங்கள் GitHub டோக்கனுக்கான விருப்பத்தேர்வு .env கோப்பு.

மேம்பாட்டிற்கான (Development) சிறந்த குறிப்புகள்:

  • Tool முடிவுகளுக்கு Pydantic மாடல்களைப் பயன்படுத்தவும். இது குழப்பமான சரங்களுக்கு (strings) பதிலாக AI-க்கு கட்டமைக்கப்பட்ட தரவை (structured data) வழங்கும்.
  • தெளிவான docstrings-களை எழுதவும். உங்கள் கருவியைப் எப்போது பயன்படுத்த வேண்டும் என்பதைத் தீர்மானிக்க AI இவற்றை வாசிக்கும்.
  • எண் உள்ளீடுகளைக் கட்டுப்படுத்தவும் (Clamp numeric inputs). AI மாடல்கள் பெரும்பாலும் 0 அல்லது 100 போன்ற எதிர்பாராத எண்களை அனுப்பும்.
  • விதிவிலக்குகளைக் (exceptions) கையாளவும். உங்கள் சர்வரில் ஏற்படும் ஒரு செயலிழப்பு (crash) முழு இணைப்பையும் துண்டித்துவிடும்.

சோதனை மற்றும் பயன்பாட்டு deployment Claude-இல் சோதிக்கக் காத்திருக்க வேண்டாம். முதலில் MCP Inspector-ஐப் பயன்படுத்தவும். இதை இயக்கவும்:

uv run mcp dev server.py

இது http://localhost:5173 இல் ஒரு உள்ளூர் இடைமுகத்தைத் (local interface) திறக்கும். நீங்கள் கருவிகள், ஆதாரங்கள் மற்றும் ப்ராம்ப்ட்களை ஒரே இடத்தில் சோதிக்கலாம்.

Claude Desktop-உடன் இணைத்தல்: உங்கள் சர்வரைச் சேர்க்க உங்கள் config கோப்பைத் புதுப்பிக்கவும். உங்கள் server.py கோப்பிற்கான முழுப் பாதையைப் (full path) பயன்படுத்தவும். சூழல் பிழைகளைத் (environment errors) தவிர்க்க எப்போதும் வெறும் python கட்டளைக்குப் பதிலாக uv run-ஐப் பயன்படுத்தவும்.

Claude Code-உடன் இணைத்தல்: CLI கட்டளையைப் பயன்படுத்தவும்:

claude mcp add github-tools -- uv run python /path/to/server.py

தனிப்பயன் (custom) MCP சர்வர்களை உருவாக்குவது உங்கள் AI பணிப்பாய்வுகளுக்கு நேரடித் தரவைக் (live data) கொண்டு வர அனுமதிக்கிறது.

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