Chọn phương thức truyền tải một cách có chủ đích
Một máy chủ stdio cục bộ và một dịch vụ HTTP từ xa có nhu cầu triển khai khác nhau. Sử dụng một phương thức truyền từ xa được hỗ trợ, TLS và một tuyến đã xác thực. Kiểm tra phiên bản máy khách và máy chủ thay vì giả định mọi triển khai đều hỗ trợ cùng các khả năng.
Coi mọi công cụ như một API
Xác thực đối số, thực thi ủy quyền theo từng người dùng và giới hạn tài nguyên. Không để lộ việc thực thi shell tùy ý như một công cụ tiện lợi. Hạn chế các đích gửi đi khi một công cụ tải URL và giữ bí mật ngoài phần mô tả và phản hồi.
Thu thập danh tính một cách tương xứng
Nhà cung cấp không KYC có thể giảm thiểu dữ liệu đăng ký của nhà cung cấp, nhưng dịch vụ MCP vẫn có thể cần người dùng riêng, bảo mật phiên và kiểm soát lạm dụng. Hãy giải thích những gì nó ghi nhật ký và tránh lưu giữ đầu vào công cụ mà không có mục đích xác định.
Triển khai để vận hành rõ ràng
Chạy dưới một người dùng chuyên dụng, sử dụng kiểm tra tình trạng, giới hạn thời gian yêu cầu và giữ bộ đệm và thời gian chờ của proxy ngược tương thích với giao thức. Kiểm tra xác thực, thu hồi, ngắt kết nối và thử lại trước khi cấp quyền ghi.
Căn chỉnh xác thực với giao thức được hỗ trợ
Đối với triển khai MCP dựa trên HTTP, hãy xem xét các yêu cầu ủy quyền hiện tại của giao thức và phiên bản được ứng dụng khách hỗ trợ. Truy cập tài nguyên dựa trên OAuth liên quan đến đối tượng token, khám phá và phạm vi, không chỉ đơn giản là mật khẩu trên trang chủ. Sử dụng HTTPS, xác thực token cho tài nguyên dự định và giữ thông tin xác thực bearer ngoài chuỗi truy vấn. Máy chủ stdio sử dụng ranh giới thông tin xác thực cục bộ khác.
- Kiểm thử một yêu cầu chưa xác thực
- Kiểm thử một yêu cầu đã xác thực ngoài phạm vi của nó
- Thu hồi thông tin đăng nhập và xác minh rằng nó ngừng hoạt động
Tài liệu chính thức: Đặc tả uỷ quyền MCP
Công bố bộ công cụ đầu tiên giới hạn
Bắt đầu với các công cụ chỉ đọc trả về lượng dữ liệu có giới hạn. Chỉ thêm ghi tệp, thao tác vòng đời máy chủ hoặc tin nhắn ra ngoài sau khi đã hiểu rõ quyền và hành vi trùng lặp của chúng. Coi các trang web và tài liệu được trả về là đầu vào không đáng tin cậy; chúng không được âm thầm mở rộng quyền hạn của máy chủ công cụ.
Xác định hành vi giao thức trước khi viết quy tắc proxy
Ghi lại cả bản phát hành SDK của máy chủ và bản sửa đổi MCP mà máy khách sẽ dùng. Trong bản sửa đổi 2026-07-28 Streamable HTTP, các yêu cầu dùng endpoint POST; những ví dụ cũ dựa trên phiên giao thức hoặc luồng GET độc lập thuộc một bản sửa đổi khác. Không gỡ bỏ một yêu cầu tương thích có vẻ cần thiết cho đến khi bạn biết mình hỗ trợ máy khách nào. Reverse proxy phải giữ nguyên các header cần thiết, trạng thái HTTP và hành vi truyền phát phản hồi cho phiên bản đó.
- Bắt đầu với một công cụ chỉ đọc trên một trình lắng nghe loopback, sau đó đặt ranh giới HTTPS/xác thực dự định phía trước nó.
- Kiểm tra một kết quả bình thường, một kết quả phát trực tuyến, một lần hết thời gian chờ và một máy khách bị ngắt kết nối thông qua proxy công khai.
- Xác thực các giá trị Origin được phép theo yêu cầu của giao thức truyền tải; kiểm tra Origin không thay thế cho việc xác thực người gọi.
- Nếu sự kiện chỉ đến vào cuối, hãy kiểm tra hành vi đệm và thời gian chờ của proxy trước khi thay đổi mã công cụ.
Tài liệu chính thức: MCP 2026-07-28: HTTP có thể phát trực tuyến
Kiểm tra các lỗi phân quyền một cách có chủ đích như kiểm tra thành công
Đối với quyền truy cập HTTP được bảo vệ bằng OAuth, máy chủ MCP là một tài nguyên được bảo vệ. Hãy kiểm thử việc khám phá metadata, issuer mong đợi và audience của token, cùng các scope cần thiết cho một thao tác cụ thể. Giữ token ủy quyền ngoài các chuỗi truy vấn URL và không bao giờ chuyển tiếp nguyên trạng đến một dịch vụ hạ nguồn không liên quan. Lỗi xác thực phía máy khách phải giữ lại thử thách HTTP phù hợp để máy khách có thể phục hồi qua luồng được hỗ trợ.
- Không có token hoặc token đã hết hạn: điểm cuối được bảo vệ từ chối truy cập thay vì trả về dữ liệu công cụ riêng tư.
- Token hợp lệ nhưng không đủ quyền: tài nguyên được yêu cầu vẫn không thể truy cập.
- Token cho đối tượng khác: từ chối nó ngay cả khi chữ ký của nó hợp lệ về mặt khác.
- URL bên ngoài hoặc đường dẫn tệp không mong đợi: hãy xác thực với thẩm quyền của công cụ trước khi tải hoặc ghi.
- Nhật ký và dấu vết lỗi: giữ lại mã định danh thao tác và kết quả trong khi loại bỏ token và đầu vào công cụ riêng tư.
Tài liệu chính thức: MCP 2026-07-28: ủy quyền HTTP · MCP: các thực hành bảo mật tốt nhất