Skip to content

Latest commit

 

History

History
225 lines (156 loc) · 16.8 KB

File metadata and controls

225 lines (156 loc) · 16.8 KB

ایم سی پی ڈیولپمنٹ کے بہترین طریقے

ایم سی پی ڈیولپمنٹ کے بہترین طریقے

(اوپر دی گئی تصویر پر کلک کریں تاکہ اس سبق کی ویڈیو دیکھ سکیں)

جائزہ

یہ سبق ایم سی پی سرورز اور فیچرز کو پروڈکشن ماحول میں ڈیولپ، ٹیسٹ اور ڈیپلائے کرنے کے لیے جدید بہترین طریقوں پر مرکوز ہے۔ جیسے جیسے ایم سی پی ایکوسسٹمز پیچیدہ اور اہم ہوتے جا رہے ہیں، قائم شدہ اصولوں کی پیروی کرنا قابل اعتماد، برقرار رکھنے کے قابل، اور انٹرآپریبلٹی کو یقینی بناتا ہے۔ یہ سبق حقیقی دنیا کے ایم سی پی امپلیمنٹیشنز سے حاصل کردہ عملی تجربات کو یکجا کرتا ہے تاکہ آپ کو مضبوط، مؤثر سرورز بنانے میں رہنمائی فراہم کی جا سکے۔

سیکھنے کے مقاصد

اس سبق کے اختتام تک، آپ قابل ہوں گے:

  • ایم سی پی سرور اور فیچر ڈیزائن میں انڈسٹری کے بہترین طریقے اپنانا
  • ایم سی پی سرورز کے لیے جامع ٹیسٹنگ حکمت عملی بنانا
  • پیچیدہ ایم سی پی ایپلیکیشنز کے لیے مؤثر، دوبارہ استعمال کے قابل ورک فلو پیٹرنز ڈیزائن کرنا
  • ایم سی پی سرورز میں مناسب ایرر ہینڈلنگ، لاگنگ، اور آبزرویبلٹی نافذ کرنا
  • ایم سی پی امپلیمنٹیشنز کو پرفارمنس، سیکیورٹی، اور مینٹین ایبلٹی کے لیے بہتر بنانا

ایم سی پی کے بنیادی اصول

خصوصی امپلیمنٹیشن طریقوں میں جانے سے پہلے، ان بنیادی اصولوں کو سمجھنا ضروری ہے جو مؤثر ایم سی پی ڈیولپمنٹ کی رہنمائی کرتے ہیں:

  1. معیاری کمیونیکیشن: ایم سی پی JSON-RPC 2.0 کو بنیاد کے طور پر استعمال کرتا ہے، جو تمام امپلیمنٹیشنز میں درخواستوں، جوابات، اور ایرر ہینڈلنگ کے لیے ایک مستقل فارمیٹ فراہم کرتا ہے۔

  2. یوزر سینٹرک ڈیزائن: ہمیشہ اپنے ایم سی پی امپلیمنٹیشنز میں یوزر کی رضامندی، کنٹرول، اور شفافیت کو ترجیح دیں۔

  3. سیکیورٹی پہلے: مضبوط سیکیورٹی اقدامات نافذ کریں، جن میں آتھینٹیکیشن، آتھورائزیشن، ویلیڈیشن، اور ریٹ لمیٹنگ شامل ہیں۔

  4. ماڈیولر آرکیٹیکچر: اپنے ایم سی پی سرورز کو ماڈیولر اپروچ کے ساتھ ڈیزائن کریں، جہاں ہر ٹول اور ریسورس کا ایک واضح، مرکوز مقصد ہو۔

  5. اسٹیٹ فل کنیکشنز: ایم سی پی کی صلاحیت کا فائدہ اٹھائیں تاکہ متعدد درخواستوں کے درمیان اسٹیٹ برقرار رکھا جا سکے، زیادہ مربوط اور کانٹیکسٹ-آویر انٹریکشنز کے لیے۔

ایم سی پی کے آفیشل بہترین طریقے

ایم سی پی کے آفیشل ڈاکیومنٹیشن سے حاصل کردہ بہترین طریقے درج ذیل ہیں:

سیکیورٹی کے بہترین طریقے

  1. یوزر کی رضامندی اور کنٹرول: ڈیٹا تک رسائی یا آپریشنز انجام دینے سے پہلے ہمیشہ واضح یوزر کی رضامندی طلب کریں۔ یہ واضح کریں کہ کون سا ڈیٹا شیئر کیا جا رہا ہے اور کون سی کارروائیاں مجاز ہیں۔

  2. ڈیٹا پرائیویسی: یوزر ڈیٹا کو صرف واضح رضامندی کے ساتھ ظاہر کریں اور مناسب ایکسیس کنٹرولز کے ذریعے اس کی حفاظت کریں۔ غیر مجاز ڈیٹا ٹرانسمیشن سے بچیں۔

  3. ٹول سیفٹی: کسی بھی ٹول کو انووک کرنے سے پہلے واضح یوزر کی رضامندی طلب کریں۔ یقینی بنائیں کہ یوزرز ہر ٹول کی فعالیت کو سمجھتے ہیں اور مضبوط سیکیورٹی باؤنڈریز نافذ کریں۔

  4. ٹول پرمیشن کنٹرول: یہ کنفیگر کریں کہ ماڈل کو سیشن کے دوران کون سے ٹولز استعمال کرنے کی اجازت ہے، تاکہ صرف واضح طور پر مجاز ٹولز قابل رسائی ہوں۔

  5. آتھینٹیکیشن: ٹولز، ریسورسز، یا حساس آپریشنز تک رسائی دینے سے پہلے مناسب آتھینٹیکیشن طلب کریں، جیسے API کیز، OAuth ٹوکنز، یا دیگر محفوظ آتھینٹیکیشن طریقے۔

  6. پیرامیٹر ویلیڈیشن: تمام ٹول انووکیشنز کے لیے ویلیڈیشن نافذ کریں تاکہ خراب یا بدنیتی پر مبنی ان پٹ کو ٹول امپلیمنٹیشنز تک پہنچنے سے روکا جا سکے۔

  7. ریٹ لمیٹنگ: سرور ریسورسز کے منصفانہ استعمال کو یقینی بنانے اور غلط استعمال کو روکنے کے لیے ریٹ لمیٹنگ نافذ کریں۔

امپلیمنٹیشن کے بہترین طریقے

  1. کیپابیلیٹی نیگوشیئیشن: کنیکشن سیٹ اپ کے دوران، سپورٹڈ فیچرز، پروٹوکول ورژنز، دستیاب ٹولز، اور ریسورسز کے بارے میں معلومات کا تبادلہ کریں۔

  2. ٹول ڈیزائن: ایسے ٹولز بنائیں جو ایک کام کو بہترین طریقے سے انجام دیں، بجائے اس کے کہ ایسے ٹولز بنائیں جو متعدد کاموں کو سنبھالیں۔

  3. ایرر ہینڈلنگ: مسائل کی تشخیص، ناکامیوں کو مؤثر طریقے سے سنبھالنے، اور قابل عمل فیڈبیک فراہم کرنے کے لیے معیاری ایرر میسیجز اور کوڈز نافذ کریں۔

  4. لاگنگ: پروٹوکول انٹریکشنز کی آڈٹنگ، ڈیبگنگ، اور مانیٹرنگ کے لیے اسٹرکچرڈ لاگز کنفیگر کریں۔

  5. پروگریس ٹریکنگ: طویل آپریشنز کے لیے پروگریس اپڈیٹس رپورٹ کریں تاکہ ریسپانسیو یوزر انٹرفیسز کو فعال کیا جا سکے۔

  6. ریکویسٹ کینسلیشن: کلائنٹس کو ان فلائٹ ریکویسٹز کینسل کرنے کی اجازت دیں جو اب ضروری نہیں ہیں یا بہت زیادہ وقت لے رہی ہیں۔

اضافی حوالہ جات

ایم سی پی کے بہترین طریقوں کے بارے میں تازہ ترین معلومات کے لیے، درج ذیل کو دیکھیں:

  1. کارکرد کے معیار: کارکردگی کے معیار کو برقرار رکھیں تاکہ خرابیوں کا پتہ چل سکے
  2. سیکیورٹی اسکینز: پائپ لائن کے حصے کے طور پر سیکیورٹی ٹیسٹنگ کو خودکار بنائیں

مثال CI پائپ لائن (GitHub Actions)

name: MCP Server Tests

on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

jobs:
  test:
    runs-on: ubuntu-latest
    
    steps:
    - uses: actions/checkout@v2
    
    - name: Set up Runtime
      uses: actions/setup-dotnet@v1
      with:
        dotnet-version: '8.0.x'
    
    - name: Restore dependencies
      run: dotnet restore
    
    - name: Build
      run: dotnet build --no-restore
    
    - name: Unit Tests
      run: dotnet test --no-build --filter Category=Unit
    
    - name: Integration Tests
      run: dotnet test --no-build --filter Category=Integration
      
    - name: Performance Tests
      run: dotnet run --project tests/PerformanceTests/PerformanceTests.csproj

MCP وضاحت کے مطابق جانچ

یقین دہانی کریں کہ آپ کا سرور MCP وضاحت کو صحیح طریقے سے نافذ کرتا ہے۔

اہم تعمیل کے علاقے

  1. API اینڈ پوائنٹس: مطلوبہ اینڈ پوائنٹس (/resources, /tools وغیرہ) کی جانچ کریں
  2. درخواست/جواب فارمیٹ: اسکیمہ کی تعمیل کی تصدیق کریں
  3. غلطی کے کوڈز: مختلف حالات کے لیے صحیح اسٹیٹس کوڈز کی تصدیق کریں
  4. مواد کی اقسام: مختلف مواد کی اقسام کو سنبھالنے کی جانچ کریں
  5. تصدیق کا عمل: وضاحت کے مطابق تصدیق کے طریقہ کار کی تصدیق کریں

تعمیل ٹیسٹ سوٹ

[Fact]
public async Task Server_ResourceEndpoint_ReturnsCorrectSchema()
{
    // Arrange
    var client = new HttpClient();
    client.DefaultRequestHeaders.Add("Authorization", "Bearer test-token");
    
    // Act
    var response = await client.GetAsync("http://localhost:5000/api/resources");
    var content = await response.Content.ReadAsStringAsync();
    var resources = JsonSerializer.Deserialize<ResourceList>(content);
    
    // Assert
    Assert.Equal(HttpStatusCode.OK, response.StatusCode);
    Assert.NotNull(resources);
    Assert.All(resources.Resources, resource => 
    {
        Assert.NotNull(resource.Id);
        Assert.NotNull(resource.Type);
        // Additional schema validation
    });
}

مؤثر MCP سرور ٹیسٹنگ کے لیے 10 بہترین تجاویز

  1. ٹول کی تعریفوں کو الگ سے جانچیں: اسکیمہ کی تعریفوں کو ٹول کی منطق سے الگ جانچیں
  2. پیرامیٹرائزڈ ٹیسٹس کا استعمال کریں: مختلف ان پٹ، بشمول کنارے کے کیسز کے ساتھ ٹولز کی جانچ کریں
  3. غلطی کے جوابات کی جانچ کریں: تمام ممکنہ غلطی کی حالتوں کے لیے مناسب غلطی کے جوابات کی تصدیق کریں
  4. تصدیق کے منطق کی جانچ کریں: مختلف صارف کے کرداروں کے لیے مناسب رسائی کنٹرول کو یقینی بنائیں
  5. ٹیسٹ کوریج کی نگرانی کریں: اہم راستے کے کوڈ کی اعلیٰ کوریج کا مقصد رکھیں
  6. اسٹریمنگ جوابات کی جانچ کریں: اسٹریمنگ مواد کو صحیح طریقے سے سنبھالنے کی تصدیق کریں
  7. نیٹ ورک کے مسائل کی نقل کریں: خراب نیٹ ورک کی حالتوں میں رویے کی جانچ کریں
  8. وسائل کی حدوں کی جانچ کریں: کوٹہ یا شرح کی حدوں تک پہنچنے پر رویے کی تصدیق کریں
  9. رجعتی ٹیسٹس کو خودکار بنائیں: ایک سوٹ بنائیں جو ہر کوڈ تبدیلی پر چلتا ہو
  10. ٹیسٹ کیسز کو دستاویزی بنائیں: ٹیسٹ کے منظرناموں کی واضح دستاویزات برقرار رکھیں

عام ٹیسٹنگ کی غلطیاں

  • خوشگوار راستے کی جانچ پر زیادہ انحصار: غلطی کے کیسز کو اچھی طرح جانچنے کو یقینی بنائیں
  • کارکردگی کی جانچ کو نظرانداز کرنا: پیداوار پر اثر ڈالنے سے پہلے رکاوٹوں کی شناخت کریں
  • صرف تنہائی میں جانچ کرنا: یونٹ، انٹیگریشن، اور E2E ٹیسٹس کو یکجا کریں
  • API کوریج کی کمی: تمام اینڈ پوائنٹس اور خصوصیات کی جانچ کو یقینی بنائیں
  • غیر مستقل ٹیسٹ ماحول: کنٹینرز کا استعمال کریں تاکہ مستقل ٹیسٹ ماحول کو یقینی بنایا جا سکے

نتیجہ

ایک جامع ٹیسٹنگ حکمت عملی قابل اعتماد، اعلیٰ معیار کے MCP سرورز کی ترقی کے لیے ضروری ہے۔ اس گائیڈ میں بیان کردہ بہترین طریقوں اور تجاویز کو نافذ کرکے، آپ اپنے MCP نفاذ کو معیار، قابل اعتماد، اور کارکردگی کے اعلیٰ ترین معیار پر پورا اترنے کو یقینی بنا سکتے ہیں۔

اہم نکات

  1. ٹول ڈیزائن: سنگل ذمہ داری اصول پر عمل کریں، ڈیپینڈنسی انجیکشن کا استعمال کریں، اور کمپوزیبلٹی کے لیے ڈیزائن کریں
  2. اسکیمہ ڈیزائن: واضح، اچھی طرح سے دستاویزی اسکیمہ بنائیں جن میں مناسب توثیق کی پابندیاں ہوں
  3. غلطی کا انتظام: مہذب غلطی کا انتظام، ساختی غلطی کے جوابات، اور دوبارہ کوشش کرنے کی منطق نافذ کریں
  4. کارکردگی: کیشنگ، غیر متزامن پروسیسنگ، اور وسائل کی حد بندی کا استعمال کریں
  5. سیکیورٹی: مکمل ان پٹ توثیق، اجازت کی جانچ، اور حساس ڈیٹا کے انتظام کو نافذ کریں
  6. جانچ: جامع یونٹ، انٹیگریشن، اور اینڈ ٹو اینڈ ٹیسٹس بنائیں
  7. ورک فلو پیٹرنز: قائم شدہ پیٹرنز جیسے چینز، ڈسپیچرز، اور متوازی پروسیسنگ کو نافذ کریں

مشق

ایک دستاویز پروسیسنگ سسٹم کے لیے MCP ٹول اور ورک فلو ڈیزائن کریں جو:

  1. متعدد فارمیٹس (PDF, DOCX, TXT) میں دستاویزات قبول کرتا ہو
  2. دستاویزات سے متن اور کلیدی معلومات نکالتا ہو
  3. دستاویزات کو قسم اور مواد کے لحاظ سے درجہ بندی کرتا ہو
  4. ہر دستاویز کا خلاصہ تیار کرتا ہو

اس منظرنامے کے لیے ٹول اسکیمہ، غلطی کا انتظام، اور ایک ورک فلو پیٹرن نافذ کریں۔ غور کریں کہ آپ اس نفاذ کی جانچ کیسے کریں گے۔

وسائل

  1. MCP کمیونٹی میں شامل ہوں Azure AI Foundry Discord Community پر تاکہ تازہ ترین ترقیات سے آگاہ رہ سکیں
  2. اوپن سورس MCP پروجیکٹس میں تعاون کریں
  3. اپنی تنظیم کے AI اقدامات میں MCP اصولوں کا اطلاق کریں
  4. اپنی صنعت کے لیے مخصوص MCP نفاذات کو دریافت کریں
  5. مخصوص MCP موضوعات جیسے ملٹی موڈل انٹیگریشن یا انٹرپرائز ایپلیکیشن انٹیگریشن پر اعلیٰ کورسز لینے پر غور کریں
  6. Hands on Lab کے ذریعے سیکھے گئے اصولوں کا استعمال کرتے ہوئے اپنے MCP ٹولز اور ورک فلو بنانے کے ساتھ تجربہ کریں

اگلا: بہترین طریقے کیس اسٹڈیز

ڈسکلیمر:
یہ دستاویز AI ترجمہ سروس Co-op Translator کا استعمال کرتے ہوئے ترجمہ کی گئی ہے۔ ہم درستگی کے لیے کوشش کرتے ہیں، لیکن براہ کرم آگاہ رہیں کہ خودکار ترجمے میں غلطیاں یا غیر درستیاں ہو سکتی ہیں۔ اصل دستاویز کو اس کی اصل زبان میں مستند ذریعہ سمجھا جانا چاہیے۔ اہم معلومات کے لیے، پیشہ ور انسانی ترجمہ کی سفارش کی جاتی ہے۔ ہم اس ترجمے کے استعمال سے پیدا ہونے والی کسی بھی غلط فہمی یا غلط تشریح کے ذمہ دار نہیں ہیں۔