📖 Nội dung bài học
Tóm tắt
Resources trong MCP cho phép server của bạn cung cấp dữ liệu có thể được đưa trực tiếp vào prompt, thay vì yêu cầu tool call để truy cập thông tin. Điều này tạo ra một cách hiệu quả hơn để cung cấp ngữ cảnh cho các mô hình AI như Claude.

Hiểu luồng tài nguyên
Khi người dùng gõ một cái gì đó như "What's in the @..." trong ứng dụng của bạn, hệ thống cần lấy danh sách các tài nguyên có sẵn để tự động hoàn thành. MCP client gửi một ReadResourceRequest đến server, server phản hồi với danh sách tên tài liệu có thể được tham chiếu.
Triển khai đọc tài nguyên
Chức năng cốt lõi diễn ra trong phương thức read_resource của MCP client của bạn. Phương thức này nhận một tham số URI để xác định tài nguyên nào cần lấy từ server.
Đầu tiên, thêm các import cần thiết để xử lý phân tích cú pháp JSON và xác thực URL:
import json
from pydantic import AnyUrl
Việc triển khai chính thực hiện một yêu cầu đến MCP server và xử lý phản hồi:
async def read_resource(self, uri: str) -> Any:
result = await self.session().read_resource(AnyUrl(uri))
resource = result.contents[0]
Xử lý các loại nội dung khác nhau
Tài nguyên có thể trả về các loại nội dung khác nhau, vì vậy bạn cần kiểm tra kiểu MIME để xử lý phản hồi một cách phù hợp:
if isinstance(resource, types.TextResourceContents):
if resource.mimeType == "application/json":
return json.loads(resource.text)
return resource.text
Cách tiếp cận này đảm bảo rằng các tài nguyên JSON được phân tích cú pháp đúng cách, trong khi các tài nguyên văn bản thuần túy được trả về nguyên trạng.
Kiểm tra việc triển khai
Sau khi triển khai, bạn có thể kiểm tra chức năng tài nguyên bằng cách chạy ứng dụng CLI của mình. Khi bạn gõ "@" theo sau là tên tài nguyên, hệ thống sẽ:
- Hiển thị các tài nguyên có sẵn trong danh sách tự động hoàn thành
- Cho phép bạn chọn tài nguyên bằng các phím mũi tên và phím cách
- Bao gồm nội dung tài nguyên trực tiếp vào prompt được gửi đến Claude
Điều này có nghĩa là Claude nhận được nội dung tài liệu ngay lập tức mà không cần thực hiện thêm tool calls, giúp tương tác hiệu quả hơn nhiều.
Lợi ích chính
Resources cung cấp một số lợi thế so với tools để truy cập thông tin tĩnh:
- Nội dung được bao gồm trực tiếp trong prompts, giảm độ trễ
- Không cần thêm API calls trong cuộc trò chuyện
- Trải nghiệm người dùng tốt hơn với chức năng tự động hoàn thành
- Phân tách rõ ràng hơn giữa dữ liệu tĩnh và các hoạt động động
Resources hoạt động tốt nhất cho thông tin tương đối tĩnh mà bạn muốn làm cho các mô hình AI dễ dàng truy cập, chẳng hạn như tài liệu, báo cáo hoặc tài liệu tham khảo.
🔁 Bài học liên quan
- Bài tiếp: Defining prompts
- Bài trước: Defining resources
- Cùng section: Overview of Claude Models · Accessing the API · Making a request
- Thuộc lộ trình: Path C
- Docs tham khảo: Glossary · Skills atlas · By use-case
📚 Nguồn & ghi nhận
- Bài học gốc Anthropic Academy: https://anthropic.skilljar.com/claude-in-amazon-bedrock/276797
- © 2025 Anthropic. Chỉ dùng cho mục đích giáo dục, fair-use.
- Crawl: — · Chuẩn hoá: 2026-05-01