Listing Prompts from the Client
Your currency server has been written to currency_server.py with a tool, a resource, and a prompt. Create a client that lists the prompts available on this server so you can discover what prompt templates the LLM can use.
Questo esercizio fa parte del corso
Introduction to Model Context Protocol (MCP)
Istruzioni dell'esercizio
- Connect to the MCP server, initialize the session, and call the method that lists available prompts, assigning the result to a variable.
- Print each prompt's name (the function name from the server, not the title).
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
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())