แสดงรายการ Prompt จาก Client
เขียน currency server ลงในไฟล์ currency_server.py แล้ว พร้อมด้วย tool, resource, และ prompt ให้สร้าง client ที่แสดงรายการ prompt ที่มีอยู่บน server นี้ เพื่อค้นหาว่า LLM สามารถใช้ prompt template ใดได้บ้าง
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Model Context Protocol (MCP) เบื้องต้น
คำแนะนำการฝึกหัด
- เชื่อมต่อกับ MCP server เริ่มต้น session และเรียกใช้เมธอดที่แสดงรายการ prompt ที่มีอยู่ จากนั้นกำหนดผลลัพธ์ให้กับตัวแปร
- แสดงชื่อของแต่ละ prompt (ชื่อฟังก์ชันจาก server ไม่ใช่ชื่อเรื่อง)
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client
async def list_prompts():
"""List all available prompts from the MCP server."""
params = StdioServerParameters(command=sys.executable, args=["currency_server.py"])
async with stdio_client(params) as (reader, writer):
async with ClientSession(reader, writer) as session:
await session.initialize()
# List available prompts
prompts = await session.____()
print(f"Available prompts: {[p.____ for p in prompts.prompts]}")
return prompts.prompts
asyncio.run(list_prompts())