Zacznij terazZacznij za darmo

Wywoływanie narzędzi serwera

Czas wywołać narzędzia serwera z poziomu klienta! Podobnie jak wcześniej, będziesz korzystać z operacji asynchronicznych – dzięki temu nic się nie zawiesi ani nie przerwie podczas oczekiwania na zakończenie innych operacji.

To ćwiczenie jest częścią kursu

Wprowadzenie do Model Context Protocol (MCP)

Zobacz kurs

Instrukcje do ćwiczenia

  • Wywołaj narzędzie, podając parametry tool_name i arguments wskazane przez użytkownika; zadbaj o to, żeby wywołanie wstrzymało się i czekało na odpowiedź serwera – użyj do tego odpowiedniego słowa kluczowego Pythona.
  • Wyodrębnij i wyświetl tekstową zawartość odpowiedzi serwera.
  • Uruchom narzędzie "convert_currency" z poprawnym zestawem parametrów (możesz użyć dowolnych wartości i walut).

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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"})
)
Edytuj i uruchom kod