Model Context Protocol (MCP) അതിന്റെ session state ഒഴിവാക്കി, പകരം receipt-style റിക്വസ്റ്റുകളും പുതിയ server/discover കമാൻഡും അവതരിപ്പിച്ചു. ഡെവലപ്പർമാർക്ക് ഇപ്പോൾ AWS Lambda പോലുള്ള serverless പ്ലാറ്റ്ഫോമുകളിൽ MCP പ്രവർത്തിപ്പിക്കാൻ കഴിയും, ഇത് വിശ്വാസ്യതയെ ദീർഘകാലമായി ബാധിച്ചുകൊണ്ടിരുന്ന “single waiter” തടസ്സങ്ങൾ ഒഴിവാക്കാൻ സഹായിക്കുന്നു.
പഴയ മോഡൽ പ്രധാനമായിരുന്നത് എന്തുകൊണ്ട്
തുടക്കത്തിൽ MCP ഒരു പ്രത്യേക സെർവറുമായി നിരന്തരമായ ഒരു കണക്ഷൻ (persistent connection) ആവശ്യപ്പെട്ടിരുന്നു. സെർവർ ഒരു ഉപയോക്താവിന്റെ “table number” സൂക്ഷിച്ചിരുന്നു—അതായത് കോൺടെക്സ്റ്റ് (context), നിയമങ്ങൾ (rules), പെൻഡിംഗ് ആക്ഷനുകൾ എന്നിവ സംഭരിക്കുന്ന ഒരു ഹിഡൻ സെഷൻ (hidden session). ആ സെർവർ ക്രാഷ് ആകുമ്പോൾ, ആ സെഷനും ഇല്ലാതാകുകയും ക്ലയന്റിന് എല്ലാം ആദ്യം മുതൽ തുടങ്ങേണ്ടി വരികയും ചെയ്യുമായിരുന്നു.
ഈ അപ്ഡേറ്റിലെ മാറ്റങ്ങൾ എന്തൊക്കെയാണ്
- No sessions – ഏതൊരു കാഷ്യർക്കും വായിക്കാവുന്ന ഒരു റെസ്റ്റോറന്റ് രസീത് പോലെ, ഓരോ റിക്വസ്റ്റും സെർവറിന് ആവശ്യമായ എല്ലാ വിവരങ്ങളും ഉൾക്കൊള്ളുന്നു. “initialize” ഹാൻഡ്ഷേക്ക് (handshake) ഇനി ആവശ്യമില്ല.
- Receipt model – ഓരോ റിക്വസ്റ്റിന്റെയും തുടക്കത്തിലുള്ള ഒരു ചെറിയ മെറ്റാ ബ്ലോക്കിൽ (meta block) വേർഷൻ വിവരങ്ങളും ആവശ്യമായ പാരാമീറ്ററുകളും അടങ്ങിയിരിക്കുന്നു. സെർവർ ഈ റിക്വസ്റ്റ് സ്വതന്ത്രമായി പ്രോസസ്സ് ചെയ്യുകയും, തുടർന്ന്
resultType,ttlMs(milliseconds-ൽ ഉള്ള time-to-live),cacheScopeഎന്നിവയോടുകൂടിയ ഒരു റിസൾട്ട് നൽകുകയും ചെയ്യുന്നു. ഈ ഫീൽഡുകൾ ഉപയോഗിച്ച് ക്ലയന്റിന് ഉത്തരം സുരക്ഷിതമായി കാഷെ (cache) ചെയ്യാനും അത് എപ്പോൾ കാലാവധി തീരുമെന്ന് അറിയാനും സാധിക്കും. - Server/discover – ഒരു പുതിയ കമാൻഡ് വഴി ക്ലയന്റിന് സെർവറിന്റെ നിലവിലെ കഴിവുകളെക്കുറിച്ച് (capabilities) ചോദിച്ചറിയാൻ സാധിക്കും. ഇതിനുള്ള മറുപടി ഉടനടിയായി ലഭിക്കുന്നതാണ്, കൂടാതെ ഇത് മുൻപത്തെ ഇടപെടലുകളെ (prior interaction) ആശ്രയിച്ചുമിരിക്കില്ല.
- Subscriptions/listen – ഒരു ബസർ (buzzer) പോലെ പ്രവർത്തിക്കുന്നു: ക്ലയന്റ് അപ്ഡേറ്റുകൾക്കായി സബ്സ്ക്രൈബ് ചെയ്യുന്നു, എന്തെങ്കിലും മാറ്റം വരുമ്പോൾ മാത്രം നോട്ടിഫിക്കേഷൻ ലഭിക്കുന്നു. ഇത് പോളിംഗ് ട്രാഫിക് (polling traffic) കുറയ്ക്കുന്നു.
- Input_required flow – സെർവറിന് കൂടുതൽ വിവരങ്ങൾ ആവശ്യമാണെങ്കിൽ, ക്ലയന്റിനെ വീണ്ടും ബന്ധപ്പെടുന്നതിന് പകരം അത്
input_requiredഎന്ന മറുപടി നൽകുന്നു. തുടർന്ന് ക്ലയന്റ് ഒരു ഫോളോ-അപ്പ് റിക്വസ്റ്റിലൂടെ കുറവുള്ള വിവരങ്ങൾ നൽകുന്നു.
സെർവർ ഇനി സ്റ്റേറ്റ് (state) സൂക്ഷിക്കാത്തതിനാൽ, ഏത് stateless കമ്പ്യൂട്ട് എൻവയോൺമെന്റിലും MCP എൻഡ്പോയിന്റുകൾ ഹോസ്റ്റ് ചെയ്യാൻ കഴിയും. ആവശ്യാനുസരണം പ്രവർത്തിക്കുന്നതോ (spin up), നിർത്തിവെക്കുന്നതോ (pause), അല്ലെങ്കിൽ വിവിധ സോണുകളിലേക്ക് മാറുന്നതോ (migrate) ആയ ഫംഗ്ഷനുകൾക്ക് സംഭാഷണം തടസ്സപ്പെടാതെ തന്നെ ട്രാഫിക് കൈകാര്യം ചെയ്യാൻ സാധിക്കും.
ആർക്കൊക്കെ ഗുണമുണ്ടാകും, ആർക്കൊക്കെ ആശങ്കയുണ്ട്
AI ഫ്രണ്ട്-എൻഡുകൾ നിർമ്മിക്കുന്ന ഡെവലപ്പർമാർ – ലളിതവും കൂടുതൽ വിശ്വസനീയവുമായ ബാക്ക്-എൻഡുകൾ ലഭിക്കുന്നു.
ഇൻഫ്രാസ്ട്രക്ചർ ടീമുകൾ – കുറഞ്ഞ ചിലവിലുള്ള, ഓട്ടോ-സ്കെയിലിംഗ് (auto-scaling) സേവനങ്ങളിൽ MCP സജ്ജീകരിക്കാം.
MCP സെർവർ മെയിന്റൈനർമാർ – ttlMs, cacheScope എന്നിവ നൽകുന്നതിനും server/discover കരാർ പാലിക്കുന്നതിനുമായി ഹാൻഡ്ലറുകൾ (handlers) വീണ്ടും എഴുതേണ്ടി വരും. ഒരു പെർസിസ്റ്റന്റ് സെഷനെ (persistent session) ആശ്രയിച്ചുള്ള കോഡുകൾ റീഫാക്ടറിംഗ് (refactoring) ചെയ്യേണ്ടതുണ്ട്.
കർശനമായ കംപ്ലയൻസ് (compliance) മാനദണ്ഡങ്ങളുള്ള സംരംഭങ്ങൾ – കൂടുതൽ വ്യക്തമായ ഡാറ്റാ-ലൈഫ്സൈക്കിൾ നിയന്ത്രണം ഇതിലൂടെ ലഭിക്കുന്നു.
മറന്നുപോയ ഒരു കാര്യം: വേർഷൻ നെഗോഷ്യേഷൻ (version negotiation)
ക്ലയന്റ് പ്രതീക്ഷിക്കുന്ന പ്രോട്ടോക്കോൾ വേർഷൻ അറിയിക്കുന്ന ഒരു ചെറിയ മെറ്റാ ബ്ലോക്ക് ഓരോ രസീതിലും ഉൾപ്പെടുന്നു.
ഇപ്പോഴും അനിശ്ചിതമായിട്ടുള്ളവ
ഇനി ശ്രദ്ധിക്കേണ്ടവ
ചുരുക്കത്തിൽ
സെഷൻ സ്റ്റേറ്റ് ഒഴിവാക്കിയും ഓരോ ഇടപെടലിനെയും സ്വയം പൂർണ്ണമായ ഒരു രസീതാക്കി മാറ്റിയും, MCP ഇപ്പോൾ സെർവ്ലെസ് ഇക്കോസിസ്റ്റങ്ങളുമായി (serverless ecosystems) സ്വാഭാവികമായി ഇണങ്ങിച്ചേരുന്നു. ഈ മാറ്റം MCP-യെ കൂടുതൽ സുസ്ഥിരവും സ്കെയിലബിളും (scalable) ആക്കുന്നു, ഇത് സെർവറുകൾ എവിടെയും പ്രവർത്തിക്കാനും സാധാരണ വെബ് സർവീസുകളെപ്പോലെ സ്കെയിൽ ചെയ്യാനും സഹായിക്കുന്നു.
