یہ ریپوزیٹری ماڈل کانٹیکسٹ پروٹوکول (MCP) کی پائتھن امپلیمنٹیشن پر مشتمل ہے، جو دکھاتی ہے کہ کس طرح ایک سرور اور کلائنٹ ایپلیکیشن بنائی جاتی ہے جو MCP اسٹینڈرڈ کے ذریعے بات چیت کرتی ہیں۔
MCP امپلیمنٹیشن دو اہم اجزاء پر مشتمل ہے:
-
MCP سرور (
server.py) - ایک سرور جو فراہم کرتا ہے:- Tools: وہ فنکشنز جو دور سے کال کیے جا سکتے ہیں
- Resources: وہ ڈیٹا جو حاصل کیا جا سکتا ہے
- Prompts: زبان کے ماڈلز کے لیے پرامپٹ بنانے کے ٹیمپلیٹس
-
MCP کلائنٹ (
client.py) - ایک کلائنٹ ایپلیکیشن جو سرور سے جڑتی ہے اور اس کی خصوصیات استعمال کرتی ہے
یہ امپلیمنٹیشن MCP کی کئی اہم خصوصیات دکھاتی ہے:
completion- AI ماڈلز سے متن کی تکمیل پیدا کرتا ہے (نقلی)add- ایک سادہ کیلکولیٹر جو دو نمبروں کو جمع کرتا ہے
models://- دستیاب AI ماڈلز کی معلومات واپس کرتا ہےgreeting://{name}- دیے گئے نام کے لیے ذاتی نوعیت کا سلام واپس کرتا ہے
review_code- کوڈ کا جائزہ لینے کے لیے پرامپٹ تیار کرتا ہے
اس MCP امپلیمنٹیشن کو استعمال کرنے کے لیے، مطلوبہ پیکجز انسٹال کریں:
pip install mcp-server mcp-clientسرور کو ایک ٹرمینل ونڈو میں چلائیں:
python server.pyسرور کو MCP CLI کے ذریعے ڈیولپمنٹ موڈ میں بھی چلایا جا سکتا ہے:
mcp dev server.pyیا Claude Desktop میں انسٹال کیا جا سکتا ہے (اگر دستیاب ہو):
mcp install server.pyکلائنٹ کو دوسری ٹرمینل ونڈو میں چلائیں:
python client.pyیہ سرور سے جڑ جائے گا اور تمام دستیاب خصوصیات کا مظاہرہ کرے گا۔
کلائنٹ (client.py) MCP کی تمام صلاحیتوں کا مظاہرہ کرتا ہے:
python client.pyیہ سرور سے جڑ کر تمام خصوصیات بشمول tools، resources، اور prompts کو استعمال کرے گا۔ آؤٹ پٹ میں دکھایا جائے گا:
- کیلکولیٹر ٹول کا نتیجہ (5 + 7 = 12)
- "What is the meaning of life?" کے جواب میں completion ٹول کی آؤٹ پٹ
- دستیاب AI ماڈلز کی فہرست
- "MCP Explorer" کے لیے ذاتی سلام
- کوڈ ریویو پرامپٹ ٹیمپلیٹ
سرور FastMCP API استعمال کرتے ہوئے بنایا گیا ہے، جو MCP سروسز کی تعریف کے لیے اعلیٰ سطح کی تجریدات فراہم کرتا ہے۔ یہاں ایک سادہ مثال ہے کہ tools کیسے تعریف کیے جاتے ہیں:
@mcp.tool()
def add(a: int, b: int) -> int:
"""Add two numbers together
Args:
a: First number
b: Second number
Returns:
The sum of the two numbers
"""
logger.info(f"Adding {a} and {b}")
return a + bکلائنٹ MCP کلائنٹ لائبریری استعمال کرتا ہے تاکہ سرور سے جڑ سکے اور کال کر سکے:
async with stdio_client(server_params) as (reader, writer):
async with ClientSession(reader, writer) as session:
await session.initialize()
result = await session.call_tool("add", arguments={"a": 5, "b": 7})MCP کے بارے میں مزید معلومات کے لیے ملاحظہ کریں: https://modelcontextprotocol.io/
دستخطی نوٹ:
یہ دستاویز AI ترجمہ سروس Co-op Translator کے ذریعے ترجمہ کی گئی ہے۔ اگرچہ ہم درستگی کے لیے کوشاں ہیں، براہ کرم آگاہ رہیں کہ خودکار ترجمے میں غلطیاں یا عدم درستیاں ہو سکتی ہیں۔ اصل دستاویز اپنی مادری زبان میں معتبر ماخذ سمجھی جانی چاہیے۔ اہم معلومات کے لیے پیشہ ور انسانی ترجمہ کی سفارش کی جاتی ہے۔ اس ترجمے کے استعمال سے پیدا ہونے والی کسی بھی غلط فہمی یا غلط تشریح کی ذمہ داری ہم پر عائد نہیں ہوتی۔