پروتکل کانتکست مدل (MCP) وضعیت نشست (session state) خود را حذف کرده و آن را با درخواستهای سبک رسید (receipt-style) و دستور جدید server/discover جایگزین کرده است. اکنون توسعهدهندگان میتوانند MCP را روی پلتفرمهای بدون سرور (serverless) مانند AWS Lambda اجرا کنند و از گلوگاه «تنها پیشخدمت» که مدتها بود قابلیت اطمینان را مختل میکرد، اجتناب کنند.
چرا مدل قدیمی اهمیت داشت
MCP در ابتدا به یک اتصال مداوم به یک سرور خاص نیاز داشت. سرور «شماره میز» کاربر را نگه میداشت؛ یک نشست پنهان که کانتکست، قوانین و اقدامات در انتظار را ذخیره میکرد. وقتی آن سرور از کار میافتاد، نشست از بین میرفت و کلاینت مجبور بود همه چیز را از ابتدا شروع کند.
تغییرات این بهروزرسانی چیست
- بدون نشست (No sessions) – هر درخواست شامل تمام موارد مورد نیاز سرور است، درست مانند رسید یک رستوران که هر صندوقداری میتواند آن را بخواند. مرحله دستدادن (handshake) «initialize» حذف شده است.
- مدل رسید (Receipt model) – یک بلوک متای کوچک در ابتدای هر درخواست، شامل اطلاعات نسخه و پارامترهای مورد نیاز است. سرور درخواست را بهصورت مجزا پردازش میکند و سپس نتیجهای را همراه با
resultType،ttlMs(زمان ماندگاری به میلیثانیه) وcacheScopeبازمیگرداند. این فیلدها به کلاینت اجازه میدهند پاسخ را بهصورت ایمن کش (cache) کند و بداند چه زمانی منقضی میشود. server/discover– دستور جدیدی به کلاینت اجازه میدهد تا درباره قابلیتهای فعلی یک سرور پرسوجو (query) کند. پاسخ فوری است و به تعاملات قبلی بستگی ندارد.- اشتراکها/گوش دادن (Subscriptions/listen) – مانند یک بیزر (buzzer) عمل میکند: کلاینت مشترک بهروزرسانیها میشود و تنها زمانی که چیزی تغییر کند مطلع میگردد، که این امر ترافیک مربوط به درخواستهای مکرر (polling) را کاهش میدهد.
- جریان
input_required– اگر سرور به اطلاعات بیشتری نیاز داشته باشد، بهجای برقراری ارتباط مجدد با کلاینت، یک پاسخinput_requiredبازمیگرداند. سپس کلاینت دادههای ناقص را در یک درخواست بعدی ارائه میدهد.
از آنجایی که سرور دیگر وضعیت (state) را نگه نمیدارد، هر محیط محاسباتی بدون وضعیت (stateless) میتواند میزبان نقاط پایانی (endpoints) MCP باشد. توابعی که بر اساس تقاضا اجرا میشوند، متوقف میشوند یا بین مناطق (zones) جابهجا میشوند، میتوانند بدون قطع شدن گفتگو، ترافیک را مدیریت کنند.
چه کسانی سود میبرند و چه کسانی نگران خواهند بود
توسعهدهندگان فرانتاند هوش مصنوعی – به بکاندهای سادهتر و قابلاطمینانتری دست مییابند.
تیمهای زیرساخت – میتوانند MCP را روی سرویسهای ارزان و با قابلیت مقیاسپذیری خودکار (auto-scaling) مستقر کنند.
نگهدارندگان سرور MCP – باید هندلرها (handlers) را بازنویسی کنند تا ttlMs و cacheScope را ارسال کرده و به قرارداد server/discover پایبند باشند. کدهایی که به یک نشست مداوم متکی بودند، نیاز به بازسازی (refactoring) خواهند داشت.
سازمانهای دارای قوانین انطباق سختگیرانه – از کنترل شفافتر چرخه حیات دادهها بهرهمند میشوند.
جزئیات پنهان: مذاکره نسخه (version negotiation)
هر رسید شامل یک بلوک متای کوچک است که نسخه پروتکل مورد انتظار کلاینت را اعلام میکند.
آنچه هنوز نامشخص است
آنچه باید در آینده زیر نظر داشت
جمعبندی
با حذف وضعیت نشست و تبدیل هر تعامل به یک رسید مستقل، MCP اکنون بهطور طبیعی با اکوسیستمهای بدون سرور (serverless) سازگار شده است. این تغییر، MCP را پایدارتر و مقیاسپذیرتر میکند و اجازه میدهد سرورها در هر جایی اجرا شوند و مانند هر سرویس وب معمولی، مقیاسپذیر شوند.
