میں نے Oracle کے Managed MCP Server کو AI Chat Clients سے منسلک کر دیا
AI اسسٹنٹ اب صرف بات چیت سے کہیں زیادہ کر سکتے ہیں۔ وہ بیرونی ٹولز (external tools) کو کال کرنے کے لیے Model Context Protocol (MCP) کا استعمال کرتے ہیں۔
میں نے OCI میں Oracle کے managed MCP server کا تجربہ کیا۔ میرا مقصد Oracle E-Business Suite ڈیٹا بیس کے لیے ایک read-only ہیلتھ چیک (health check) بنانا تھا۔ میں AI سے پوچھنا چاہتا تھا: "کیا ڈیٹا بیس اپ ہے؟" یا "کون سے مینیجرز ڈاؤن ہیں؟"
یہ کام کر گیا۔ اب میرے پاس ایک AI اسسٹنٹ ہے جو ڈیٹا بیس کی لائیو ہیلتھ ڈیٹا حاصل کر رہا ہے۔ اس عمل کے دوران میں نے جو کچھ سیکھا وہ یہاں درج ہے۔
سیٹ اپ
- OCI میں managed MCP server استعمال کریں۔
- اسے read-only صارف (user) کے ذریعے ڈیٹا بیس کی طرف اشارہ کریں۔
- instance کے جائزہ اور فعال سیشنز (active sessions) کے لیے کسٹم SQL ٹولز بنائیں۔
- MCP اور OAuth کے ذریعے AI chat client کو منسلک کریں۔
اہم اسباق
نیٹ ورکنگ اور سیکیورٹی MCP سروس Oracle کی tenancy میں چلتی ہے۔ یہ اکیلے آپ کے نجی ڈیٹا بیس تک نہیں پہنچ سکتی۔ آپ کو اپنے VCN کے ساتھ ایک Private Endpoint منسلک کرنا ہوگا۔ محفوظ رہنے کے لیے، read-only ڈیٹا بیس صارف سے منسلک ہوں۔ یہ کسی بھی حادثاتی تحریر (writes) کو روکتا ہے۔
URL پر نظر رکھیں ہر OCI MCP server URL میں /20250830/ جیسا تاریخ کا حصہ شامل ہوتا ہے۔ اگر آپ پرانی تاریخ استعمال کرتے ہیں، تو آپ کو HTTP 404 error ملے گا۔ یہ غلطی ایسا لگتا ہے جیسے کوئی auth کا مسئلہ ہو، لیکن یہ صرف ایک غلط راستہ (path) ہے۔ اپنے کنسول سے بالکل درست URL کاپی کریں۔
OAuth کا مسئلہ بہت سے ویب پر مبنی chat UIs اس سرور کے ساتھ ناکام ہو جاتے ہیں۔ وہ سرور کے ذریعے OAuth سیٹنگز تلاش کرنے کی کوشش کرتے ہیں۔ Oracle غیر تصدیق شدہ (unauthenticated) درخواستوں کے لیے 404 واپس کرتا ہے۔ یہ لاگ ان کے عمل (login flow) کو روک دیتا ہے۔ اس کے علاوہ، headless web UIs میں انٹرایکٹو لاگ ان کے لیے براؤزر موجود نہیں ہوتا۔
User Tokens استعمال کریں، App Tokens نہیں میں نے براؤزر کو چھوڑنے کے لیے client-credentials token استعمال کرنے کی کوشش کی۔ اس نے تصدیق (authenticate) تو کر لی، لیکن میرے پاس اجازت (permissions) نہیں تھی۔ Oracle کے رولز صارفین (users) کے ساتھ منسلک ہوتے ہیں، ایپس کے ساتھ نہیں۔ آپ کو authorization_code (user) token استعمال کرنا چاہیے۔ صارف کے پاس رول ہوتا ہے، اس لیے ٹوکن کام کرتا ہے۔
Desktop Clients استعمال کریں Claude Desktop یا VS Code جیسے ڈیسک ٹاپ کلائنٹس اچھی طرح کام کرتے ہیں کیونکہ ان میں لاگ ان کے لیے بلٹ ان براؤزرز ہوتے ہیں۔ 404 discovery کے مسئلے سے بچنے کے لیے static OAuth metadata کے ساتھ mcp-remote استعمال کریں۔
مختصر ٹپس
- Windows پر، npx کے بجائے npx.cmd استعمال کریں۔
- ایک ہی OAuth callback port پر دو کلائنٹس نہ چلائیں۔
- SQL date formatting جیسے TO_CHAR میں کولنز (colons) استعمال کرنے سے گریز کریں۔ سسٹم انہیں bind variables سمجھ سکتا ہے۔ اس کے بجائے خام تاریخیں (raw dates) استعمال کریں۔
- تمام RAC instances دیکھنے کے لیے v$ کے بجائے gv$ views استعمال کریں۔
AI ایجنٹس کے ساتھ Managed MCP منظم ڈیٹا بیس کے کاموں کے لیے مفید ہے۔ اپنے کلائنٹ کو اپنے ڈیپلائمنٹ کے مطابق رکھیں اور ہمیشہ ریڈ-اونلی (read-only) صارفین کا استعمال کریں۔
اختیاری لرننگ کمیونٹی: https://t.me/GyaanSetuAi