MCP 2026-07-28: بزرگترین تغییر پروتکل از زمان انتشار
خلاصهٔ کاملتر
بزرگترین تغییر این نسخه اینه که MCP دیگه stateless شده؛ یعنی پروتکل دیگه session نگه نمیداره. قبلاً هر بار که میخواستی با یک سرور MCP ارتباط برقرار کنی، اول باید یک handshake انجام میدادی، سرور یک Mcp-Session-Id میداد، و تمام درخواستهای بعدی باید اون ID رو همراه خودشون میبردن — یعنی کلاینت به همون instance سرور گیر میکرد. حالا این کل فرآیند حذف شده.
در نسخه جدید، هر درخواست یک واحد مستقل و self-contained هست. مثلاً یک tools/call ساده که قبلاً نیاز به session داشت، حالا اینطوریه:
POST /mcp HTTP/1.1
MCP-Protocol-Version: 2026-07-28
Mcp-Method: tools/call
Mcp-Name: search
Content-Type: application/json
{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"search","arguments":{"q":"otters"},
"_meta":{"io.modelcontextprotocol/clientInfo":{"name":"my-app","version":"1.0"}}}}اطلاعاتی مثل نسخه پروتکل و قابلیتهای کلاینت که قبلاً فقط یکبار در handshake رد و بدل میشدن، حالا در فیلد _meta هر درخواست فرستاده میشن. یک متد جدید به نام server/discover هم اضافه شده که کلاینت میتونه باهاش قابلیتهای سرور رو از پیش دریافت کنه.
حذف session به این معنی نیست که اپلیکیشنها نمیتونن state داشته باشن. سرورها میتونن مثل APIهای HTTP معمولی عمل کنن: یک identifier صریح (مثل basket_id یا browser_id) از طریق یک tool بسازن و مدل هوش مصنوعی اون رو به عنوان آرگومان در فراخوانیهای بعدی برگردونه. این روش در عمل قویتر از session state پنهان در متادیتای transport هم هست، چون state برای مدل قابل مشاهدهست.
یکی دیگه از تغییرات مهم، رسمی شدن Extensions هست. حالا extensionها با شناسههای reverse-DNS شناسایی میشن، در فرآیند مذاکره قابلیتها (capabilities) گنجانده میشن، و چرخه نسخهبندی مستقل از خود مشخصات دارن. دو extension رسمی در این نسخه معرفی شدن: MCP Apps که به سرورها اجازه میده رابط کاربری HTML تعاملی داخل یک iframe ایمن بفرستن، و Tasks که کارهای طولانیمدت رو مدیریت میکنه — کلاینت با tasks/get، tasks/update و tasks/cancel وضعیت task رو کنترل میکنه.
در بخش احراز هویت، تغییرات مهمی انجام شده تا همسویی بیشتری با OAuth 2.0 و OpenID Connect وجود داشته باشه. مثلاً کلاینتها باید پارامتر iss رو در پاسخهای authorization اعتبارسنجی کنن تا در برابر حملات mix-up محافظت بشن. همچنین سه ویژگی Roots، Sampling و Logging رسماً deprecated اعلام شدن — ولی هنوز کار میکنن و حداقل یک سال فرصت هست تا migrate بشن. به علاوه، inputSchema و outputSchema ابزارها به JSON Schema 2020-12 کامل ارتقاء پیدا کردن که قابلیتهایی مثل oneOf، anyOf و $ref رو پشتیبانی میکنه.
نکات کلیدی:
- پروتکل MCP حالا stateless شده؛ session و handshake اولیه حذف شدن
- هر درخواست self-contained هست و روی هر instance سرور قابل پردازشه — نیازی به sticky session یا shared session store نیست
- سیستم Extensions رسمی شد؛ MCP Apps (UI تعاملی) و Tasks (کارهای طولانیمدت) به عنوان extension اضافه شدن
- احراز هویت با OAuth 2.0 و OpenID Connect همراستاتر شده
- ویژگیهای Roots، Sampling و Logging deprecated شدن ولی حداقل یک سال دیگه کار میکنن
- پشتیبانی از JSON Schema 2020-12 کامل برای تعریف schema ابزارها
- نسخه release candidate از ۲۱ مه ۲۰۲۶ قفل شده؛ نسخه نهایی ۲۸ جولای ۲۰۲۶ منتشر میشه




