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Вызывает инструмент, зарегистрированный фреймом, и возвращает результат его выполнения. Результатом является значение, которое возвращает функция execute инструмента после завершения, обычно это объект с массивом content. Результат с isError: true возвращается без изменений. Метод выбрасывает исключение, если инструмент не зарегистрирован или его функция execute выбрасывает исключение.
Использование
web_mcp.call_tool(name)
web_mcp.call_tool(name, **kwargs)
Аргументы
-
Название инструмента, возвращаемое методом web_mcp.tools().
-
Входные данные для инструмента, соответствующие его
inputSchema. По умолчанию используется пустой объект. -
timeoutfloat (необязательно)#Максимальное время ожидания в миллисекундах. По умолчанию —
30000(30 секунд). Передайте0, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью методов browser_context.set_default_timeout() или page.set_default_timeout().
Возвращаемое значение
tools
Добавлено в: v1.64Возвращает инструменты, зарегистрированные фреймом на данный момент. Выбрасывает исключение, если браузер запущен без поддержки WebMCP. Параметры запуска, включающие эту поддержку, приведены в примечании выше.
page.webmcp охватывает только главный фрейм; дочерние фреймы предоставляют список своих инструментов через собственный экземпляр frame.webmcp.
Использование
web_mcp.tools()
web_mcp.tools(**kwargs)
Аргументы
-
timeoutfloat (необязательно)#Максимальное время ожидания в миллисекундах. По умолчанию —
30000(30 секунд). Передайте0, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью методов browser_context.set_default_timeout() или page.set_default_timeout().
Возвращаемое значение
- List[Dict]#
-
namestrНазвание инструмента, уникальное в пределах фрейма.
-
descriptionstrОписание инструмента.
-
inputSchemaDict (необязательно)Схема JSON Schema входных данных инструмента, если страница её предоставляет.
-
annotationsDict (необязательно)-
readOnlybool (необязательно)Инструмент не изменяет никакое состояние.
-
untrustedContentbool (необязательно)Выходные данные инструмента могут содержать сторонний контент.
-
consequentialbool (необязательно)Инструмент выполняет действие, имеющее значимые последствия, например размещение заказа.
Подсказки об инструменте, предоставляемые страницей.
-
-