CommencezCommencez gratuitement

Appeler des outils côté serveur

Passons maintenant au déclenchement d'appels d'outils dans le serveur à partir de votre client ! Encore une fois, vous utiliserez des opérations asynchrones pour éviter toute panne ou tout gel pendant l'attente de la fin d'autres opérations.

Cette activité fait partie du cours

Introduction au Model Context Protocol (MCP)

Voir le cours

Instructions de l’exercice

  • Appelez l'outil avec les paramètres tool_name et arguments fournis par l'utilisateur ; assurez-vous que l'appel se met en pause pour attendre la réponse du serveur en utilisant le mot-clé Python approprié.
  • Extrayez et affichez le texte de la réponse du serveur.
  • Exécutez l'outil "convert_currency" avec un ensemble de paramètres valides (utilisez les valeurs et les devises de votre choix).

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 call_mcp_tool(tool_name: str, arguments: dict) -> str:
    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()

            # Call the currency conversion tool
            result = ____ ____(tool_name, arguments)

            # Extract and print the text content of the server response
            text_content = result.____[0].____

            print(f"Conversion Result: {text_content}")
            return text_content

# Run the "convert_currency" tool
asyncio.run(
    call_mcp_tool("convert_currency",
                  {"amount": 250.0, "from_currency": "USD", "to_currency": "EUR"})
)
Modifier et exécuter le code