Recuperar un prompt desde el cliente
Ahora recupera un prompt específico del servidor de divisas con la entrada del usuario para combinar la plantilla con la petición del usuario. Esto es lo que pasarías a un LLM antes de que decida si debe llamar a la herramienta de conversión.
Este ejercicio forma parte del curso
Introducción a Model Context Protocol (MCP)
Instrucciones del ejercicio
- Después de inicializar la sesión, llama al método para obtener un prompt por nombre, pasando el nombre del prompt y un diccionario
argumentscon la entrada del usuario. - Extrae e imprime el contenido de texto del primer mensaje en el resultado del prompt.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
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?"))