Bỏ qua để đến nội dung

Transport STDIO

Bài viết được dịch tự động từ bài viết gốc, chưa được kiểm tra lại bởi con người. Chỉ những bài viết có dấu tick xanh cạnh tiêu đề là đã được kiểm tra.

Transport stdio cho phép MCP client và server giao tiếp bằng cách trao đổi message JSON qua luồng standard input/output. Client khởi chạy server như một subprocess và trao đổi message qua stdin/stdout, với giao tiếp hai chiều khả dụng bất cứ lúc nào. Cách này chỉ hoạt động khi cả hai thành phần chạy trên cùng một máy.

Sơ đồ transport stdio: MCP client gửi message qua stdin của server và nhận phản hồi qua stdout MCP client gửi message qua stdin của server và nhận phản hồi qua stdout.

Mọi kết nối MCP đều cần một chuỗi khởi tạo ba bước: (1) client gửi một Initialize Request, (2) server phản hồi bằng một Initialize Result chứa các capability của nó, (3) client gửi một Initialized Notification. Chỉ sau khi hoàn tất bắt tay này, các thao tác khác như gọi tool mới có thể tiếp tục.

Sơ đồ tuần tự của bắt tay MCP với Initialize Request, Initialize Result, và Initialized Notification Chuỗi bắt tay ba bước khi khởi tạo một kết nối MCP.

Giao thức hỗ trợ cặp request-response (cần phản hồi) và notification (message một chiều, không cần phản hồi). Cả client lẫn server đều có thể chủ động khởi tạo giao tiếp bất cứ lúc nào.

Biểu đồ các kiểu message MCP, gồm cặp request/result do client và server khởi tạo, cùng các notification Các kiểu message MCP: cặp request/result và notification, có thể do cả hai phía khởi tạo.

  • Client tới server: client ghi vào stdin.
  • Server tới client: server ghi vào stdout.
  • Server tới client (request): server ghi vào stdout.
  • Client tới server (response): client ghi vào stdin.

Sơ đồ minh hoạ bốn kiểu giao tiếp giữa MCP client và server Bốn kiểu giao tiếp giữa MCP client và server qua stdio.

Transport stdio rất phù hợp cho phát triển và kiểm thử, nhưng cần các transport thay thế khi triển khai trên nhiều máy khác nhau.