Model Context Protocol loại bỏ JSON-RPC Batching đồng thời bổ sung bảo mật OAuth và đầu ra công cụ có cấu trúc

Nhóm Cộng đồng BigGo
Model Context Protocol loại bỏ JSON-RPC Batching đồng thời bổ sung bảo mật OAuth và đầu ra công cụ có cấu trúc

Model Context Protocol ( MCP ) đã phát hành bản cập nhật đặc tả lớn loại bỏ hỗ trợ JSON-RPC batching đồng thời giới thiệu các cải tiến bảo mật đáng kể và chức năng mới. Bản sửa đổi này đại diện cho một trong những thay đổi quan trọng nhất đối với giao thức kể từ khi ra mắt, gây ra tranh luận trong cộng đồng nhà phát triển về độ phức tạp và giá trị thực tế của giao thức.

Việc loại bỏ JSON-RPC Batching khiến các nhà phát triển thất vọng

Việc loại bỏ JSON-RPC batching đã tạo ra phản ứng trái chiều từ cộng đồng. Tính năng này cho phép các nhà phát triển gộp nhiều yêu cầu lại với nhau và xử lý chúng như một thao tác duy nhất, điều mà nhiều người thấy tinh tế mặc dù việc sử dụng thực tế còn hạn chế. Việc loại bỏ phản ánh sự tập trung của những người duy trì giao thức vào việc đơn giản hóa đặc tả, mặc dù một số nhà phát triển bày tỏ sự nuối tiếc về những gì họ coi là khả năng kỹ thuật tuyệt vời.

Đại tu bảo mật lớn với tích hợp OAuth

Bản cập nhật giới thiệu các biện pháp bảo mật OAuth toàn diện bằng cách phân loại các máy chủ MCP như OAuth Resource Servers . Thay đổi này yêu cầu các client MCP phải triển khai Resource Indicators như được quy định trong RFC 8707 để ngăn các máy chủ độc hại có được token truy cập trái phép. Đặc tả hiện bao gồm các cân nhắc bảo mật nâng cao và tài liệu thực hành tốt nhất, giải quyết những lo ngại ngày càng tăng về mô hình bảo mật của giao thức trong môi trường sản xuất.

*RFC 8707: Một tiêu chuẩn kỹ thuật xác định cách chỉ định tài nguyên nào mà token truy cập được dành cho, giúp ngăn chặn việc lạm dụng token.

Các tính năng mới mở rộng khả năng của giao thức

Một số tính năng mới đã được thêm vào để nâng cao chức năng của giao thức. Hỗ trợ đầu ra công cụ có cấu trúc cho phép trao đổi dữ liệu có tổ chức hơn, trong khi elicitation cho phép các máy chủ yêu cầu thông tin bổ sung từ người dùng trong quá trình tương tác. Liên kết tài nguyên trong kết quả gọi công cụ cung cấp khả năng kết nối tốt hơn giữa các thành phần khác nhau của hệ thống.

Những Thay Đổi Lớn Trong Bản Cập Nhật Đặc Tả MCP

Các Tính Năng Đã Loại Bỏ:

  • Hỗ trợ xử lý hàng loạt JSON-RPC

Các Tính Năng Bảo Mật Mới:

  • Phân loại OAuth Resource Server cho các máy chủ MCP
  • Yêu cầu triển khai Resource Indicators ( RFC 8707 )
  • Tài liệu cân nhắc bảo mật được nâng cao
  • Trang thực hành tốt nhất về bảo mật mới

Chức Năng Mới:

  • Hỗ trợ đầu ra công cụ có cấu trúc
  • Elicitation để yêu cầu thông tin bổ sung từ người dùng
  • Liên kết tài nguyên trong kết quả gọi công cụ
  • Yêu cầu header MCP-Protocol-Version cho các yêu cầu HTTP

Thay Đổi Schema:

  • Trường _meta được thêm vào các loại giao diện bổ sung
  • Trường context được thêm vào CompletionRequest
  • Trường title cho tên hiển thị thân thiện với người dùng
  • Lifecycle Operation thay đổi từ SHOULD thành MUST

Cộng đồng đặt câu hỏi về giá trị cơ bản của giao thức

Bất chấp những cải tiến này, cộng đồng nhà phát triển vẫn chia rẽ về đề xuất giá trị cốt lõi của MCP . Những người chỉ trích cho rằng giao thức này tạo thêm độ phức tạp không cần thiết so với các cuộc gọi RPC truyền thống hoặc tích hợp API trực tiếp. Các nhà phát triển backend đặc biệt đặt câu hỏi về quyết định kiến trúc yêu cầu các máy chủ riêng biệt cho từng API , coi đó là có khả năng tạo ra hàng trăm microservice trong khi các lệnh gọi hàm đơn giản sẽ đủ.

Một trong những bài học lớn nhất đối với tôi khi theo đuổi cơn sốt MCP là nếu bạn đang viết phần mềm backend, bạn thực sự không cần phải làm MCP . Về mặt kiến trúc, chúng không có ý nghĩa.

Những người ủng hộ phản bác rằng MCP cung cấp một cách tiêu chuẩn hóa để gắn công cụ vào các tác nhân AI mà không phát sinh chi phí API , đặc biệt có lợi cho người dùng Claude . Họ nhấn mạnh giá trị của nó như một hệ thống tích hợp cắm và chạy cho các môi trường mà không phải ai cũng có thể hoặc được ủy quyền viết mã trực tiếp đối với tài nguyên.

Thách thức về độ trưởng thành và áp dụng giao thức

Tốc độ thay đổi đặc tả nhanh chóng đặt ra câu hỏi về độ trưởng thành và ổn định của giao thức. Trong khi một số nhà phát triển đánh giá cao những cải tiến liên tục và khả năng phản hồi với phản hồi của cộng đồng, những người khác lo lắng về gánh nặng bảo trì việc giữ cho nhiều máy chủ MCP được cập nhật với mỗi bản sửa đổi đặc tả. Việc giao thức dựa vào TypeScript cho đặc tả cốt lõi của nó, thay vì các định dạng tài liệu API truyền thống hơn như OpenAPI , cũng thu hút sự chú ý như một lựa chọn không theo quy ước.

Cuộc tranh luận phản ánh những câu hỏi rộng hơn về tiêu chuẩn hóa trong hệ sinh thái công cụ AI và liệu các giao thức hiện có có thể phục vụ các mục đích tương tự với độ phức tạp ít hơn hay không. Khi MCP tiếp tục phát triển, việc áp dụng nó có thể sẽ phụ thuộc vào việc liệu lợi ích của tiêu chuẩn hóa có vượt trội hơn chi phí độ phức tạp được nhận thức cho các loại ứng dụng khác nhau hay không.

Tham khảo: Key Changes