從用戶端列出 Prompts
你的 currency 伺服器已寫在 currency_server.py,其中包含一個工具(tool)、一個資源(resource),以及一個提示(prompt)。請建立一個用戶端,列出此伺服器可用的 prompts,讓你能看出 LLM 可以使用哪些提示樣板。
本練習屬於課程
Model Context Protocol(MCP)入門
練習說明
- 連線至 MCP 伺服器、初始化 session,並呼叫可列出可用 prompts 的方法,將結果指定給一個變數。
- 印出每個 prompt 的名稱(來自伺服器的函式名稱,而不是標題)。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
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())