Với các tool MCP chạy lâu, việc thông báo tiến độ theo thời gian thực giúp trải nghiệm người dùng tốt hơn nhiều, thay vì để họ băn khoăn không biết tool có đang hoạt động hay không.
Cách hoạt động
Phần tiêu đề “Cách hoạt động”Python MCP SDK dùng một tham số Context truyền vào hàm tool, cho phép giao tiếp hai chiều:
context.info()gửi thông điệp log tới client.context.report_progress()cập nhật tiến độ, với giá trị hiện tại và tổng số.
Ví dụ: một tool nghiên cứu có thể báo cáo trạng thái và tiến độ ở nhiều giai đoạn khác nhau trong lúc thực thi.
Triển khai phía client
Phần tiêu đề “Triển khai phía client”Client cần thiết lập các hàm callback để xử lý notification:
- Logging callback - nhận và xử lý các thông điệp log.
- Progress callback - xử lý cập nhật tiến độ, có thể kèm tính toán phần trăm tuỳ chọn.
Các callback này được cung cấp khi tạo client session và khi thực hiện lệnh gọi tool.
Các cách hiển thị
Phần tiêu đề “Các cách hiển thị”Cách triển khai tuỳ thuộc vào loại ứng dụng:
- Ứng dụng CLI hiển thị thông điệp/tiến độ trực tiếp trong terminal.
- Ứng dụng web dùng WebSocket, server-sent events, hoặc polling.
- Ứng dụng desktop cập nhật thanh tiến độ và trạng thái trên UI.
Notification là tính năng tuỳ chọn; ứng dụng có thể bỏ qua chúng, hoặc chỉ hiển thị một phần.
lượt xem