WebMCP
WebMCP предоставляет доступ к инструментам, которые фрейм регистрирует через экспериментальный браузерный API WebMCP — navigator.modelContext. Он позволяет получать список инструментов и вызывать их.
Экземпляры доступны через Frame.Webmcp. Page.Webmcp — это экземпляр для главного фрейма.
WebMCP — экспериментальная возможность браузера. В Chromium она включается аргументом запуска --enable-features=WebMCP, в Firefox — настройками dom.modelcontext.enabled и dom.modelcontext.testing.enabled. В WebKit она не реализована.
Названия инструментов, их описания, схемы входных данных и результаты предоставляются страницей, поэтому считайте их недоверенными входными данными.
Методы
CallToolAsync
Добавлено в: v1.64Вызывает инструмент, зарегистрированный фреймом, и возвращает его результат. Результатом является значение, которым завершилась функция execute инструмента, — обычно это объект с массивом content. Результат с isError: true возвращается без изменений. Метод выбрасывает исключение, если инструмент не зарегистрирован или его функция execute выбрасывает исключение.
Использование
await WebMCP.CallToolAsync(name, input, options);
Аргументы
-
Название инструмента, возвращаемое методом WebMCP.ToolsAsync().
-
input[object]? (необязательно)#Входные данные для инструмента, соответствующие его
inputSchema. По умолчанию используется пустой объект. -
optionsWebMCPCallToolOptions?(необязательно)-
Timeout[float]? (необязательно)#Максимальное время ожидания в миллисекундах. По умолчанию —
30000(30 секунд). Передайте0, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью методов BrowserContext.SetDefaultTimeout() или Page.SetDefaultTimeout().
-
Возвращаемое значение
- [object]#
ToolsAsync
Добавлено в: v1.64Возвращает инструменты, зарегистрированные фреймом на текущий момент. Выбрасывает исключение, если браузер запущен без поддержки WebMCP. Параметры запуска, включающие эту поддержку, приведены в примечании выше.
Page.Webmcp охватывает только главный фрейм; дочерние фреймы предоставляют список своих инструментов через собственный Frame.Webmcp.
Использование
await WebMCP.ToolsAsync(options);
Аргументы
optionsWebMCPToolsOptions?(необязательно)-
Timeout[float]? (необязательно)#Максимальное время ожидания в миллисекундах. По умолчанию —
30000(30 секунд). Передайте0, чтобы отключить тайм-аут. Значение по умолчанию можно изменить с помощью методов BrowserContext.SetDefaultTimeout() или Page.SetDefaultTimeout().
-
Возвращаемое значение
- IReadOnlyList<Tools>#
-
namestringНазвание инструмента, уникальное в пределах фрейма.
-
descriptionstringОписание инструмента.
-
inputSchema[object]? (необязательно)JSON Schema входных данных инструмента, если страница её предоставляет.
-
annotationsAnnotations? (необязательно)-
readOnlybool? (необязательно)Инструмент не изменяет никакое состояние.
-
untrustedContentbool? (необязательно)Выходные данные инструмента могут содержать сторонний контент.
-
consequentialbool? (необязательно)Инструмент выполняет действие со значимыми последствиями, например размещение заказа.
Подсказки об инструменте, предоставляемые страницей.
-
-