Recuperare un prompt dal client
Ora recupera un prompt specifico dal server delle valute con l'input dell'utente, così il template e la richiesta dell'utente vengono combinati. Questo è ciò che passeresti a un LLM prima che decida se chiamare lo strumento di conversione.
Questo esercizio fa parte del corso
Introduzione al Model Context Protocol (MCP)
Istruzioni dell'esercizio
- Dopo aver inizializzato la sessione, chiama il metodo per ottenere un prompt per nome, passando il nome del prompt e un dizionario
argumentscon l'input dell'utente. - Estrai e stampa il contenuto testuale del primo messaggio nel risultato del prompt.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client
async def read_prompt(user_input: str = "How much is 50 GBP in euros?", prompt_name: str = "convert_currency_prompt") -> str:
"""Retrieve a prompt from the MCP server with user input."""
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()
# Retrieve the prompt with the user's input
prompt = await session.____(prompt_name, arguments={"currency_request": user_input})
# Print the full prompt text (template + user request)
text = prompt.____[0].____.____
print(text)
return text
asyncio.run(read_prompt(user_input="How much is 50 GBP in euros?"))