پرش به محتوای اصلی
پرش به محتوای مقاله

پروتکل MCP با حذف وضعیت نشست‌ها، مقیاس‌پذیری بدون سرور را ممکن کرد

·۱۰ شهریور ۱۴۰۵۵ دقیقه مطالعه
جلسه MCP 2026-07-28 حذف شد. وضعیت به پنجره زمینه شما منتقل شد.
جلسه MCP 2026-07-28 حذف شد. وضعیت به پنجره زمینه شما منتقل شد.
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

انتقال کامل مدیریت وضعیت از لایه شبکه به پنجرهٔ زمینهٔ مدل؛ این اولین باری است که یک پروتکل ارتباطی عامل‌ها، حافظه را به‌طور کامل به عهدهٔ مدل زبانی می‌اندازد تا مقیاس‌پذیری Serverless محقق شود.

اگر در حال حاضر سرورهای MCP خود را روی خوشه‌های پیچیده کوبرنتیز مدیریت می‌کنید، هزینه‌های زیرساختی شما قرار است به‌شدت کاهش یابد. پروتکل زمینهٔ مدل (Model Context Protocol یا MCP) در به‌روزرسانی ۲۸ ژوئیه ۲۰۲۶، رسماً به معماری بدون وضعیت (Stateless) انتقال یافت. این تغییر بنیادین، مسئولیت حفظ وضعیت (State) را از لایه شبکه به‌طور کامل به پنجرهٔ زمینه (Context Window) مدل منتقل می‌کند.

این به‌روزرسانی در حالی منتشر می‌شود که MCP به مقیاسی عظیم رسیده است؛ به‌طوری که SDKهای تایپ‌اسکریپت و پایتون این پروتکل هر کدام از مرز یک میلیارد دانلود کل عبور کرده‌اند. طبق تحلیل فنی منتشر شده در dev.to، این پروتکل اکنون ماهانه نزدیک به نیم میلیارد دانلود را مدیریت می‌کند. چنین حجم ترافیکی، طراحی‌ای را ایجاب می‌کرد که از استقرار توزیع‌شده و گسترده پشتیبانی کند. به همین دلیل، هر چهار SDK سطح اول (Tier 1) در همان روز انتشار، پشتیبانی از این معماری جدید را ارائه کردند. این تحول در راستای تغییرات ساختاری گسترده‌ای است که منجر به حذف کامل جلسات و فرآیندهای دست‌دهی شد تا مقیاس‌پذیری سیستم‌ها افزایش یابد.

برای دستیابی به این هدف، پروتکل چندین قابلیت کلیدی در مدیریت نشست‌ها را حذف کرده است. بر اساس مستندات جدید، فرآیند دست‌دادن (Handshake) اولیه/تکمیل‌شده (initialize/initialized)، هدر Mcp-Session-Id و قابلیت ازسرگیری جریان‌های SSE به‌طور کامل حذف شده‌اند. اکنون نسخه‌های پروتکل و قابلیت‌های کلاینت به‌جای آنکه یک بار در هر نشست تثبیت شوند، در هر درخواست به‌صورت مجزا از طریق فیلد _meta ارسال می‌شوند (به‌طور مشخص از طریق io.modelcontextprotocol/protocolVersion و io.modelcontextprotocol/clientCapabilities).

تغییرات فنی و حذف‌ها

  • حذف‌شده‌ها: دستورات ping و logging/setLevel و همچنین notifications/roots/list_changed حذف شدند. هدر Last-Event-ID و شناسه‌های رویداد SSE نیز دیگر وجود ندارند.
  • منسوخ‌شده‌ها: قابلیت‌های Roots, Sampling و Logging اکنون وارد یک بازهٔ زمانی ۱۲ ماهه برای حذف کامل (Deprecation window) شده‌اند.
  • مسیریابی جدید: هدرهای Mcp-Method و Mcp-Name به گیت‌وی‌ها اجازه می‌دهند ترافیک را بدون نیاز به تجزیهٔ بدنه JSON و تنها بر اساس مقادیر هدر، مسیریابی و اندازه‌گیری (Meter) کنند.
  • کشینگ: اضافه شدن فیلدهای ttlMs و cacheScope در نتایج لیست و خواندن (list and read results)، برای نخستین بار امکان استفاده از کشینگ استاندارد HTTP را فراهم کرد.
  • تغییرات نقاط انتهایی: نقاط انتهایی List دیگر بسته به هر اتصال تغییر نمی‌کنند و سطوح لاگ اکنون در هر درخواست از طریق _meta تنظیم می‌شوند.

همان‌طور که در تحلیل‌های پیشین ما درباره‌ی بهینه‌سازی استنتاج در مدل‌های عامل‌محور اشاره کردیم، کاهش وابستگی به زیرساخت‌های Stateful همواره یک اولویت بوده است. این چرخش معماری اجازه می‌دهد هر نمونه از سرور که پشت یک Load Balancer با روش Round-robin قرار دارد، بتواند به هر درخواستی پاسخ دهد. در نتیجه، سرورهای MCP اکنون می‌توانند به‌عنوان توابع بدون سرور (Serverless Functions)، روی پلتفرم‌های رایانش لبه (Edge Computing) یا در خوشه‌های کوبرنتیز با قابلیت مقیاس‌پذیری خودکار (Autoscaling) بدون نیاز به پیکربندی‌های پیچیده Session Affinity مستقر شوند. در کنار این بهینه‌سازی‌های زیرساختی، ابزارهایی مانند mcpscore برای سنجش دقیق کیفیت سرورها معرفی شده‌اند تا توسعه‌دهندگان بتوانند استانداردهای پیاده‌سازی را ارزیابی کنند.

جابه‌جایی وضعیت: از شبکه به توکن

باید توجه داشت که وضعیت (State) حذف نشده، بلکه جابه‌جا شده است. مشخصات فنی صراحتاً بیان می‌کند: سرورهایی که به وضعیت بین‌فراخوانی (Cross-call state) نیاز دارند، باید از «دستگیره‌های تولیدشده توسط سرور» (Server-minted handles) استفاده کنند که به‌عنوان آرگومان‌های معمولی ابزار ارسال می‌شوند. در این مدل، سرور یک دستگیره تولید کرده و آن را در نتیجهٔ ابزار برمی‌گرداند و مدل باید این شناسه‌های مبهم (Opaque identifiers) را در فراخوانی‌های بعدی به‌طور دقیق به سرور بازگرداند.

این تغییر، یک موازنهٔ جدید در قابلیت اطمینان ایجاد می‌کند. وضعیت اتصال اکنون به وضعیت پنجرهٔ زمینه تبدیل شده است؛ به این معنا که در هر نوبت توکن مصرف می‌کند و با داده‌های دیگر در پنجره رقابت می‌کند. اگر مدل زبانی یک دستگیره را تغییر دهد، مخدوش کند یا حذف کند، وضعیت به‌طور کامل از دست می‌رود. این یک سناریوی شکست متفاوت نسبت به گم شدن یک Session ID در هدر HTTP است.

علاوه بر این، حذف قابلیت ازسرگیری (Resumability) باعث می‌شود جریان‌های پاسخِ قطع‌شده، منجر به از دست رفتن درخواست‌های در حال اجرا (In-flight requests) شوند. در حالی که یک فراخوانی ابزار ۴۰ میلی‌ثانیه‌ای قابل چشم‌پوشی است، اما یک بازیابی (Retrieval) سی‌ثانیه‌ای روی یک لینک موبایل ناپایدار، اکنون باید از صفر تکرار شود. برای مدیریت عملیات طولانی‌مدت، افزونهٔ بازطراحی‌شده‌ی وظایف (io.modelcontextprotocol/tasks) از هستهٔ اصلی پروتکل خارج شده تا از طریق tasks/get و مکانیزم Polling مدیریت شود، هرچند این قابلیت اکنون یک افزونه است و نه یک ویژگی تضمین‌شده در کلاینت.

لایه پروتکل Pilot

در سطحی پایین‌تر، پروتکل Pilot (که در حال حاضر در پیش‌نویس IETF با کد draft-teodor-pilot-protocol-01 قرار دارد) تلاش می‌کند این مشکلات را در لایه ۵ مدل OSI حل کند. در حالی که A2A تعریف می‌کند عامل‌ها چه بگویند، Pilot تعریف می‌کند چگونه به یکدیگر برسند؛ شبیه به همان نقشی که TCP/IP در زیر لایه HTTP ایفا می‌کند.

پروتکل Pilot هویت را یک‌بار از طریق کلیدهای X25519 ECDH و AES-256-GCM که از طریق HKDF مشتق شده‌اند، برقرار می‌کند. یک فریم PILA، امضای Ed25519 را روی رشتهٔ ASCII auth، شناسه گره فرستنده و کلید عمومی X25519 متصل می‌کند. شناسه گره (Node ID) به‌عنوان داده‌های احراز هویت اضافی GCM عمل کرده و هر بسته را به‌طور رمزنگاری‌شده به فرستنده‌اش متصل می‌کند. این ساختار باعث می‌شود یک کلاینت بدون وضعیت، نیازی نباشد در هر درخواست clientInfo را در _meta اعلام کند.

Pilot همچنین قابلیت اطمینان را از طریق یک پنجرهٔ لغزان (Sliding Window) مدیریت می‌کند که توسط حداقلِ «پنجره احتقان» (Congestion Window) و «پنجره اعلام‌شده توسط همتا» (Peer-advertised window) محدود می‌شود. این پروتکل از SACK (تأیید انتخابی) استفاده می‌کند که تا چهار بلوک را در هر ACK حمل می‌کند، پس از سه ACK تکراری عملیات Fast Retransmit را انجام می‌دهد و RTO را طبق RFC 6298 بین ۲۰۰ میلی‌ثانیه تا ۱۰ ثانیه محدود می‌کند. این مکانیسم‌ها مانع از آن می‌شود که لایه اپلیکیشن هرگز متوجه لرزش‌های جریان داده شود.

آدرس‌دهی از طریق یک آدرس مجازی ۴۸ بیتی (شامل ۱۶ بیت شناسه شبکه و ۳۲ بیت شناسه گره) پایدار می‌ماند. این امر به یک عامل اجازه می‌دهد با استفاده از کشف STUN، حفره‌زنی (Hole Punching) و جایگزینی رله (Relay fallback) برای NATهای متقارن، بین شبکه‌های مختلف جابه‌جا شود. در میان تقریباً ۲۵۰,۰۰۰ عاملی که در حال حاضر متصل هستند، این لایه پیچیدگی‌های شبکه را به‌طور نامرئی مدیریت می‌کند.

برای توسعه‌دهندگان، این بدان معناست که MCP اکنون یک «شهروند خوش‌رفتار HTTP» است که برای واقعیت‌های نقاط انتهایی ابری بهینه شده است. اما این بهره‌وری در لایه استقرار، با افزایش فشار روی پنجرهٔ زمینه مدل تأمین شده است.

با تبدیل شدن مسیرهای عامل‌ها از چند ثانیه به چند ساعت، انباشت دستگیره‌ها در پنجرهٔ زمینه ممکن است به گلوگاه اصلی تبدیل شود. صنعت در حال حاضر پیچیدگی شبکه را با پیچیدگی توکن معاوضه می‌کند؛ شرطی که تنها در صورتی به‌نفع ماست که پنجره‌های زمینه گسترده‌تر شوند و مدل‌ها در ردیابی وضعیت دقیق‌تر عمل کنند.

گام بعدی شما

  • اگر از MCP استفاده می‌کنید، معماری سرورهای خود را از حالت Stateful به Serverless منتقل کنید تا هزینه‌های عملیاتی را کاهش دهید.
  • در طراحی ابزارها، برای مدیریت وضعیت‌های طولانی، به‌جای تکیه بر نشست، از مکانیزم Handle-passing استفاده کنید.
  • برای عملیات‌های زمان‌بر، پیاده‌سازی افزونه io.modelcontextprotocol/tasks را در اولویت قرار دهید.

اما تأثیر این تغییر بر مدل‌های استدلالی که پنجره‌های زمینهٔ کوچک‌تری دارند، بحث‌برانگیزتر است — به تحلیل ما درباره‌ی مدل‌های استدلالی و مدیریت حافظه مراجعه کنید.

چرا این موضوع مهم است؟

این تغییر با تکیه بر استانداردهای IETF و معماری Stateless، استقرار عامل‌های هوش مصنوعی را در مقیاس میلیونی ممکن می‌کند. اعتبار این تحول در پذیرش گسترده توسط SDKهای اصلی و حذف وابستگی به Session Affinity نهفته است.

تأثیر برای ایران

توسعه‌دهندگان ایرانی می‌توانند با استفاده از این معماری، سرورهای MCP خود را روی سرویس‌های ارزان‌تر Serverless یا لبه (Edge) مستقر کنند و از هزینه‌های بالای نگهداری سرورهای همیشه-روشن بکاهند.

·نگاه ما
تحریریه دات‌هوش

معاوضهٔ پیچیدگی زیرساختی با پیچیدگی توکنی، نشان‌دهندهٔ اعتماد صنعت به رشد سریع پنجره‌های زمینه است. این حرکت در واقع MCP را از یک پروتکل ارتباطی به یک پروتکل مدیریت داده تبدیل می‌کند که در آن مدل زبانی، نقش مدیریت حافظه (Memory Management) را بر عهده می‌گیرد. ریسک اصلی اکنون از سرورهای Down شده به توهمات مدل در ردیابی شناسه‌ها منتقل شده است.

منابع

این گزارش با خط‌لولهٔ خودکار دات‌هوش از منابع معتبر جهانی تدوین و زیر نظر تحریریه منتشر شده است. روش کار ما

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

خبر کلیدی
ابزار کاربردی
پرامپت حرفه‌ای
تحلیل پژوهش
به‌زودی
زاویه‌ی ایرانی
به‌زودی
تمرین این هفته
به‌زودی

راهنماهای دات‌هوش

راهنماهای کاربردیِ دات‌هوش برای کار با هوش مصنوعی — از همین‌جا شروع کنید:

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

اخبار روزانه، معرفی ابزارها و مدل‌ها، و آموزشِ کار با هوش مصنوعی؛ همیشه با این پرسش که از ایران چه چیزی کار می‌کند و چه چیزی نه.