Перейти к основному содержимому

WebMCP

WebMCP предоставляет доступ к инструментам, которые фрейм регистрирует через экспериментальный браузерный API WebMCP, navigator.modelContext. Он позволяет получать список инструментов и вызывать их.

Доступ к экземплярам осуществляется через frame.webmcp. page.webmcp — это экземпляр для главного фрейма.

примечание

WebMCP — экспериментальная функция браузера. В Chromium она включается с помощью аргумента запуска --enable-features=WebMCP, а в Firefox — с помощью настроек dom.modelcontext.enabled и dom.modelcontext.testing.enabled. В WebKit она не реализована.

Названия инструментов, их описания, схемы входных данных и результаты предоставляются страницей, поэтому рассматривайте их как недоверенные входные данные.


Методы​

call_tool​

Добавлено в: v1.64 webMCP.call_tool

Вызывает инструмент, зарегистрированный фреймом, и возвращает результат его выполнения. Результатом является значение, которое возвращает функция execute инструмента после завершения, обычно это объект с массивом content. Результат с isError: true возвращается без изменений. Метод выбрасывает исключение, если инструмент не зарегистрирован или его функция execute выбрасывает исключение.

Использование

web_mcp.call_tool(name)
web_mcp.call_tool(name, **kwargs)

Аргументы

  • name str#

    Название инструмента, возвращаемое методом web_mcp.tools().

  • input Dict (необязательно)#

    Входные данные для инструмента, соответствующие его inputSchema. По умолчанию используется пустой объект.

  • timeout float (необязательно)#

    Максимальное время ожидания в миллисекундах. По умолчанию — 30000 (30 секунд). Передайте 0, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью методов browser_context.set_default_timeout() или page.set_default_timeout().

Возвращаемое значение


tools​

Добавлено в: v1.64 webMCP.tools

Возвращает инструменты, зарегистрированные фреймом на данный момент. Выбрасывает исключение, если браузер запущен без поддержки WebMCP. Параметры запуска, включающие эту поддержку, приведены в примечании выше.

page.webmcp охватывает только главный фрейм; дочерние фреймы предоставляют список своих инструментов через собственный экземпляр frame.webmcp.

Использование

web_mcp.tools()
web_mcp.tools(**kwargs)

Аргументы

  • timeout float (необязательно)#

    Максимальное время ожидания в миллисекундах. По умолчанию — 30000 (30 секунд). Передайте 0, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью методов browser_context.set_default_timeout() или page.set_default_timeout().

Возвращаемое значение

  • List[Dict]#
    • name str

      Название инструмента, уникальное в пределах фрейма.

    • description str

      Описание инструмента.

    • inputSchema Dict (необязательно)

      Схема JSON Schema входных данных инструмента, если страница её предоставляет.

    • annotations Dict (необязательно)

      • readOnly bool (необязательно)

        Инструмент не изменяет никакое состояние.

      • untrustedContent bool (необязательно)

        Выходные данные инструмента могут содержать сторонний контент.

      • consequential bool (необязательно)

        Инструмент выполняет действие, имеющее значимые последствия, например размещение заказа.

      Подсказки об инструменте, предоставляемые страницей.