MCP-এর জুলাই ২০২৬ স্পেসিফিকেশন প্রোটোকল লেয়ার থেকে সব ধরণের সেশন স্টেট (session state) সরিয়ে ফেলেছে, যার ফলে সমস্ত স্টেট এখন মডেলের কনটেক্সট উইন্ডোর (context window) ভেতরে থাকতে বাধ্য হচ্ছে। এই পরিবর্তনের ফলে যেকোনো MCP সার্ভার যেকোনো অনুরোধের উত্তর দিতে পারবে, যা লোড ব্যালেন্সার (load balancer), সার্ভারলেস ফাংশন (serverless function) এবং অটোস্কেলিং Kubernetes পডগুলোর (pods) পেছনে পিওর-স্টেটলেস (pure-stateless) ডেপ্লয়মেন্টের পথ প্রশস্ত করছে।
কেন এই পরিবর্তনটি গুরুত্বপূর্ণ
প্রথম রিলিজ থেকে, MCP (Model Communication Protocol) একাধিক HTTP কলের মাধ্যমে কথোপকথনের স্টেট ট্র্যাক করার জন্য একটি লাইটওয়েট সেশন হ্যান্ডশেক (session handshake) এবং একটি Mcp-Session-Id হেডার ব্যবহার করত। সেই ডিজাইনের মাধ্যমে সার্ভার মনে রাখতে পারত যে কোন টুল হ্যান্ডেল (tool handle), স্যাম্পলিং রেট (sampling rate) বা লগিং প্রেফারেন্স (logging preference) নির্দিষ্ট কোনো ক্লায়েন্টের ছিল। এটি রজিউমেবল (resumable) Server-Sent Events (SSE) স্ট্রিমও প্রদান করত, যাতে সংযোগ বিচ্ছিন্ন হয়ে গেলেও সেখান থেকেই আবার শুরু করা যায়।
২৮ জুলাই, ২০২৬-এর স্পেসিফিকেশন সেশন হ্যান্ডশেককে সম্পূর্ণভাবে বাদ দিয়েছে। এখন প্রতিটি অনুরোধে একটি _meta ফিল্ডের মাধ্যমে প্রোটোকল ভার্সন এবং ক্লায়েন্ট ক্যাপাবিলিটিজ (client capabilities) থাকে এবং Mcp-Session-Id হেডারটি আর নেই। Roots, sampling এবং logging ফিল্ডগুলোকে ডেপ্রিকেটেড (deprecated) হিসেবে চিহ্নিত করা হয়েছে। সংক্ষেপে বলতে গেলে, ওয়্যার প্রোটোকল (wire protocol) এখন পুরোপুরি রিকোয়েস্ট-রেসপন্স ভিত্তিক; এখানে রক্ষণাবেক্ষণ করার মতো কোনো "সেশন" নেই।
ডেভেলপারদের কী ভিন্নভাবে কাজ করতে হবে
স্টেট এখন আর সার্ভারের বিষয় নয়; এটি মডেলের কনটেক্সট উইন্ডোতে থাকে। যখন একটি মডেলের কোনো এক্সটার্নাল রিসোর্স বা বাহ্যিক সম্পদের প্রয়োজন হয়, তখন তাকে টুল রেজাল্ট (tool result) হিসেবে সার্ভার থেকে একটি স্পষ্ট হ্যান্ডেল (explicit handle) গ্রহণ করতে হয়। পরবর্তী অনুরোধে সেই হ্যান্ডেলটি একটি আর্গুমেন্ট হিসেবে অন্তর্ভুক্ত থাকে এবং মডেল এটিকে অন্য যেকোনো টোকেনের মতোই বিবেচনা করে।
যেহেতু কনটেক্সট উইন্ডো একটি নির্দিষ্ট আকারের টোকেন বাফার (token buffer), তাই প্রতিটি হ্যান্ডেল এমন জায়গা দখল করে যা ইউজার প্রম্পট বা মডেল আউটপুটের সাথে প্রতিযোগিতা করে।
নির্ভরযোগ্যতা বা রিলায়েবিলিটিও (reliability) পরিবর্তিত হচ্ছে। SSE রজিউমেবিলিটি বা মেসেজ রি-ডেলিভারি ব্যবস্থা না থাকায়, একটি স্ট্রিম বিচ্ছিন্ন হয়ে গেলে অনুরোধটি সম্পূর্ণ হারিয়ে যায়। ক্লায়েন্টদের কলটি একদম শুরু থেকে পুনরায় শুরু করতে হবে। দ্রুত এবং স্টেটলেস কুয়েরির জন্য এটি গ্রহণযোগ্য; কিন্তু দীর্ঘমেয়াদী রিট্রিভাল (retrieval) বা মাল্টি-স্টেপ এজেন্ট টাস্কের ক্ষেত্রে এটি ডেভেলপারদের নিজস্ব রিট্রাই লজিক (retry logic) তৈরি করতে অথবা কাজটিকে ছোট ছোট ভাগে ভাগ করতে বাধ্য করে।
Pilot Protocol শূন্যতা পূরণ করে
MCP-এর স্টেটলেসনেস (statelessness) বা স্টেটহীনতাটি উদ্দেশ্যমূলক, তবে এটি নেটওয়ার্ক লেয়ারকে কানেকশন-লেভেল আইডেন্টিটি বা নির্ভরযোগ্যতার গ্যারান্টি ছাড়াই ফেলে রাখে। Pilot Protocol, যা MCP-এর নিচে কাজ করে, সেই শূন্যতা পূরণ করে। Pilot একবার আইডেন্টিটি প্রতিষ্ঠা করে এবং প্যাকেটগুলোকে প্রেরকের সাথে যুক্ত করতে এনক্রিপশন ব্যবহার করে। MCP-এর দৃষ্টিকোণ থেকে, ক্লায়েন্ট প্রতিবার কেবল একটি নতুন HTTP অনুরোধ পাঠায়; Pilot নিচের ট্রান্সপোর্ট লেয়ারটিকে স্থিতিশীল রাখে।
এই দুটি প্রোটোকল একে অপরের পরিপূরক: MCP হালকা ওজনের থাকে, প্রতি অনুরোধে খরচ কম হয় এবং যেকোনো HTTP এন্ডপয়েন্টের পেছনে স্কেল করা সহজ হয়; অন্যদিকে Pilot সেই ভারী কাজগুলো সম্পন্ন করে যা প্রথাগত সেশন-ভিত্তিক প্রোটোকলগুলো করত।
স্কেলেবিলিটির সুবিধাগুলো
- লোড-ব্যালেন্সার ফ্রেন্ডলি (Load-balancer friendly) – কোনো সেশন অ্যাফিনিটি (session affinity) প্রয়োজন নেই; যেকোনো ব্যাকএন্ড যেকোনো অনুরোধের উত্তর দিতে পারে।
- সার্ভারলেস রেডি (Serverless ready) – ফাংশনগুলো প্রয়োজন অনুযায়ী চালু হতে পারে, একটি অনুরোধ হ্যান্ডেল করতে পারে এবং কোনো অবশিষ্ট স্টেট ছাড়াই বন্ধ হয়ে যেতে পারে।
- Kubernetes অটোস্কেলিং (Kubernetes autoscaling) – পডগুলো (Pods) অবাধে যোগ বা বিয়োগ করা যেতে পারে; কন্ট্রোল প্লেন এখন আর সেশন ম্যাপ ট্র্যাক করে না।
ট্রেড-অফ বা ভারসাম্যহীনতা
- টোকেন ওভারহেড (Token overhead) – হ্যান্ডেল এবং অন্যান্য স্টেট এখন মডেলের কনটেক্সট উইন্ডো দখল করে, যা সরাসরি প্রম্পট এবং রেসপন্সের সাথে প্রতিযোগিতা করে।
- মডেল-চালিত নির্ভুলতা (Model-driven correctness) – মডেলকে অবশ্যই সঠিকভাবে হ্যান্ডেলগুলো ফেরত দিতে হবে; একটি হ্যালুসিনেশন (hallucination) বা টাইপো পুরো ওয়ার্কফ্লো নষ্ট করে দিতে পারে।
- বিল্ট-ইন রজিউমেবিলিটি নেই – দীর্ঘমেয়াদী কাজগুলোর জন্য নিজস্ব চেকপয়েন্টিং (checkpointing) ব্যবস্থা থাকতে হবে অথবা সম্পূর্ণ রিস্টার্টের ঝুঁকি মেনে নিতে হবে।
- ডায়াগনস্টিকসের অবসান (Deprecation of diagnostics) – Roots, sampling এবং logging ফিল্ডগুলো নেই, তাই ডেভেলপাররা সূক্ষ্ম মনিটরিংয়ের জন্য একটি সুবিধাজনক মাধ্যম হারাবে, যদি না তারা অ্যাপ্লিকেশন লেয়ারে এটি যোগ করেন।
সারকথা
ওয়্যার থেকে সেশন স্টেট মুছে ফেলার মাধ্যমে, MCP 2026-07 প্রোটোকলটিকে একটি পিওর HTTP এন্ডপয়েন্টে পরিণত করেছে যা যেকোনো লোড ব্যালেন্সার, ফাংশন প্ল্যাটফর্ম বা এজ নোডের (edge node) পেছনে থাকতে পারে। এর ইতিবাচক দিক হলো স্পষ্ট স্কেলেবিলিটি; নেতিবাচক দিক হলো স্টেট এখন মডেলের সীমিত টোকেন উইন্ডোতে থাকে এবং নির্ভরযোগ্যতা ক্লায়েন্ট এবং নিচের Pilot লেয়ারের ওপর নির্ভর করে। যেহেতু AI এজেন্টগুলোর কাজ এখন সেকেন্ড থেকে ঘণ্টার পরিধিতে বিস্তৃত হচ্ছে, তাই প্রতি অনুরোধের সাশ্রয়ী মূল্য এবং টোকেন-বাজেটের চাপের মধ্যে ভারসাম্যই নির্ধারণ করবে যে এই স্টেটলেস মডেলটি দীর্ঘমেয়াদী সাফল্য পাবে কি না।
