Skip to content

MCP سرور بنانا: ساخت اور ایک پاکستانی مثال

Building an MCP server: structure and a Pakistani example

40 منٹ

تین طریقے

  1. MCP سرور کئی زبانوں میں لکھے جا سکتے ہیں، مگر Anthropic کی سرکاری SDKs 2024 کے آخر سے TypeScript اور Python پر زور دیتی ہیں۔ دونوں ایک ہی پروٹوکول بولتے ہیں۔ وہی زبان چنیں جو آپ کی ٹیم پہلے سے استعمال کر رہی ہے۔ TypeScript سرور npm install @modelcontextprotocol/sdk سے شروع ہوتا ہے۔ Python سرور pip install mcp سے۔ آگے کا ڈھانچہ مکینیکل ہے: server class import کریں، ٹولز اور ان کی ان پُٹ schemas اعلان کریں، ہر ٹول کے لیے handler فنکشن لکھیں، stdin اور stdout کو transport بنائیں، لوپ شروع کریں۔ Transport عام طور پر standard input/output ہے کیونکہ ماڈل کلائنٹ سرور کو child process کے طور پر چلاتا ہے۔

  2. اسے زمین پر اتارنے کے لیے ایک پاکستانی مثال۔ ہم 'fbr-ntn' نامی MCP سرور بنائیں گے جو ایک ہی ٹول verify_ntn دکھاتا ہے۔ سرور حالیہ تلاشوں کا ایک چھوٹا SQLite cache رکھتا ہے تاکہ rate limit بچائی جائے۔ Claude ٹول کال کرے، handler پہلے cache دیکھے، نہ ملے تو FBR کے Online Verification endpoint پر اصل کال کرے، جواب محفوظ کرے اور ماڈل کو دے۔ پورا سرور تقریباً اسی لائنوں کا TypeScript ہے۔ اصل کام کوڈ نہیں؛ ان اسی لائنوں میں چھپے ڈیزائن کے فیصلے ہیں۔

  3. فیصلہ ایک: FBR API key کہاں رہے گی؟ کوڈ میں نہیں۔ ماڈل context میں نہیں۔ سرور اسے environment variable سے startup پر پڑھے۔ ماڈل کو کبھی نظر نہیں آتی؛ ماڈل کو صرف معلوم ہے کہ ٹول موجود ہے۔ فیصلہ دو: ٹول کی وضاحت کیا کہے؟ صرف 'NTN verify' نہیں بلکہ 'FBR NTN کی active taxpayer حیثیت کی تصدیق کرتا ہے۔ active یا inactive اور آخری filing سال واپس کرتا ہے۔ صرف اس وقت استعمال کریں جب صارف صراحت سے پاکستانی کاروباری شناخت کی تصدیق مانگے۔ ذاتی CNIC تلاش کے لیے استعمال نہ کریں۔' منفی مثال مثبت کی طرح اہم ہے۔ فیصلہ تین: error handling۔ FBR 429 دے تو handler exponential backoff کرے؛ 5xx دے تو واضح MCP error لوٹائے تاکہ ماڈل دوبارہ کوشش یا معذرت کا فیصلہ کر سکے۔

فوری چیک

فوری چیک: جدید AI روایتی قاعدہ بنیاد پروگرام سے کس طرح مختلف ہے؟

کیوں؟

کیوں کا پہلا درجہ: سرور کیوں، ماڈل سے براہِ راست FBR کیوں نہیں؟ کیونکہ ماڈل راز نہیں رکھ سکتا۔ جو چیز اس کے context میں جاتی ہے، آؤٹ پُٹ میں لیک ہو سکتی ہے۔ MCP سرور API key وہاں رکھتا ہے جہاں ماڈل کبھی نہیں دیکھتا۔ ماڈل کو صرف دروازہ نظر آتا ہے، چابی نہیں۔

Claude کے ساتھ آزمائیں

Claude یا ChatGPT کے ساتھ آزمانے کے لیے پرامپٹ: 'اس سبق میں بیان کردہ verify_ntn ٹول کے لیے کم سے کم TypeScript MCP سرور بنائیں۔ اردو میں in-line تبصرے شامل کریں جو ہر فیصلہ سمجھائیں: key کہاں ہے، exponential backoff کیوں، test fixture کیسا۔ سرکاری @modelcontextprotocol/sdk استعمال کریں۔ ایسے فیلڈز نہ بنائیں جو FBR واپس نہیں کرتا۔' آؤٹ پُٹ چلائیں اور ہر من گھڑت import درست کریں۔

ماخذ

ماخذ اور مزید مطالعہ۔ MCP specification (modelcontextprotocol.io)۔ TypeScript SDK (github.com/modelcontextprotocol/typescript-sdk)۔ Python SDK (github.com/modelcontextprotocol/python-sdk)۔ مثالی servers (github.com/modelcontextprotocol/servers)۔ Anthropic docs، 'Build your first MCP server'۔ FBR Online Verification Services۔ PDPA-2023 متن۔