Resource trong MCP cho phép server đưa thông tin thẳng vào prompt, thay vì phải qua một lệnh gọi tool - giúp việc đưa ngữ cảnh cho model hiệu quả hơn.
Triển khai việc đọc resource
Phần tiêu đề “Triển khai việc đọc resource”Cần import json và AnyUrl từ pydantic. Hàm cốt lõi gọi phương thức read_resource của MCP server, rồi xử lý response dựa theo MIME type:
async def read_resource(self, uri: str) -> Any: result = await self.session().read_resource(AnyUrl(uri)) resource = result.contents[0]
if isinstance(resource, types.TextResourceContents): if resource.mimeType == "application/json": return json.loads(resource.text)
return resource.textCấu trúc response
Phần tiêu đề “Cấu trúc response”Response từ server chứa một danh sách contents, phần tử đầu tiên trong đó được lấy ra để xử lý. Response bao gồm nội dung thực tế, MIME type để hướng dẫn cách parse, và metadata của resource.
Xử lý theo content type
Phần tiêu đề “Xử lý theo content type”Hàm kiểm tra MIME type để quyết định cách xử lý: nội dung JSON được parse thành object, các định dạng khác trả về dạng văn bản thô.
Test việc truy cập resource
Phần tiêu đề “Test việc truy cập resource”Người dùng có thể gõ ”@” trong CLI để kích hoạt autocomplete hiển thị các resource khả dụng, chọn bằng phím mũi tên và phím cách, rồi nội dung resource được đưa thẳng vào prompt mà không cần thêm lệnh gọi tool nào.

@, code gửi ReadResourceRequest, server trả về ReadResourceResult chứa nội dung resource.
lượt xem