𝗦𝗰𝗮𝗹𝗲वर 𝗠𝗖𝗣 𝗔𝘂𝘁𝗵𝗲𝗻𝘁𝗶𝗰𝗮𝘁𝗶𝗼𝗻 सोडवणे

तुम्ही एक MCP सर्व्हर तयार केला आहे. तो तुमच्या लॅपटॉपवर व्यवस्थित चालतो. तुमचा AI असिस्टंट Jira तिकीट तयार करू शकतो आणि डेटाबेस क्वेरी करू शकतो. जोपर्यंत तुमचा एखादा सहकारी तो वापरण्याची विनंती करत नाही, तोपर्यंत सर्व काही उत्तम असते.

जर तुम्हाला तुमचा MCP एक उत्पादन (product) म्हणून विकायचा असेल, तर तुम्हाला एका नवीन समस्येचा सामना करावा लागेल. तुम्हाला एकापेक्षा जास्त वापरकर्त्यांना (multiple users) सपोर्ट करावा लागेल. प्रत्येक वापरकर्त्याला स्वतःच्या API की आणि सुरक्षित प्रवेशाची (secure access) आवश्यकता असते.

बहुतेक डेव्हलपर्स येथे अपयशी ठरतात. ते दोन चुकीचे दृष्टिकोन अवलंबतात.

पहिला म्हणजे मॅन्युअल सेटअप. तुम्ही वापरकर्त्यांना रेपो क्लोन करण्यास, डिपेंडेंसीज इन्स्टॉल करण्यास आणि लोकल एन्व्हायरनमेंट की सेट करण्यास सांगता. यासाठी तासनतास लागतात. बहुतेक वापरकर्ते काम पूर्ण करण्यापूर्वीच सोडून देतात.

दुसरा म्हणजे सर्व्हरलेस (serverless) nightmare. तुम्ही Cloud Run किंवा Vercel वर डिप्लॉय करता. सर्व्हरलेस प्लॅटफॉर्म सेशन्स साठवत नसल्यामुळे, प्रत्येक रिक्वेस्ट एका नवीन इन्स्टन्सवर जाते. तुमचे वापरकर्ते एका लूपमध्ये अडकतात. ते ऑथेंटिकेट होतात, आणि त्यानंतर पुढच्या क्लिकवर त्यांना पुन्हा ऑथेंटिकेट करण्यास सांगितले जाते. हे उत्पादन नाही, तर एक तुटलेला प्रोटोटाइप आहे.

आम्ही BrainGrid मध्ये हे सोडवले आहे. आम्ही एका लोकल टूलपासून प्रोडक्शन-रेडी इन्फ्रास्ट्रक्चरकडे वळलो. आम्ही हे कसे केले ते खाली दिले आहे.

  • Redis Session Store वापरा: सर्व्हरलेस इन्स्टन्सेस बंद होतात आणि पुन्हा सुरू होतात. तुम्ही सेशन्स मेमरीमध्ये साठवू शकत नाही. सर्व इन्स्टन्सेसमध्ये सेशन डेटा जिवंत ठेवण्यासाठी Redis वापरा.
  • Multi-Tier Caching लागू करा: प्रथम लोकल मेमरी तपासा. जर तिथे नसेल, तर Redis तपासा. यामुळे प्रत्येक रिक्वेस्टवर महागड्या JWT व्हॅलिडेशनची गरज पडत नाही.
  • संवेदनशील डेटा एन्क्रिप्ट करा: Redis मध्ये टाकण्यापूर्वी सेशन डेटा एन्क्रिप्ट करण्यासाठी AES-256-GCM वापरा. यामुळे वापरकर्त्याची माहिती सुरक्षित राहते.
  • योग्य OAuth पॅटर्न वापरा: MCP क्लायंट्स विशिष्ट डिस्कव्हरी फ्लोची अपेक्षा करतात. त्रुटी टाळण्यासाठी तुम्ही तुमचे WWW-Authenticate हेडर्स योग्यरित्या फॉरमॅट केले पाहिजेत.
  • वेगासाठी ऑप्टिमाइझ करा: JWT व्हॅलिडेशनमुळे लॅटन्सी (latency) वाढते. व्हॅलिडेट केलेले सेशन्स कॅश केल्यामुळे, आम्ही रिस्पॉन्स टाइम लक्षणीयरीत्या कमी केला.

याचा परिणाम म्हणजे एक अशी प्रणाली जी एका वापरकर्त्यापासून ते एक हजार वापरकर्त्यांपर्यंत स्केल होऊ शकते. हे चालवण्यासाठी खूप कमी खर्च येतो आणि WorkOS किंवा Auth0 सारख्या प्रोव्हायडर्ससोबत सहज इंटिग्रेट होते.

स्वतःसाठी टूल्स बनवणे थांबवा. तुमच्या ग्राहकांसाठी इन्फ्रास्ट्रक्चर बनवायला सुरुवात करा.

स्त्रोत: https://dev.to/braingrid/from-local-hack-to-production-ready-how-we-solved-the-braingrids-mcp-multi-tenant-authentication-1m5e