📖 Nội dung bài học
Họ phông chữ
Tóm tắt
Tài nguyên trong máy chủ MCP cho phép bạn hiển thị dữ liệu cho client, tương tự như trình xử lý yêu cầu GET trong một máy chủ HTTP thông thường. Chúng hoàn hảo cho các tình huống bạn cần lấy thông tin thay vì thực hiện hành động.
Tìm hiểu về Tài nguyên
Hãy coi tài nguyên như các endpoint chỉ đọc có thể trả về bất kỳ loại dữ liệu nào - chuỗi, JSON, tệp nhị phân, v.v. Bạn đặt 'mime_type' để cung cấp cho client một gợi ý về loại dữ liệu bạn đang trả về.

Tài nguyên hoạt động bằng cách xác định một URI (giống như URL) mà client có thể yêu cầu. Khi một client cần dữ liệu, nó sẽ gửi một ReadResourceRequest với URI cụ thể và máy chủ của bạn sẽ phản hồi bằng một ReadResourceResult chứa dữ liệu.
Hai Loại Tài nguyên
Có hai loại tài nguyên chính bạn có thể tạo:
- Tài nguyên trực tiếp - Có URI tĩnh không chứa bất kỳ tham số nào (ví dụ: "docs://documents")
- Tài nguyên theo mẫu - Bao gồm các tham số trong URI của chúng, được phân tích cú pháp và chuyển đến hàm của bạn (ví dụ: "docs://documents/{doc_id}")

Đối với tài nguyên theo mẫu, SDK Python tự động phân tích cú pháp các tham số từ URI và chuyển chúng dưới dạng đối số từ khóa cho hàm của bạn. Tên tham số trong URI phải khớp chính xác với tên tham số của hàm của bạn.
Tạo Tài nguyên
Đây là cách triển khai cả hai loại tài nguyên:
@mcp.resource(
"docs://documents",
mime_type="application/json"
)
def list_docs() -> list[str]:
return list(docs.keys())
@mcp.resource(
"docs://documents/{doc_id}",
mime_type="text/plain"
)
def fetch_doc(doc_id: str) -> str:
if doc_id not in docs:
raise ValueError(f"Doc with id {doc_id} not found")
return docs[doc_id]
SDK Python MCP tự động tuần tự hóa bất cứ thứ gì bạn trả về. Bạn không cần phải tự chuyển đổi dữ liệu thành chuỗi JSON - chỉ cần trả về các đối tượng Python và SDK sẽ xử lý việc chuyển đổi.
Kiểm tra Tài nguyên của bạn
Bạn có thể kiểm tra tài nguyên bằng Trình kiểm tra MCP. Khởi động máy chủ của bạn bằng:
uv run mcp dev mcp_server.py
Sau đó, kết nối với trình kiểm tra trong trình duyệt của bạn. Bạn sẽ thấy hai phần:
- Tài nguyên - Liệt kê các tài nguyên trực tiếp/tĩnh của bạn
- Mẫu tài nguyên - Hiển thị các tài nguyên theo mẫu của bạn

Nhấp vào bất kỳ tài nguyên nào để kiểm tra nó. Đối với tài nguyên theo mẫu, bạn sẽ cần cung cấp các giá trị cho các tham số. Trình kiểm tra hiển thị cho bạn cấu trúc phản hồi chính xác mà client của bạn sẽ nhận được, bao gồm mime type và dữ liệu được tuần tự hóa.
Các trường hợp sử dụng thực tế
Tài nguyên lý tưởng để triển khai các tính năng như đề cập đến tài liệu trong các ứng dụng trò chuyện. Ví dụ: khi người dùng gõ "@" để đề cập đến một tài liệu, bạn có thể:
- Dùng một tài nguyên trực tiếp để lấy danh sách tất cả các tài liệu có sẵn để tự động hoàn thành
- Dùng một tài nguyên theo mẫu để lấy nội dung của một tài liệu cụ thể khi được đề cập
Cách tiếp cận này cho phép bạn chủ động chèn nội dung tài liệu vào prompt mà không yêu cầu AI dùng tool để lấy thông tin.
🔁 Bài học liên quan
- Bài tiếp: Accessing resources
- Bài trước: Implementing a client
- Cùng section: Making a request · Multi-turn conversations · Chat exercise
- 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-with-google-vertex/289248
- © 2025 Anthropic. Chỉ dùng cho mục đích giáo dục, fair-use.
- Crawl: — · Chuẩn hoá: 2026-05-01