منصوبے کے بارے میں
یہ Microsoft SQL Server کے لیے ایک پہلے سے طے شدہ صرف پڑھنے کے لیے Model Context Protocol (MCP) سرور ہے، جو .NET NuGet پیکیج (Alyio.McpMssql) کے طور پر تقسیم کیا جاتا ہے اور .NET 8.0 اور 10.0 کو نشانہ بناتا ہے۔ اسے AI ایجنٹس اور ڈویلپرز کو کم سے کم آپریشنل اوور ہیڈ کے ساتھ SQL Server انسٹنسز کے ساتھ محفوظ طریقے سے تعامل کرنے کی اجازت دینے کے لیے ڈیزائن کیا گیا ہے۔ بنیادی صلاحیتوں میں کیٹلاگ میٹا ڈیٹا کی دریافت (ڈیٹا بیسز، اسکیماز، ٹیبلز، ویوز، اسٹورڈ پروسیجرز اور فنکشنز کی فہرست)، تشکیل کے قابل قطار حدود اور ٹائم آؤٹ کے ساتھ محفوظ پیرامیٹرائزڈ صرف SELECT کوئریز کا نفاذ، اور سست کوئری کی تشخیص کے لیے ایگزیکیوشن پلان کا تجزیہ شامل ہے۔ analyze_query ٹول ایگزیکیوشن پلانز کے کمپیکٹ JSON خلاصے لوٹاتا ہے جس میں لاگت، آپریٹر تفصیلات، کارڈینلٹی تخمینے، انتباہات، انڈیکس تجاویز، اور انتظار کے اعدادوشمار شامل ہوتے ہیں، مکمل XML پلانز ایک مخصوص ریسورس URI کے ذریعے دستیاب ہوتے ہیں جو 7 دن کے بعد ختم ہو جاتے ہیں۔ کنفیگریشن MCPMSSQL_ سے شروع ہونے والے ماحولیاتی متغیرات کے ذریعے سنگل کنکشن سیٹ اپس، اور صارف کی سطح کے appsettings.json فائلوں کے ذریعے ملٹی پروفائل سیٹ اپس کی حمایت کرتی ہے (یونکس جیسے سسٹمز پر ~/.config/mcp-mssql/appsettings.json، ونڈوز پر %USERPROFILE%\.config\mcp-mssql\appsettings.json پر واقع)۔ فی پروفائل ترتیبات میں کنکشن اسٹرنگز، کوئری قطار کیپس، ٹائم آؤٹ ویلیوز، اور اختیاری رائٹ رسائی شامل ہیں۔ یہ Microsoft.Data.SqlClient کے ذریعے Microsoft Entra تصدیق کے ساتھ Azure SQL کو مقامی طور پر سپورٹ کرتا ہے۔ سرور MCP ٹولز کا ایک سیٹ پیش کرتا ہے: list_profiles ترتیب شدہ کنکشنز کی گنتی کے لیے، get_server_properties سرور کی حدود اور خصوصیات حاصل کرنے کے لیے، list_objects اور get_object میٹا ڈیٹا کی دریافت کے لیے، run_query صرف SELECT کوئریز کے نفاذ کے لیے (1000 قطاروں تک ان لائن نتائج یا 50000 قطاروں تک سنیپ شاٹ CSV نتائج کی حمایت کے ساتھ، سنیپ شاٹس 1 دن کے بعد ختم ہو جاتے ہیں)، analyze_query ایگزیکیوشن پلان کے تجزیہ کے لیے، اور run_command DDL/DML رائٹ آپریشنز کے نفاذ کے لیے۔ run_command ٹول پہلے سے طے شدہ طور پر غیر فعال ہے، صرف ان پروفائلز پر فعال ہوتا ہے جو واضح طور پر AllowWrite=true مقرر کرتے ہیں، اور میزبان کی طرف سے تصدیق کی روک تھام کے لیے تباہ کن کے طور پر نشان زد ہے۔ سیکیورٹی پہلے سے طے شدہ طور پر صرف پڑھنے کے لیے ہے: رائٹ رسائی واضح طور پر فی پروفائل آپٹ ان ہے، اور کوئریز انجیکشن کو روکنے کے لیے پیرامیٹرائزڈ @paramName بائنڈنگ استعمال کرتی ہیں۔ AllowWrite جھنڈا ایپلیکیشن سطح کا محافظ ہے، ڈیٹا بیس سیکیورٹی کی حد نہیں؛ سخت صرف پڑھنے کی ضمانت کے لیے، دستاویزات db_datareader رول تک محدود لاگ ان استعمال کرنے کی تجویز دیتی ہیں۔ اسے تین طریقوں سے تعینات کیا جا سکتا ہے: براہ راست NuGet پیکیج سے چلائیں، عالمی .NET ٹول کے طور پر انسٹال کریں، یا سورس سے چلائیں۔ عام MCP ہوسٹس کے لیے کنفیگریشن سنیپٹ فراہم کیے گئے ہیں جن میں Cursor، Gemini، Codex، Open Code، Claude Code، اور GitHub Copilot شامل ہیں۔ انٹیگریشن ٹیسٹ کے لیے McpMssqlTest ڈیٹا بیس کے ساتھ ایک حقیقی SQL Server انسٹنس کی ضرورت ہوتی ہے، اور کراس پروسیس ڈیٹا بیس ریس کنڈیشنز سے بچنے کے لیے ٹیسٹ فریم ورکس کو ترتیب وار چلانے کی رہنمائی دی جاتی ہے۔ پروجیکٹ روڈ میپ میں MCP Tasks ایکسٹینشن (SEP-2663) کے لیے منصوبہ بند سپورٹ شامل ہے تاکہ بلاک کرنے کے بجائے پائیدار ٹاسک ہینڈلز کے ذریعے طویل چلنے والی کوئریز کو سنبھالا جا سکے، ایکسٹینشن کو کلائنٹ اپنانے کا انتظار ہے۔ پروجیکٹ MIT لائسنس کے تحت ہے۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.