ПочатиПочніть безкоштовно

Виклик інструментів сервера

Тепер — запускати виклики інструментів на сервері з вашого клієнта! Знову використаєте асинхронні операції, щоб нічого не ламалося й не зависало, поки завершуються інші дії.

Ця вправа є частиною курсу

Вступ до Model Context Protocol (MCP)

Переглянути курс

Інструкції до вправи

  • Викличте інструмент із параметрами tool_name і arguments, які задає користувач; забезпечте паузу виклику для очікування відповіді сервера, використавши відповідне ключове слово Python.
  • Витягніть і виведіть текстовий вміст відповіді сервера.
  • Запустіть інструмент "convert_currency" із набором коректних параметрів (використайте будь-які значення та валюти).

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

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"})
)
Редагувати та запускати код