શૂન્યથી Python MCP Server બનાવવું
Model Context Protocol (MCP) હવે એક ઇન્ડસ્ટ્રી સ્ટાન્ડર્ડ બની ગયું છે. તેના માસિક SDK ડાઉનલોડ્સ 97 મિલિયન સુધી પહોંચ્યા છે. દરેક મુખ્ય 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 ફાઇલ.
ડેવલપમેન્ટ માટે પ્રો ટિપ્સ:
- Tool returns માટે Pydantic models નો ઉપયોગ કરો. આ AI ને અસ્તવ્યસ્ત સ્ટ્રિંગ્સને બદલે સ્ટ્રક્ચર્ડ ડેટા આપે છે.
- સ્પષ્ટ docstrings લખો. AI એ નક્કી કરવા માટે કે તમારા ટૂલનો ઉપયોગ ક્યારે કરવો, આ વાંચે છે.
- Numeric inputs ને ક્લેમ્પ (clamp) કરો. AI મોડલ્સ ઘણીવાર 0 અથવા 100 જેવા અણધાર્યા નંબરો મોકલે છે.
- Exceptions હેન્ડલ કરો. તમારા સર્વરમાં આવતી કોઈ પણ ભૂલ (crash) આખા કનેક્શનને તોડી શકે છે.
ટેસ્ટિંગ અને ડિપ્લોયમેન્ટ
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