Recuperando um Prompt no Cliente
Agora recupere um prompt específico do servidor de câmbio com a entrada do usuário, para que o template e a solicitação do usuário sejam combinados. Isso é o que você passaria para um LLM antes de ele decidir se deve chamar a ferramenta de conversão.
Este exercicio faz parte do curso
Introdução ao Model Context Protocol (MCP)
Instruções do exercicio
- Depois de inicializar a sessão, chame o método para obter um prompt pelo nome, passando o nome do prompt e um dict
argumentscom a entrada do usuário. - Extraia e imprima o conteúdo de texto da primeira mensagem no resultado do prompt.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
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?"))