Đặc tả MCP tháng 7 năm 2026 loại bỏ mọi hình thức trạng thái phiên (session state) khỏi lớp giao thức, buộc mọi trạng thái phải nằm trong cửa sổ ngữ cảnh (context window) của mô hình. Thay đổi này cho phép bất kỳ máy chủ MCP nào cũng có thể trả lời mọi yêu cầu, mở ra cánh cửa cho các triển khai thuần không trạng thái (pure-stateless) đằng sau các bộ cân bằng tải (load balancers), các hàm serverless và các pod Kubernetes tự động mở rộng.

Tại sao thay đổi này lại quan trọng

Kể từ bản phát hành đầu tiên, MCP (Model Communication Protocol) đã duy trì một quá trình bắt tay phiên (session handshake) nhẹ nhàng và một header Mcp-Session-Id để theo dõi trạng thái hội thoại qua nhiều lần gọi HTTP. Thiết kế đó cho phép máy chủ ghi nhớ các handle công cụ, tỷ lệ lấy mẫu (sampling rates) hoặc tùy chọn ghi nhật ký (logging preferences) thuộc về một client cụ thể. Nó cũng cung cấp các luồng Server-Sent Events (SSE) có thể tiếp tục (resumable), nhờ đó một kết nối bị ngắt có thể tiếp tục từ nơi nó vừa dừng lại.

Đặc tả ngày 28 tháng 7 năm 2026 loại bỏ hoàn toàn quá trình bắt tay phiên. Mọi yêu cầu hiện đều mang theo phiên bản giao thức và các khả năng của client trong một trường _meta, và header Mcp-Session-Id sẽ biến mất. Các trường Roots, sampling và logging được đánh dấu là lỗi thời (deprecated). Nói tóm lại, giao thức truyền tải (wire protocol) giờ đây thuần túy là request-response; không còn "phiên" (session) nào để duy trì nữa.

Các nhà phát triển phải thay đổi điều gì

Trạng thái không còn là mối bận tâm của máy chủ; nó nằm trong cửa sổ ngữ cảnh của mô hình. Khi một mô hình cần tham chiếu đến một tài nguyên bên ngoài, nó phải nhận được một handle rõ ràng từ máy chủ như một phần của kết quả công cụ (tool result). Yêu cầu tiếp theo sẽ bao gồm handle đó như một đối số, và mô hình sẽ xử lý nó giống như bất kỳ token nào khác.

Vì cửa sổ ngữ cảnh là một bộ đệm token có kích thước cố định, mỗi handle sẽ tiêu tốn không gian cạnh tranh với các câu lệnh (prompt) của người dùng hoặc đầu ra của mô hình.

Độ tin cậy cũng thay đổi. Nếu không có khả năng tiếp tục SSE hoặc gửi lại tin nhắn, một luồng bị ngắt sẽ làm mất hoàn toàn yêu cầu. Client phải khởi động lại cuộc gọi từ đầu. Đối với các truy vấn không trạng thái nhanh chóng, điều này có thể chấp nhận được; nhưng đối với các tác vụ truy xuất dài hạn hoặc các tác vụ agent đa bước, nó buộc các nhà phát triển phải tự xây dựng logic thử lại (retry logic) hoặc chia nhỏ công việc thành các phần nhỏ hơn.

Pilot Protocol lấp đầy khoảng trống

Tính không trạng thái của MCP là có chủ đích, nhưng nó khiến lớp mạng thiếu đi danh tính ở cấp độ kết nối hoặc các đảm bảo về độ tin cậy. Pilot Protocol, nằm bên dưới MCP, sẽ lấp đầy khoảng trống đó. Pilot thiết lập danh tính một lần và sử dụng mã hóa để liên kết các gói tin với người gửi. Từ góc độ của MCP, client chỉ đơn giản là gửi một yêu cầu HTTP mới mỗi lần; Pilot giữ cho lớp vận chuyển bên dưới luôn ổn định.

Hai giao thức này bổ trợ cho nhau: MCP giữ cho hệ thống gọn nhẹ, chi phí thấp trên mỗi yêu cầu và dễ dàng mở rộng đằng sau bất kỳ endpoint HTTP nào, trong khi Pilot đảm nhận những phần việc nặng nhọc mà các giao thức dựa trên phiên truyền thống thường đảm nhiệm.

Lợi ích khi mở rộng quy mô

  • Thân thiện với bộ cân bằng tải (Load-balancer friendly) – Không yêu cầu tính liên kết phiên (session affinity); bất kỳ backend nào cũng có thể phục vụ bất kỳ yêu cầu nào.
  • Sẵn sàng cho serverless – Các hàm có thể khởi chạy theo nhu cầu, xử lý một yêu cầu và tắt đi mà không để lại trạng thái tồn đọng.
  • Tự động mở rộng Kubernetes (Kubernetes autoscaling) – Các pod có thể được thêm vào hoặc loại bỏ một cách tự do; control plane không còn phải theo dõi các bản đồ phiên (session maps).

Các đánh đổi

  • Chi phí token (Token overhead) – Các handle và bất kỳ trạng thái nào khác hiện chiếm dụng cửa sổ ngữ cảnh của mô hình, cạnh tranh trực tiếp với prompt và phản hồi.
  • Tính chính xác dựa trên mô hình – Mô hình phải phản hồi chính xác các handle; một sự ảo giác (hallucination) hoặc lỗi đánh máy có thể làm hỏng quy trình làm việc.
  • Không có khả năng tiếp tục tích hợp sẵn – Các tác vụ chạy lâu phải tự triển khai cơ chế lưu điểm kiểm tra (checkpointing) hoặc chấp nhận rủi ro phải khởi động lại toàn bộ.
  • Loại bỏ các tính năng chẩn đoán – Các trường Roots, sampling và logging không còn nữa, vì vậy các nhà phát triển mất đi một công cụ tiện lợi để giám sát chi tiết trừ khi họ thêm nó ở lớp ứng dụng.

Kết luận

Bằng cách xóa bỏ trạng thái phiên khỏi giao thức truyền tải, MCP 2026-07 biến giao thức thành một HTTP endpoint thuần túy có thể đặt sau bất kỳ bộ cân bằng tải, nền tảng hàm (function platform) hoặc nút biên (edge node) nào. Ưu điểm là khả năng mở rộng rõ rệt; nhược điểm là trạng thái hiện nằm trong cửa sổ token hạn chế của mô hình và độ tin cậy phụ thuộc vào client cũng như lớp Pilot bên dưới. Khi các agent AI kéo dài thời gian hoạt động từ vài giây lên đến vài giờ, sự cân bằng giữa mức giá rẻ trên mỗi yêu cầu và áp lực về ngân sách token sẽ quyết định liệu mô hình không trạng thái có chứng minh được là một chiến thắng lâu dài hay không.