📖 Nội dung bài học
[
chi tiết
1
tải về
1. Khởi tạo sampling
Trên server, trong quá trình gọi tool, hãy chạy phương thức create_message(), truyền vào các tin nhắn mà bạn muốn gửi đến một mô hình ngôn ngữ.
2. Sampling callback
Trên client, bạn phải triển khai một sampling callback (callback lấy mẫu). Nó sẽ nhận được danh sách các tin nhắn do server cung cấp.
3. Định dạng tin nhắn (Message formats)
Danh sách tin nhắn do server cung cấp được định dạng để giao tiếp trong MCP. Các tin nhắn riêng lẻ không đảm bảo sẽ tương thích ngay với bất kỳ LLM SDK nào bạn đang dùng.
Ví dụ: nếu bạn dùng Anthropic SDK, bạn sẽ phải viết một chút logic chuyển đổi để biến các tin nhắn MCP thành định dạng tương thích với SDK của Anthropic.
4. Trả về văn bản được tạo
Sau khi tạo văn bản bằng LLM, bạn sẽ trả về một CreateMessageResult, trong đó chứa văn bản đã được tạo.
5. Kết nối callback
Đừng quên: callback trên client cần được truyền vào lệnh gọi ClientSession.
6. Nhận kết quả
Sau khi client đã tạo và trả về văn bản, nó sẽ được gửi đến server. Bạn có thể làm bất cứ điều gì với văn bản này:
- Sử dụng nó như một phần của quy trình công việc (workflow) trong tool của bạn
- Quyết định thực hiện một lệnh gọi sampling khác
- Trả về văn bản đã tạo
← Trước Tiếp theo →
Tệp tin
📄 .gitignore
📄 client.py
📄 pyproject.toml
📄 README.md
📄 server.py
server.py×
from mcp.types import SamplingMessage, TextContent
mcp = FastMCP(name="Demo Server")
@mcp.tool()
async def summarize(text_to_summarize: str, ctx: Context):
prompt = f"""
Hãy tóm tắt văn bản
sau đây:
{text_to_summarize}
"""
result = await ctx.session.create_message(
messages=[
SamplingMessage(
role="user",
content=TextContent(
type="text",
text=prompt
)
)
],
max_tokens=4000,
system_prompt="Bạn là một trợ lý nghiên cứu chuyên nghiệp.",
)
if result.content.type == "text":
return result.content.text
Tóm tắt
Tải về
Các bước hướng dẫn
Hãy cùng tìm hiểu kỹ hơn cách triển khai tính năng này bằng cách đi qua một dự án mẫu.
Bỏ qua Tiếp theo
🔁 Bài học liên quan
- Bài tiếp: Log and progress notifications
- Bài trước: Sampling
- Thuộc lộ trình: Path D
- 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/model-context-protocol-advanced-topics/295172
- © 2025 Anthropic. Chỉ dùng cho mục đích giáo dục, fair-use.
- Crawl: 2026-04-23 · Chuẩn hoá: 2026-05-01