Новое браузерное API Google позволяет вашему сайту напрямую общаться с AI-агентами — без DOM-скрапинга и хрупких скриптов автоматизации. Разбираемся, как это работает и почему это важно для каждого веб-разработчика.
Представьте, что AI-агент пытается забронировать авиабилет на вашем сайте. Сегодня он рендерит страницу, делает скриншот, спрашивает у vision-модели, где находится кнопка "Найти", и надеется на лучшее. Поменяйте CSS-класс кнопки, сдвиньте её на 5 пикселей или переименуйте "Отправить" в "Найти билеты" — агент сломается.
Этот хрупкий подход, основанный на «угадывании по пикселям», призван устранить
WebMCP (Web Model Context Protocol). Представленный на Google I/O 2026
(19-20 мая) как одно из «15 обновлений для agentic web», WebMCP — это предлагаемый
открытый веб-стандарт Google, который позволяет сайту декларировать свои возможности
в виде типизированных, вызываемых JavaScript-инструментов для AI-агентов через
браузерное API navigator.modelContext.
Вместо того чтобы агент угадывал, куда нажать, ваш сайт говорит: «Я поддерживаю searchFlights(откуда, куда, дата, пассажиры), getHotelAvailability(локация, даты) и completeBooking(bookingId). Вот точные параметры.»
Это фундаментальный сдвиг. Сайты перестают быть просто человекочитаемыми документами — они становятся исполняемыми наборами инструментов для AI-агентов. В этом руководстве я расскажу, что такое WebMCP, как его внедрить, приведу примеры кода для обоих API (императивного и декларативного) и объясню, что это значит для вашей стратегии веб-разработки.
WebMCP — это предлагаемый веб-стандарт, разработанный командой Chrome в Google.
Опубликованный как Developer Trial 18 мая 2026 года, он представляет новое браузерное
API — navigator.modelContext — которое позволяет сайтам публиковать
структурированный, машиночитаемый манифест вызываемых инструментов.
Ключевая идея проста: агентам не нужно видеть ваш UI, чтобы использовать ваш сайт. Им нужно знать, какие операции вы поддерживаете и как их вызывать. WebMCP предоставляет именно это — «контракт инструментов» между сайтом и AI-агентом.
searchFlights, bookHotel) с типизированными параметрами и возвращаемыми значениямиВажно различать WebMCP и Model Context Protocol (MCP) от Anthropic. Это разные стандарты для разных контекстов:
| Характеристика | WebMCP (Google) | MCP (Anthropic) |
|---|---|---|
| Среда | Браузер (через navigator.modelContext) |
Отдельный сервер ↔ LLM |
| Назначение | Сайты предоставляют инструменты агентам в браузере | LLM-приложения подключаются к внешним данным/инструментам |
| Обнаружение | Автоматически — агент запрашивает navigator.modelContext |
Вручную — URL MCP-сервера настраивается в клиенте |
| Область | Инструменты и состояние страницы | Глобальные источники данных и коллекции инструментов |
| Стандартизация | W3C / WICG (открытый веб-стандарт) | Спецификация протокола с открытым исходным кодом |
Они дополняют друг друга. Сайт, использующий WebMCP, предоставляет инструменты агенту в браузере. Этот агент, в свою очередь, может использовать MCP от Anthropic для доступа к внешним базам данных или API. Вместе они формируют полную экосистему взаимодействия агента с вебом.
До WebMCP AI-агенты взаимодействовали с сайтами через актуацию — имитацию человеческого поведения: рендер страницы, скриншот, передача изображения мультимодальной модели и угадывание, куда нажать.
У этого подхода фундаментальные проблемы:
WebMCP устраняет все эти проблемы, заменяя пиксельное взаимодействие структурированными
API-вызовами. Агент вызывает searchFlights("MSK", "LAX", "2026-06-15", 2)
вместо прохождения через 5-шаговую форму. Это быстрее, дешевле, надёжнее и приватнее.
WebMCP в настоящее время доступен в режиме Developer Trial в Chrome.
Его нужно включить либо через chrome://flags, либо через регистрацию
origin trial токена.
В Chrome откройте chrome://flags/#enable-web-mcp и активируйте флаг.
Или зарегистрируйтесь для получения WebMCP origin trial токена
и добавьте его в <head> вашей страницы:
<meta http-equiv="origin-trial" content="ВАШ_ORIGIN_TRIAL_ТОКЕН">
Перед использованием WebMCP всегда проверяйте, доступен ли он в браузере пользователя:
if (navigator.modelContext) {
console.log('WebMCP доступен!');
// Регистрируем инструменты
} else {
console.log('WebMCP недоступен — используем обычный UX');
// Сайт работает и без него
}
WebMCP спроектирован как progressive enhancement — ваш сайт обязан работать без него.
Императивное API — самый гибкий способ использования WebMCP. Вы определяете инструменты программно через JavaScript, что даёт полный контроль над именами, параметрами и логикой выполнения.
Используйте navigator.modelContext.registerTool() для определения
каждого инструмента:
navigator.modelContext.registerTool({
name: 'searchFlights',
description: 'Поиск доступных рейсов между двумя аэропортами на указанную дату',
parameters: {
type: 'object',
properties: {
origin: {
type: 'string',
description: 'IATA код аэропорта вылета (например, MSK, LED, SVO)'
},
destination: {
type: 'string',
description: 'IATA код аэропорта прибытия'
},
date: {
type: 'string',
format: 'date',
description: 'Дата вылета (ГГГГ-ММ-ДД)'
},
passengers: {
type: 'integer',
minimum: 1,
default: 1,
description: 'Количество пассажиров'
}
},
required: ['origin', 'destination', 'date']
},
handler: async (params) => {
const results = await fetch('/api/flights', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(params)
});
return await results.json();
}
});
Помимо инструментов, вы можете предоставлять структурированные данные о текущем состоянии страницы:
// Предоставляем агенту данные о текущей странице
navigator.modelContext.setContext({
pageType: 'flight-search-results',
currentPage: 1,
totalResults: 47,
filters: {
maxPrice: 500,
airlines: ['Аэрофлот', 'S7'],
stops: 'direct'
},
tripType: 'round-trip',
currency: 'RUB'
});
Агенты обнаруживают ваши инструменты, запрашивая браузер. Браузер возвращает полный манифест:
// Агент делает это внутри себя:
const tools = await navigator.modelContext.getTools();
// Возвращает: [{ name: 'searchFlights', description: '...', parameters: {...} }, ...]
const context = await navigator.modelContext.getContext();
// Возвращает: { pageType: 'flight-search-results', currentPage: 1, ... }
WebMCP генерирует события при вызове инструментов, позволяя отслеживать использование агентами:
navigator.modelContext.addEventListener('toolinvoke', (event) => {
console.log(`Агент вызвал инструмент: ${event.detail.toolName}`);
console.log(`Параметры:`, event.detail.parameters);
console.log(`ID выполнения: ${event.detail.executionId}`);
});
Декларативное API позволяет аннотировать существующие HTML-элементы метаданными WebMCP. Это идеально, когда нужно предоставить функциональность форм без написания собственных JavaScript-обработчиков.
<form data-mcp-tool="bookHotel" data-mcp-description="Забронировать номер в отеле">
<label>Название отеля</label>
<input type="text" name="hotelId"
data-mcp-param="hotelId"
data-mcp-type="string"
data-mcp-description="ID отеля из результатов поиска">
<label>Дата заезда</label>
<input type="date" name="checkin"
data-mcp-param="checkin"
data-mcp-type="date"
data-mcp-description="Дата заезда">
<label>Дата выезда</label>
<input type="date" name="checkout"
data-mcp-param="checkout"
data-mcp-type="date"
data-mcp-description="Дата выезда">
<label>Гости</label>
<input type="number" name="guests"
data-mcp-param="guests"
data-mcp-type="integer"
data-mcp-description="Количество гостей"
data-mcp-default="1">
<button type="submit">Забронировать</button>
</form>
С декларативным API браузер автоматически генерирует определения инструментов из
ваших HTML-аннотаций. Агент видит тот же инструмент (bookHotel)
с теми же параметрами, но вы не написали ни строчки JavaScript сверх обычного
обработчика формы.
AI-ассистент для покупок может обойти несколько магазинов, найти лучшую цену на товар и оформить заказ через инструменты WebMCP — без того, чтобы пользователь вручную посещал каждый магазин.
«Забронируй поездку в Токио» запускает цепочку: поиск билетов → поиск отелей → сравнение вариантов → бронирование. Каждый шаг вызывает отдельный инструмент на том же сайте, а агент выбирает оптимальную комбинацию.
Клиент спрашивает AI-ассистента «Какой статус моего заказа?» Ассистент переходит
на сайт магазина, вызывает getOrderStatus(orderId) через WebMCP
и возвращает результат. Если заказ задерживается, можно вызвать
initiateReturn(orderId).
«Покажи конверсию за прошлый месяц по источникам трафика» — агент запрашивает инструменты аналитического дашборда, агрегирует данные и представляет результат в читаемом формате.
WebMCP поддерживает HTTP-заголовок Permissions Policy, дающий контроль над тем, какие источники могут получать доступ к вашим инструментам:
Permissions-Policy: web-mcp=(self "https://trusted-agent.com")
navigator.modelContext.unregisterTool(toolName)
Каждый инструмент должен представлять намерение пользователя,
а не API-эндпоинт. Вместо getProductData + getPricingData
+ getAvailabilityData создайте один инструмент
searchProducts(query, filters), возвращающий всё необходимое агенту.
Ваш сайт обязан отлично работать без WebMCP. Слой для агентов — это улучшение, а не требование. Тестируйте сайт с отключённым WebMCP.
Названия и описания инструментов — это то, по чему агенты выбирают нужный. Будьте точны.
Возвращайте структурированные ошибки, чтобы агент мог восстановиться.
WebMCP — это больше, чем очередное API. Это фундаментальное переосмысление того, как сайты взаимодействуют с нечеловеческими посетителями. По мере того как AI-агенты становятся основным интерфейсом для всё большего числа пользователей (бронирование поездок, покупки, управление задачами), сайты, предоставляющие структурированные, дружественные к агентам интерфейсы, получат значительное конкурентное преимущество.
Для SEO и обнаруживаемости: Так же как семантический HTML помог поисковым системам понимать веб-контент в 2000-х, WebMCP помогает AI-агентам понимать веб-функциональность в 2020-х. Сайт с хорошо определёнными инструментами WebMCP с большей вероятностью будет использован агентами от имени пользователей.
Для веб-разработчиков: Это новый навык, но основы знакомы. Если вы писали REST API — вы сможете писать инструменты WebMCP. Если использовали структурированные данные (JSON-LD) для SEO — вы понимаете концепцию машиночитаемых метаданных. WebMCP применяет тот же принцип к функциональности.
Сочетание Built-in AI от Chrome (Prompt API с on-device Gemini Nano) и WebMCP особенно мощно. Браузер пользователя может запускать локального AI-агента, который нативно понимает инструменты вашего сайта, выполняет их на устройстве и возвращает результаты — без серверных вызовов к сторонним AI-провайдерам. Подробнее о браузерном AI читайте в руководстве по Chrome Prompt API. А чтобы разобраться в платформенных возможностях JavaScript, на которых построены эти API, смотрите полный обзор ES2026.
navigator.modelContext. Вместо того чтобы агент угадывал, куда нажать на странице, сайт декларирует, какие операции он поддерживает — поиск, бронирование, фильтрация, оформление заказа — в виде типизированных JavaScript-функций.navigator.modelContext и доступен на любом сайте. MCP от Anthropic — это протокол для подключения LLM-приложений к внешним источникам данных и инструментам через отдельный сервер. WebMCP фокусируется на взаимодействии агента с сайтом внутри браузера, а MCP — на подключении инструментов к LLM. Они могут дополнять друг друга.chrome://flags или получить origin trial токен. API находится в активной разработке. API может измениться до стандартизации.WebMCP — это серьёзный сдвиг в том, как сайты будут взаимодействовать с AI-агентами. Ранние последователи — сайты, которые инвестируют в структурированные, дружественные к агентам интерфейсы сейчас — получат значительное преимущество по мере того, как AI-ориентированный просмотр веба станет мейнстримом.
Я — full-stack разработчик с глубоким опытом в современных веб-API, браузерных технологиях и AI-интеграции. Если вы планируете подготовить свой сайт к AI-агентам с помощью WebMCP или изучаете, как AI повлияет на вашу веб-стратегию, свяжитесь со мной — я предоставляю бесплатные первичные консультации.
Планируете подготовить сайт к AI-агентам? Помогу внедрить WebMCP, интегрировать браузерный AI и построить архитектуру для agentic web.