Python MCP Server کو شروع سے بنانا

Model Context Protocol (MCP) اب ایک صنعتی معیار (industry standard) بن چکا ہے۔ اس کے ماہانہ SDK ڈاؤن لوڈز 97 ملین تک پہنچ چکے ہیں۔ ہر بڑا AI ٹول اسے استعمال کرتا ہے۔ زیادہ تر گائیڈز صرف یہ بتاتی ہیں کہ موجودہ سرورز کو کیسے انسٹال کیا جائے۔ یہ گائیڈ آپ کو دکھاتی ہے کہ 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):

  • ٹول کے نتائج (returns) کے لیے Pydantic ماڈلز کا استعمال کریں۔ یہ AI کو بکھرے ہوئے اسٹرنگز کے بجائے منظم ڈیٹا (structured data) فراہم کرتا ہے۔
  • واضح 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) استعمال کریں۔ ماحول کے مسائل (environment errors) سے بچنے کے لیے ہمیشہ سادہ 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