Quay lại danh sách

MCP Vừa Tung Bản Sửa Đổi Đặc Tả Lớn Nhất Kể Từ Khi Ra Mắt — Session Bị Xóa Bỏ, Và Mọi Agent Xây Trên Đặc Tả Cũ Đều Có Bài Tập Về Nhà

Đăng ngày 28 thg 7, 20268 phút đọc
MCPAI AgentsDeveloper Tools

Ngày 28/7/2026, dự án Model Context Protocol chính thức phát hành đặc tả 2026-07-28 — bản sửa đổi lớn nhất của đặc tả MCP kể từ khi giao thức này ra mắt vào tháng 11/2024. Release candidate đã được khóa từ ngày 21/5/2026, cho các nhà bảo trì SDK và bên triển khai client một cửa sổ 10 tuần để kiểm chứng trước khi bản chính thức được công bố hôm nay. Thay đổi lớn nhất là loại bỏ bắt tay initialize và header Mcp-Session-Id từng ghim mỗi client vào một instance server cố định, cùng với hai extension tùy chọn mới — Tasks và MCP Apps — một đợt cải tổ mô hình authorization gồm sáu SEP, và chính sách deprecation chính thức đầu tiên của giao thức. Với bất kỳ ai đã triển khai MCP server hay client theo đặc tả cũ, đây không phải là một bản changelog để lướt qua; ba trong số các thay đổi hôm nay đòi hỏi công sức migrate trước khi các SDK Tier 1 hoàn tất triển khai hỗ trợ.

Vì Sao Session Phải Biến Mất

Trong đặc tả 2026-07-28, mọi request giờ đây đều tự chứa đầy đủ thông tin, mang theo phiên bản giao thức và thông tin client trong một field _meta, thay vì phụ thuộc vào một Mcp-Session-Id tồn tại lâu dài gắn với một tiến trình server cụ thể. Chỉ một thay đổi này thôi cũng đồng nghĩa một MCP server từ xa trước đây cần sticky session, một session store dùng chung, và deep packet inspection tại gateway, giờ có thể chạy phía sau một load balancer round-robin thông thường. Các request do server khởi tạo — những prompt mà một tool gửi ngược lại giữa lúc đang xử lý — giờ chỉ xảy ra khi request của client vẫn còn đang mở, và trả về dưới dạng đối tượng InputRequiredResult mà client lặp lại khi retry, nên bất kỳ instance server nào cũng có thể tiếp tục công việc mà instance khác bỏ dở. Đây là một thay đổi nhỏ trên bề mặt API nhưng có hệ quả hạ tầng rất lớn: MCP server cuối cùng cũng có thể scale theo đúng cách các dịch vụ HTTP phi trạng thái thông thường vẫn làm.

Tasks Trưởng Thành: Từ Tính Năng Lõi Thành Extension

Tasks từng được phát hành như một tính năng lõi thử nghiệm trong đặc tả 2025-11-25, nhưng việc sử dụng thực tế trong production đã bộc lộ đủ vấn đề thiết kế khiến nhóm phát triển phải rút nó ra, thiết kế lại, và đưa trở lại dưới dạng một extension tùy chọn. Trong mô hình mới, một phản hồi tools/call có thể trả về một task handle thay vì một kết quả trực tiếp, và client điều khiển tiến trình bằng tasks/get, tasks/update và tasks/cancel — với server, chứ không phải client, là bên quyết định lệnh gọi nào đủ dài để cần một task. Phương thức tasks/list không sống sót qua đợt thiết kế lại; nhóm phát triển kết luận rằng nó không thể được giới hạn phạm vi (scope) an toàn nếu thiếu session để neo vào. Bất kỳ ai có server xây dựng theo API Tasks thử nghiệm của bản 2025-11-25 đều cần migrate trước khi cửa sổ kiểm chứng 10 tuần đóng lại.

MCP Apps Đưa Giao Diện Người Dùng Vào Giao Thức

MCP Apps, được chính thức hóa dưới mã SEP-1865, cho phép một server gửi kèm một giao diện HTML tương tác mà host sẽ render bên trong một iframe được sandbox, thay vì chỉ trả về văn bản thuần hay JSON. Các tool khai báo trước template giao diện của mình, nhờ đó host có thể prefetch và rà soát bảo mật phần markup trước khi người dùng nhìn thấy nó, và mọi hành động người dùng thực hiện bên trong giao diện được render đó đều đi ngược lại qua đúng kênh JSON-RPC như một lệnh gọi tool trực tiếp — nghĩa là nó đi qua cùng một đường kiểm toán và xin phép (audit và consent), chứ không mở ra một lối tắt vòng qua. Việc hỗ trợ được thương lượng chứ không mặc định: client và server đều công bố hỗ trợ MCP Apps trong một bản đồ khả năng extensions theo định danh kiểu reverse-DNS, và nếu chỉ một bên hỗ trợ, kết nối vẫn hoạt động bình thường — chỉ là quay về dùng kết quả dạng thường.

Authorization Được Cải Tổ Theo Chuẩn OAuth 2.1

Sáu SEP riêng biệt siết chặt mô hình authorization của MCP để nó thực sự giống một triển khai OAuth 2.1 đúng nghĩa, thay vì một cơ chế bearer-token tùy tiện. MCP server giờ đây chính thức là các OAuth 2.1 resource server và phải triển khai OAuth 2.0 Protected Resource Metadata theo RFC 9728, để client có thể tự động phát hiện đúng authorization server thay vì phải hardcode. Client phải xác thực tham số iss trên mọi token theo RFC 9207, nhằm chặn một dạng tấn công mix-up trong đó token phát hành cho một authorization server bị replay sang một authorization server khác. Client dùng OpenID Connect giờ phải khai báo application_type của mình trong quá trình Dynamic Client Registration, và credential được gắn chặt với authorization server đã phát hành nó, buộc phải đăng ký lại nếu một resource di chuyển sang nơi khác. Đây hoàn toàn không phải là dọn dẹp tùy chọn — cả WorkOS lẫn SecurityWeek đều chỉ ra đây là thay đổi biến MCP từ một quy ước tích hợp tiện lợi thành thứ mà các đội định danh và bảo mật doanh nghiệp phải quản trị một cách chính thức.

Chính Sách Deprecation, Và Ba Tính Năng Đang Bị Đếm Ngược

Đặc tả này cũng giới thiệu vòng đời chính thức đầu tiên của MCP: Active, Deprecated và Removed, với yêu cầu bắt buộc tối thiểu mười hai tháng giữa lúc một tính năng bị đánh dấu deprecated và lúc nó thực sự bị gỡ bỏ. Ba tính năng bước vào giai đoạn deprecated ngay hôm nay. Roots đang được thay thế bằng tool parameter, resource URI, hoặc cấu hình thông thường. Sampling đang được thay thế bằng tích hợp trực tiếp với LLM API, vì giờ đây gọi thẳng một mô hình không còn cần định tuyến qua host nữa. Logging đang được thay thế bằng output qua stderr hoặc OpenTelemetry. Không tính năng nào trong ba tính năng này biến mất ngay lập tức, nhưng các đội đang xây dựng dựa trên chúng giờ có một đồng hồ đếm ngược đang chạy, chứ không còn là một khoảng ân hạn vô thời hạn.

Ý Nghĩa Với Nhà Phát Triển Và Đội AI Ngay Lúc Này

Với phần lớn nhà phát triển đang gọi MCP server thông qua Claude, LangGraph, hay một client khác, hôm nay không có gì gãy cả — mô hình extensions nghĩa là một server và client không cùng hỗ trợ Tasks hay MCP Apps sẽ đơn giản quay về dùng lệnh gọi tool thông thường, và LangGraph 1.0 đã coi MCP tool là node hạng nhất trong graph mà không cần bất kỳ điều nào trong số này. Công việc thực sự dồn lên vai những người vận hành MCP server: bất kỳ ai đang dùng API Tasks thử nghiệm của bản 2025-11-25 đều có một đợt migrate khó nhằn trước khi hỗ trợ SDK Tier 1 hoàn tất trong cửa sổ 10 tuần, và bất kỳ ai đứng trước một MCP server từ xa được bảo vệ bởi một identity provider giờ có một cấu hình OAuth 2.1 cần rà soát — xác thực iss, Protected Resource Metadata, và ngữ nghĩa đăng ký lại — trước khi một client tuân thủ đặc tả bắt đầu từ chối luồng cũ. Chỉ vài tuần sau khi chính Anthropic đẩy mạnh đưa MCP tunnel và self-hosted sandbox vào bên trong vành đai doanh nghiệp, đặc tả này đặt phần hạ tầng lõi của giao thức vào cùng lộ trình sẵn sàng cho doanh nghiệp như mô hình triển khai của nó.

Kết Luận

Đặc tả 2026-07-28 là thời điểm MCP ngừng hành xử như một quy ước tiện lợi của developer và bắt đầu hành xử như hạ tầng thực sự — thứ phải sống sót qua load balancer, kiểm toán bảo mật, và các cửa sổ deprecation mười hai tháng. Loại bỏ session khiến MCP server trở nên 'nhàm chán' khi vận hành ở quy mô lớn, đúng như điều các đội platform doanh nghiệp mong muốn; các extension Tasks và MCP Apps bổ sung năng lực thực sự mà không bắt buộc mọi triển khai phải gánh theo; và việc siết chặt OAuth 2.1 bịt lại những lỗ hổng vốn sớm muộn cũng sẽ bị khai thác một khi MCP server bắt đầu bảo vệ dữ liệu production thật. Nếu bạn đang bảo trì một MCP server, cửa sổ kiểm chứng SDK 10 tuần mới là hạn chót thực sự cần quan tâm — không phải ngày công bố hôm nay.