Laravel એપની અંદર MCP સર્વર મૂકવું

AI એજન્ટ્સને માત્ર સ્ક્રેપ કરેલા UI કરતાં વધુની જરૂર હોય છે. તેમને યોગ્ય પરમિશન સાથે ચોક્કસ ટૂલ્સને કોલ કરવાની રીતની જરૂર હોય છે. Model Context Protocol (MCP) આ જ કામ કરે છે.

મેં તાજેતરમાં સીધું જ એક Laravel એપ્લિકેશનમાં MCP સર્વર ઇન્ટિગ્રેટ કર્યું છે. હું આને સુરક્ષિત રીતે બનાવવા માટેના આર્કિટેક્ચરલ નિર્ણયો શેર કરવા માંગુ છું.

રિસેપ્શનિસ્ટનું રૂપક

તમારી એપને એક ઓફિસ બિલ્ડિંગ તરીકે વિચારો.

  • Web UI એ મનુષ્યો માટે લોબી છે.
  • REST API એ સિસ્ટમ્સ માટે સ્ટાફ એન્ટ્રન્સ છે.
  • MCP સર્વર એ AI એજન્ટ્સ માટે રિસેપ્શન ડેસ્ક છે.

એજન્ટ એક ID બતાવે છે અને ચોક્કસ કાર્ય માટે પૂછે છે. રિસેપ્શનિસ્ટ તેમને બિલ્ડિંગની ચાવીઓ આપતા નથી. તેઓ પરમિશન તપાસે છે, એક કાર્ય કરે છે, અને એક સ્ટ્રક્ચર્ડ જવાબ પરત કરે છે.

મુખ્ય ડિઝાઇન નિર્ણયો

1. એક સિંગલ એન્ડપોઇન્ટનો ઉપયોગ કરો

અલગ-અલગ ટૂલ્સ માટે ઘણા રૂટ્સ બનાવશો નહીં. એક /mcp એન્ડપોઇન્ટનો ઉપયોગ કરો. પ્રોટોકોલ આપમેળે ટૂલ ડિસ્કવરી હેન્ડલ કરે છે. સિંગલ સપાટી (surface) ને સુરક્ષિત કરવી અને ડોક્યુમેન્ટ કરવી સરળ છે.

2. ડ્યુઅલ ઓથેન્ટિકેશન સપોર્ટ કરો

અલગ-અલગ કોલર્સને અલગ-અલગ સિક્યુરિટી પદ્ધતિઓની જરૂર હોય છે:

  • ફર્સ્ટ-પાર્ટી કોલર્સ (જેમ કે CLI ટૂલ્સ) Sanctum પર્સનલ એક્સેસ ટોકન્સનો ઉપયોગ કરે છે.
  • થર્ડ-પાર્ટી એજન્ટ્સ (વપરાશકર્તાઓ વતી કામ કરતા) OAuth 2.1 નો ઉપયોગ કરે છે.

બંનેને હેન્ડલ કરવા માટે ડ્રાઇવર-સ્ટાઇલ રિઝોલ્વરનો ઉપયોગ કરો. ટૂલ કોડ ફક્ત ઓથેન્ટિકેટેડ યુઝર વિશે જ જાણવો જોઈએ, તેઓ કેવી રીતે લોગિન થયા તે વિશે નહીં.

3. હાલના RBAC ને લાગુ કરો

ઓથેન્ટિકેશન ફક્ત કોલર કોણ છે તે સાબિત કરે છે. તમારે હજુ પણ તેઓ શું કરી શકે છે તે તપાસવું જોઈએ. દરેક ટૂલ એક હાલની ક્ષમતા (ability) સાથે મેપ થવું જોઈએ. જો કોઈ યુઝર Web UI માં પાર્ટિસિપન્ટ્સ જોઈ શકતો નથી, તો તેઓ MCP દ્વારા પણ તે કરી શકવા જોઈએ નહીં.

4. ડેટા આઉટપુટ મર્યાદિત કરો

ક્યારેય ફૂલ ડેટાબેઝ મોડેલ પરત ન કરો. MCP આઉટપુટને પબ્લિક API ની જેમ ગણો. એજન્ટને જરૂર હોય તેવા ચોક્કસ ફીલ્ડ્સ જ પરત કરો. આ અકસ્માતે ડેટા લીક થતો અટકાવે છે.

સિક્યુરિટી માટે ટેસ્ટિંગ

તમારા ટેસ્ટ સાબિત કરવા જોઈએ કે સિસ્ટમ યોગ્ય રીતે નિષ્ફળ જાય છે (fails correctly). આ ટેસ્ટ કરો કે:

  • અનોથોરાઇઝ્ડ યુઝરને 403 Forbidden એરર મળે છે.
  • ઓથોરાઇઝ્ડ યુઝરને ફક્ત મંજૂર કરેલા ફીલ્ડ્સ જ મળે છે.

ઓટોનોમસ એજન્ટ્સનો ઉપયોગ કરતી વખતે ડેટા લીક સામે તમારો શ્રેષ્ઠ બચાવ એક સારો ટેસ્ટ સ્યુટ છે.

સારાંશ

જવાબદાર MCP સર્વર બનાવવા માટે, આ ત્રણ નિયમોનું પાલન કરો:

  • યોગ્ય સ્કીમનો ઉપયોગ કરીને દરેક કોલરને ઓથેન્ટિકેટ કરો.
  • તમારા હાલના પરમિશન મોડેલનો ઉપયોગ કરીને દરેક ટૂલને ઓથોરાઇઝ કરો.
  • દરેક ટૂલ આઉટપુટને મર્યાદિત પબ્લિક રિસોર્સ તરીકે ગણો.

Source: https://dev.to/nasrulhazim/putting-an-mcp-server-inside-a-laravel-app-dual-auth-and-rbac-for-ai-tools-5376