𝗦𝗼𝗹𝘃𝗶𝗻𝗴 𝗠𝗖𝗣 𝗔𝘂𝘁𝗵𝗲𝗻𝘁𝗶𝗰𝗮𝘁𝗶𝗼𝗻 𝗮𝘁 𝗦𝗰𝗮𝗹𝗲

మీరు ఒక MCP సర్వర్‌ను నిర్మించారు. అది మీ లాప్‌టాప్‌లో పనిచేస్తుంది. మీ AI అసిస్టెంట్ Jira టికెట్‌లను సృష్టించగలదు మరియు డేటాబేస్‌లను క్వెరీ చేయగలదు. మీ సహోద్యోగి దానిని ఉపయోగించమని అడిగే వరకు అంతా బాగుంటుంది.

మీరు మీ MCPని ఒక ఉత్పత్తిగా అమ్మాలనుకుంటే, మీరు ఒక కొత్త సమస్యను ఎదుర్కొంటారు. మీరు బహుళ వినియోగదారులకు (multiple users) మద్దతు ఇవ్వాలి. ప్రతి వినియోగదారునికి వారి స్వంత API కీలు మరియు సురక్షితమైన యాక్సెస్ అవసరం.

చాలా మంది డెవలపర్లు ఇక్కడే విఫలమవుతారు. వారు రెండు తప్పుడు పద్ధతులను ప్రయత్నిస్తారు.

మొదటిది మాన్యువల్ సెటప్ (manual setup). మీరు వినియోగదారులను రిపో (repo) క్లోన్ చేయమని, డిపెండెన్సీలను (dependencies) ఇన్‌స్టాల్ చేయమని మరియు లోకల్ ఎన్విరాన్మెంట్ కీలను సెటప్ చేయమని చెబుతారు. దీనికి గంటల సమయం పడుతుంది. చాలా మంది వినియోగదారులు పూర్తి చేయకముందే వదిలేస్తారు.

రెండవది సర్వర్‌లెస్ నైట్‌మేర్ (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