CommencezCommencez gratuitement

Récupérer une invite depuis le client

Récupérez maintenant une invite précise du serveur de devises avec la saisie de l'utilisateur afin de combiner le gabarit et la demande de l'utilisateur. C'est ce que vous passeriez à un LLM avant qu'il décide d'appeler ou non l'outil de conversion.

Cette activité fait partie du cours

Introduction au Model Context Protocol (MCP)

Voir le cours

Instructions de l’exercice

  • Après avoir initialisé la session, appelez la méthode pour obtenir une invite par son nom, en passant le nom de l'invite et un dict arguments contenant la saisie de l'utilisateur.
  • Extrayez et affichez le texte du premier message dans le résultat de l'invite.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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?"))
Modifier et exécuter le code