𝗠𝗼𝗱𝗲𝗹 𝗖𝗼𝗻𝘁𝗲𝘅𝘁 𝗣𝗿𝗼𝘁𝗼𝗰𝗼𝗹 𝗘𝘅𝗽𝗹𝗮𝗶𝗻𝗲𝗱
اگر آپ کسی LLM کو ڈیٹا بیس یا کسی API سے جوڑتے ہیں، تو آپ کو 'glue code' لکھنا پڑتا ہے۔ آپ اسے ایک ماڈل کے لیے لکھتے ہیں۔ پھر آپ اسے اگلے ماڈل کے لیے دوبارہ لکھتے ہیں۔ اس سے انٹیگریشنز کا ایک جال بن جاتا ہے۔
Model Context Protocol (MCP) اس مسئلے کو حل کرتا ہے۔ یہ AI کے لیے ایک USB-C پورٹ کی طرح کام کرتا ہے۔ ہر ڈیوائس کے لیے الگ الگ کیبلز کے بجائے، ہر کوئی ایک ہی معیاری کنیکٹر استعمال کرتا ہے۔
MCP انٹیگریشنز کے حساب کتاب کو M x N سے بدل کر M + N کر دیتا ہے۔
- ٹول بنانے والے ایک MCP سرور لکھتے ہیں۔
- ایپلی کیشن بنانے والے ایک MCP کلائنٹ شامل کرتے ہیں۔
- کوئی بھی ہوسٹ جو MCP کو سمجھتا ہو، وہ کسی بھی سرور کو استعمال کر سکتا ہے۔
اس کے آرکیٹیکچر کے تین کردار ہیں:
• Host: وہ AI ایپ جو آپ استعمال کرتے ہیں، جیسے Claude Code یا کوئی IDE۔ یہ فیصلہ کرتا ہے کہ کن سرورز سے جڑنا ہے۔ • Client: ہوسٹ کے اندر موجود کنیکٹر۔ یہ سرور کے ساتھ کنکشن برقرار رکھتا ہے۔ • Server: وہ پروگرام جو آپ بناتے ہیں۔ یہ ٹولز، ڈیٹا، یا پرامپٹس فراہم کرتا ہے۔
آپ تین بنیادی پرائمٹیوز (primitives) استعمال کرتے ہیں:
- Tools: وہ فنکشنز جنہیں ماڈل کارروائی کرنے کے لیے کال کرتا ہے، جیسے ای میل بھیجنا یا ڈیٹا بیس سے معلومات حاصل کرنا۔
- Resources: صرف پڑھنے کے قابل (read-only) ڈیٹا جسے ایپ کانٹیکسٹ میں لاتی ہے، جیسے کوئی فائل یا لاگ۔
- Prompts: دوبارہ استعمال ہونے والے ٹیمپلیٹس جو صارفین کو مخصوص کام شروع کرنے میں مدد دیتے ہیں۔
آپ FastMCP SDK کا استعمال کرتے ہوئے Python میں ایک سرور بنا سکتے ہیں۔ یہاں ایک سادہ مثال ہے:
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("demo-tools")
@mcp.tool()
def word_count(text: str) -> int:
"""Count the words in a text."""
return len(text.split())
@mcp.resource("notes://team")
def team_notes() -> str:
"""Expose team notes."""
return "Release freeze starts Friday."
@mcp.prompt()
def code_review(language: str, code: str) -> str:
"""Template for reviewing code."""
return f"Review this {language} code: {code}"
if __name__ == "__main__":
mcp.run()
جب آپ سرورز بنائیں، تو ان اصولوں کو ذہن میں رکھیں:
- Security: تباہ کن (destructive) ٹولز کے لیے صارف کی منظوری لیں۔ تمام آرگومنٹ (arguments) کی تصدیق کریں۔
- Context: ٹول کی تفصیلات مختصر رکھیں۔ طویل تفصیلات آپ کے ٹوکن بجٹ کو ختم کر دیتی ہیں۔
- Errors: واضح پیغامات واپس کریں تاکہ ماڈل اپنی غلطیاں خود ٹھیک کر سکے۔
MCP ٹولز کو ایک قابلِ استعمال اثاثہ بنا دیتا ہے۔ اسے ایک بار لکھیں اور ہر ماڈل کو اسے استعمال کرنے دیں۔
Source: https://dev.to/galian/model-context-protocol-explained-build-your-first-mcp-server-in-python-ian
Optional learning community: https://t.me/GyaanSetuAi