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

MCP client

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.

MCP client đóng vai trò cầu nối giữa ứng dụng của bạn và MCP server. Cách chúng kết nối khá linh hoạt: thiết lập phổ biến nhất dùng standard input/output trên cùng một máy, nhưng giao tiếp cũng có thể diễn ra qua HTTP, WebSocket, hoặc các giao thức mạng khác - MCP không ràng buộc vào một phương thức vận chuyển (transport) cụ thể nào.

Minh hoạ các giao thức transport khác nhau mà MCP có thể dùng MCP không ràng buộc vào một transport cụ thể - có thể là stdio, HTTP, WebSocket, v.v.

Sơ đồ các lựa chọn giao tiếp giữa client và server Các lựa chọn giao tiếp giữa client và server.

Có hai mẫu trao đổi chính giữa client và server:

  • ListToolsRequest / ListToolsResult - client truy vấn danh sách tool khả dụng từ server.
  • CallToolRequest / CallToolResult - client thực thi một tool cụ thể và nhận kết quả.

Tổng quan các kiểu message trong MCP Hai kiểu message chính: liệt kê tool và gọi tool.

Một luồng gồm mười hai bước minh hoạ cách dữ liệu di chuyển: từ câu hỏi của người dùng, qua Claude, tới dịch vụ bên ngoài (như GitHub), rồi quay trở lại. Ví dụ, khi người dùng hỏi về một repository: yêu cầu được gửi đi → server khám phá các tool khả dụng qua MCP client → Claude nhận được các lựa chọn tool → Claude chọn tool phù hợp → MCP client thực thi lệnh gọi API bên ngoài → kết quả đi ngược trở lại qua các tầng → Claude tổng hợp câu trả lời cuối cùng → người dùng nhận được phản hồi.

Kiến trúc này tách biệt rõ ràng các mối quan tâm (concerns), trong khi vẫn ẩn đi sự phức tạp của việc giao tiếp giữa các tầng.

Sơ đồ luồng đầy đủ mười hai bước, từ câu hỏi người dùng tới phản hồi cuối cùng Luồng đầy đủ mười hai bước: từ câu hỏi người dùng, qua MCP client và Claude, tới dịch vụ bên ngoài và ngược lại.