Vấn đề cốt lõi
Phần tiêu đề “Vấn đề cốt lõi”Các tính năng MCP như sampling, notification, và logging đòi hỏi server phải chủ động gửi request tới client, nhưng kiến trúc client-tới-server của HTTP khiến việc này về cơ bản là một thách thức.
Giải pháp StreamableHTTP
Phần tiêu đề “Giải pháp StreamableHTTP”StreamableHTTP dùng Server-Sent Events (SSE) để thiết lập các kết nối lâu dài, cho phép giao tiếp từ server tới client qua HTTP.
Thiết lập kết nối ban đầu
Phần tiêu đề “Thiết lập kết nối ban đầu”- Client gửi một Initialize Request.
- Server phản hồi kèm header
mcp-session-id. - Client gửi một Initialized Notification kèm session ID đó.
- Session ID phải đi kèm mọi request tiếp theo.

Cách khắc phục bằng SSE
Phần tiêu đề “Cách khắc phục bằng SSE”SSE tạo ra các response HTTP tồn tại lâu dài, cho phép server stream message ngược về client bất cứ lúc nào.

Hai kết nối SSE song song cho mỗi lệnh gọi tool
Phần tiêu đề “Hai kết nối SSE song song cho mỗi lệnh gọi tool”- Kết nối SSE chính: xử lý các request do server chủ động khởi tạo, luôn mở vô thời hạn.
- Kết nối SSE riêng cho từng tool: được tạo cho mỗi lệnh gọi tool, đóng lại sau khi kết quả được truyền xong.
- Progress notification định tuyến qua kết nối chính.
- Logging và kết quả tool định tuyến qua kết nối riêng của tool đó.


Cờ cấu hình
Phần tiêu đề “Cờ cấu hình”Các cờ stateless_http và json_response có thể vô hiệu hoá cách khắc phục bằng SSE này, giới hạn chức năng đầy đủ của MCP.
lượt xem