从客户端列出 Prompts
您的 currency 服务器已写入 currency_server.py,其中包含一个工具、一个资源和一个提示。请创建一个客户端,列出该服务器上可用的提示,以便了解 LLM 可以使用哪些提示模板。
本练习是课程的一部分
Model Context Protocol (MCP) 入门
练习说明
- 连接 MCP 服务器,初始化会话,并调用列出可用提示的方法,将结果赋值给一个变量。
- 打印每个提示的名称(来自服务器的函数名,而非标题)。
交互式实操练习
通过完成这段示例代码来试试这个练习。
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())