Bỏ qua đến nội dung chính

Prompts in the client

📖 Nội dung bài học

Tóm tắt

Bước cuối cùng trong việc xây dựng client MCP của bạn là triển khai chức năng prompt. Việc này cho phép bạn liệt kê tất cả các prompt có sẵn từ server và truy xuất các prompt cụ thể với các biến được nội suy vào chúng.

Triển khai List Prompts

Phương thức list_prompts rất đơn giản. Bạn gọi phương thức list prompts của session và trả về các prompt:

async def list_prompts(self) -> list[types.Prompt]:
    result = await self.session().list_prompts()
    return result.prompts

Lấy Individual Prompts

Phương thức get_prompt thú vị hơn vì nó xử lý việc nội suy đối số. Khi bạn yêu cầu một prompt cụ thể, bạn truyền các đối số được chèn vào hàm prompt. Ví dụ, nếu server của bạn có một prompt "format" mong đợi một tham số doc_id, bạn cung cấp giá trị đó trong từ điển đối số:

async def get_prompt(self, prompt_name, args: dict[str, str]):
    result = await self.session().get_prompt(prompt_name, args)
    return result.messages

Phương thức trả về các message tạo thành một cuộc trò chuyện, sẵn sàng được đưa trực tiếp vào Claude.

Cách hoạt động của Prompt Arguments

Khi bạn định nghĩa một hàm prompt trong server MCP của bạn, bất kỳ tham số nào cũng trở thành biến nội suy khả dụng. Từ điển đối số bạn truyền cho get_prompt cung cấp các giá trị cho các tham số này. Sau đó, server tạo ra prompt hoàn chỉnh với các giá trị của bạn được thay thế ở những nơi thích hợp.

Kiểm tra việc triển khai

Sau khi triển khai, bạn có thể kiểm tra prompt thông qua CLI. Khi bạn gõ dấu gạch chéo, các prompt khả dụng sẽ xuất hiện dưới dạng lệnh. Việc chọn một prompt như "format" sẽ nhắc bạn chọn các giá trị cho bất kỳ đối số bắt buộc nào (ví dụ: chọn một tài liệu để định dạng). Sau đó, hệ thống:

  1. Truy xuất prompt với các đối số của bạn được nội suy
  2. Gửi prompt hoàn chỉnh đến Claude
  3. Claude thực thi bất kỳ tool call cần thiết nào để đáp ứng yêu cầu
  4. Trả về kết quả đã định dạng

Prompts trong thực tế

Prompt định nghĩa các bộ message người dùng và trợ lý có thể tái sử dụng mà client có thể gọi. Chúng phải có chất lượng cao, được kiểm tra kỹ lưỡng và phù hợp với mục đích của server MCP của bạn. Hãy coi chúng như các quy trình công việc được xây dựng sẵn, kết hợp các tool và resource của server của bạn để hoàn thành các tác vụ cụ thể.

Hệ thống prompt tạo ra sự phân tách rõ ràng giữa logic prompt (được định nghĩa trên server) và việc thực thi (được xử lý bởi client và Claude). Điều này giúp dễ dàng tạo ra các quy trình công việc đa bước tinh vi mà người dùng có thể kích hoạt bằng các lệnh đơn giản.

🔁 Bài học liên quan

📚 Nguồn & ghi nhận

Bài học có hữu ích không?

Góp ý / Báo lỗiPhát hiện sai sót hoặc có ý tưởng cải thiện?