Автор: Kristijan Sekereš
Как можем да помогнем: Интеграция на AI агенти и MCPВижте услугатаWebMCP през октомври 2026 г.: как да направите сайта си използваем за ИИ агенти и какво всъщност означава origin trial

WebMCP позволява на една уеб страница да даде на ИИ агента кратък списък с неща, които той може да прави, всяко с име, описание и входна схема, вместо агентът да разгадава страницата по екранни снимки и DOM. Агент, който намери инструмент check_order_status, може да го извика с номер на поръчка. Без него агентът трябва сам да открие правилното поле и да натисне правилния бутон.
Това е обещанието. Положението към 22 октомври 2026 г. е по-тясно, отколкото сочат повечето материали. WebMCP е предложение на общностна група към W3C, а не стандарт. Chrome го пуска като origin trial (пробен период, в който регистрирани сайтове могат да включат нова функция на Chrome), без още да е решено да го издаде за всички. Инструментите извиква един потребителски агент (браузърът, вграден в настолното приложение на ChatGPT), а той пренебрегва декларативния вариант с формуляри, който беше изваден от спецификацията на 8 октомври. Екипът на Safari е против предложението; Mozilla е неутрална.
Тази статия е за разработчици и собственици на продукти, които решават дали да добавят WebMCP сега. Тя обяснява какво представлява API, кой го извиква, как да го включите за реални посетители, как да пишете инструменти, които не дават на агента заредено оръжие в ръцете, и какво да оправите първо, ако изобщо искате агентите да ползват сайта ви.
Какво е WebMCP
Спецификацията определя JavaScript API на document.modelContext, чрез който страницата регистрира инструменти: „WebMCP API позволява на уеб приложенията да предоставят на ИИ агентите инструменти, базирани на JavaScript.“ Един инструмент има name, description и execute callback функция, а по желание title, inputSchema (JSON Schema) и annotations. Когато агентът извика инструмента, се изпълнява собственият код на страницата, със сесията на потребителя.
В три неща лесно се греши:
- Не е стандарт. Документът е Draft Community Group Report на Web Machine Learning Community Group и го казва сам: „Това не е стандарт на W3C и не е в стандартизационния процес на W3C.“ Документацията на Chrome го нарича „предложен уеб стандарт“. Датата на доклада се сменя през няколко дни през октомври; редакторите му са от Microsoft и Google.
- В него няма MCP. Спецификацията казва, че страниците, които го ползват, „могат да се разглеждат като сървъри на Model Context Protocol, които реализират инструменти в клиентски скрипт“, и че тя „не предписва формата, в който инструментите се предоставят на агента в браузъра“. Прегледът на Mozilla го казва направо: „Името подвежда ... Тук няма MCP.“ Един WebMCP инструмент не се свързва с вашия MCP сървър в бекенда и не го замества.
- Не ви прави откриваеми. Самата документация на Chrome изброява това ограничение: „Клиентите и браузърите трябва да посетят сайта директно, за да разберат дали има инструменти, които могат да се извикват.“ WebMCP помага на агент, който вече е на вашата страница. За това да бъдете намерени той не прави нищо.
API е ограничен до защитени контексти (secure contexts) и се управлява от Permissions Policy tools, чийто списък по подразбиране е 'self', така че cross-origin iframe не може да регистрира инструменти, освен ако страницата, която го вгражда, не го позволи.
Къде е положението към 22 октомври 2026 г.
| Кой | Състояние | Източник |
|---|---|---|
| Chrome | Origin trial от Chrome 149 до 156; на 29 септември 2026 г. е поискано удължаване до 162, с едно условно одобрение; състояние на функцията „Proposed“, без Intent to Ship | chromestatus, blink-dev |
| Microsoft Edge | Собствен origin trial от Edge 150, който изтича на 30 март 2027 г.; „Тази функция може никога да не бъде включена извън този пробен период“ | Origin trial за Edge |
| Настолно приложение на ChatGPT | Извиква инструментите като „site tools“, само императивният API, само страница от най-високо ниво | OpenAI |
| Gemini в Chrome | „скоро ще поддържа WebMCP API“ (19 май 2026 г.); оттогава няма съобщение | Chrome на I/O 2026 |
| Shopify | Инструменти на всяка витрина на Liquid и в предварителната версия за разработчици на Hydrogen от 5 август; инструменти за плащане от 28 септември | Дневник на промените на Shopify |
| Safari (WebKit) | „position: oppose“ | Позиции на WebKit по стандартите |
| Firefox (Mozilla) | „position: neutral“ | Позиции на Mozilla по стандартите |
Chrome 156, последната версия от първоначалния период на пробата, стигна до стабилния канал на 20 октомври 2026 г. Chrome 162, краят на поисканото удължаване, е насрочен за стабилния канал на 2 февруари 2027 г. Дали удължаването е в сила, не можа да се потвърди от конзолата на пробата, затова планирайте така, като че ли е вероятно, но не и сигурно.
Заявката за удължаване обяснява защо Chrome иска повече време: „Обратната връзка от OT предлага подобрения на API, които реализираме.“ В същата нишка Доминик Фаролино (Dominic Farolino) от Google написа, че екипът се „надява да премине към I2S в рамките на периода на удължаването“, тоест да поиска разрешение за издаване, и че „Императивният API е много по-популярен от декларативния, затова инвестираме повече в него в отговор на нуждите на потребителите.“ Той спомена и continuation API, tool stability API и ограничения за размера на инструментите, които се прототипират. API, срещу който пишете днес, ще се промени.
Кой всъщност извиква инструментите
За регистрирането на инструменти не е нужно нищо. За използването им е нужен агент, а списъкът с агенти е кратък.
Собствените тестови разширения на Chrome. Документацията на Chrome предлага две разширения, сред които Model Context Tool Inspector, за изпробване на инструменти в демонстрации и на вашите страници. Те изискват ваш собствен API ключ за модел, а Chrome отбелязва: „Тези разширения са отделни от Gemini в Chrome.“ Това са инструменти за разработчици, а не клиенти.
Вграденият браузър на ChatGPT. Публикация на служител на OpenAI във форума за разработчици каза на 25 август 2026 г., че „Site tools са реализацията на ChatGPT на предложения стандарт WebMCP.“ Нейната документация поставя условия: определени модели, най-новото настолно приложение, администратор, който го разрешава в работните пространства за Enterprise, без работни пространства за образованието и „Наличността зависи и от поетапното внедряване“. Тя изброява и какво не поддържа: „Декларативен API: инструментите, дефинирани чрез атрибути на HTML формуляри, не са достъпни като site tools“, както и инструментите, регистрирани в iframe, включително тези от същия origin. Указанието на OpenAI е ясно: „Използвайте JavaScript, за да регистрирате инструментите в страницата от най-високо ниво“. Документацията не казва дали една страница има нужда от токен за origin trial на Chrome, за да види ChatGPT инструментите ѝ.
Gemini в Chrome. През май Google каза, че „скоро ще поддържа WebMCP API“. Не открихме първичен източник оттогава, който да казва, че го прави. Още не градете план върху това.
Всички останали се връщат към стария начин. Всеки агент във всеки браузър все още чете страниците по стария начин. Chrome го казва в собствената си оценка на риска: „Агентите в браузъра на Chrome могат да продължават да работят със сайтовете както досега, като симулират поведение на потребителя.“ OpenAI: „Ако няма подходящ инструмент, агентът може пак да използва обичайните си възможности на браузъра.“ Сайт без WebMCP не е невидим за агентите. Сайт със счупени бутони и полета без етикети е труден за всички тях.
Императивният API
Това е версията, която определя спецификацията, която поддържа ChatGPT и която според Chrome разработчиците предпочитат. Инструментът обвива логика, която страницата вече има. Ето справка само за четене за влязъл в профила си клиент, по образеца в документацията на Chrome и проверката за поддръжка (feature detection) на OpenAI:
if (typeof document.modelContext?.registerTool === 'function') {
const tools = new AbortController();
await document.modelContext.registerTool({
name: 'check_order_status',
description: 'Look up the status and tracking link of one of the signed-in customer\'s orders by its order number.',
inputSchema: {
type: 'object',
properties: {
orderNumber: { type: 'string', description: 'Order number as printed in the confirmation email' },
},
required: ['orderNumber'],
},
annotations: { readOnlyHint: true },
execute: async ({ orderNumber }, { signal }) => {
const res = await fetch(`/api/orders/${encodeURIComponent(orderNumber)}`, { signal });
if (!res.ok) return `No order ${orderNumber} was found on this account.`;
const order = await res.json();
return `Order ${orderNumber}: ${order.status}. Tracking: ${order.trackingUrl ?? 'not available yet'}.`;
},
}, { signal: tools.signal });
// When the page state no longer fits the tool:
// tools.abort();
}
Какво е важно в него:
- Името, описанието и схемата са това, което моделът чете. Chrome препоръчва най-много 500 знака за описание на инструмент, 150 за описание на параметър, 30 за име на инструмент и на параметър и 1,5K знака за изход на инструмент, и отбелязва, че „Тези препоръки подлежат на промяна“. Обяснителният документ на спецификацията предупреждава, че „Излагането на твърде много инструменти (например десетки или стотици) може сериозно да влоши работата на агента“: регистрирайте това, което е нужно на текущото състояние на страницата, а останалото махайте със сигнала на
AbortController. - Вторият аргумент на
executeносиAbortSignal, така че отменено извикване може да спре заявка, която е в ход. - Анотациите са подсказки.
readOnlyHintмаркира справка.consequentialHintмаркира всичко, което резервира, купува, изпраща, изтрива или прехвърля, а документацията на Chrome казва, че то „позволява на агентите и браузърите да налагат задължителни потвърждения от потребителя“.untrustedContentHintмаркира изход, който носи отзиви, съдържание от потребители или данни от трети страни. Анотацияdebuggingима от Chrome 156. - Кодът на страницата също може да изброява и изпълнява инструменти, чрез
document.modelContext.getTools()иexecuteTool(), а събитиеtoolchangeсе задейства, когато списъкът се промени. Аргументите, превърнати в низ с JSON, къмexecuteTool()са остарели от Chrome 155.
React, Angular и Vue имат по един експериментален помощник, а npm пакетът webmcp-types предоставя типове за TypeScript. По-старите уроци, които извикват navigator.modelContext, са остарели: спецификацията премести API към document на 27 май 2026 г.
Декларативният API: в пробата на Chrome, извън спецификацията
Декларативната версия превръща съществуващ HTML формуляр в инструмент с два атрибута. Тя е привлекателна за стари сайтове с много формуляри, защото не е нужно да се променя нищо друго:
<form toolname="request_quote"
tooldescription="Send a request for a quote. The user reviews the form and submits it."
action="/quote" method="post">
<label for="email">Work email</label>
<input id="email" name="email" type="email" required>
<label for="details">What you need</label>
<textarea id="details" name="details" required></textarea>
<button type="submit">Send</button>
</form>
<script>
document.querySelector('form[toolname]').addEventListener('submit', (e) => {
e.preventDefault();
const sent = sendQuoteRequest(new FormData(e.target)); // your existing submit, returning a promise
if (e.agentInvoked) e.respondWith(sent.then(() => 'Quote request sent.'));
});
</script>
В пробата на Chrome „Когато агентът извика toolname, браузърът фокусира формуляра и попълва полетата му. Формулярът остава видим за потребителя.“ Браузърът изгражда параметрите от контролите: техните имена, техните <label>, required и опциите на <select>. Освен ако формулярът няма toolautosubmit, „Потребителят трябва ръчно да натисне Submit, за да завърши задачата“, което е точно това, което искате при всичко, което приема поръчка или изпраща запитване. SubmitEvent.agentInvoked казва на вашия обработчик, че формулярът е попълнен от агент, а respondWith(), след preventDefault(), връща резултата на агента. Слушайте събитията toolactivated и toolcancel на document.modelContext с addEventListener: window.ontoolactivated и window.ontoolcancel не се поддържат от Chrome 156.
Уловката е в статута му. Последната промяна в обяснителния документ, от 8 октомври 2026 г., е озаглавена „Remove declarative API from the spec for now“, а сега там пише, че декларативен аналог „се проучва отделно ... но засега не е част от спецификацията.“ ChatGPT не го поддържа. Chrome все още го документира в пробата, а Фаролино от Google възрази в нишката на Mozilla: „виждаме стойност в декларативното предложение просто заради наследените уебсайтове, особено тези, базирани на формуляри“. Гледайте на него като на експеримент на Chrome в рамките на експеримент: добре е да го опитате, но не е разумно да е единственият ви път.
Как да го включите за реалните посетители
Флаг (chrome://flags/#enable-webmcp-testing) включва WebMCP във вашия собствен браузър за тестове. За посетителите той не прави нищо. За тях страницата има нужда от токен за origin trial.
- Регистрирайте origin на страницата на Chrome за пробата на WebMCP. Origin trial програмите „са публични и отворени за всички разработчици“, а токенът „включва функция за всички потребители на вашия origin“.
- Подавайте токена на всяка страница, която трябва да предлага инструменти, като
<meta http-equiv="origin-trial" content="...">в<head>или като хедър на отговораOrigin-Trial:. Токен може да се вмъкне и от скрипт. Един токен покрива един origin; една страница може да носи няколко. - Подновявайте го. Когато пробата се удължи, Chrome моли регистрираните да „предоставят нов токен за всеки origin, записан в пробата“, а „Chrome игнорира невалидни или изтекли токени“. Изтеклият токен се проваля безшумно: инструментите просто спират да се появяват.
- За Edge се регистрирайте отделно на страницата на Edge за пробата. Условията ѝ искат „Където е възможно, да прилагате откриване на поддръжката на функцията / плавно деградиране“.
Одитите на Lighthouse за WebMCP също изискват регистрация за пробата, така че сайт, който ги тества без токен, ще види как се провалят.
Как да пишете инструменти, които са безопасни за извикване
Разделът за сигурността в спецификацията е ненормативен и казва откровено къде е тежестта: предотвратяването на манипулирането на агента е „преди всичко отговорност на собствения модел за сигурност на агента, а не нещо, което тази спецификация може нормативно да наложи.“ Вашите инструменти все пак определят колко вреда може да нанесе манипулиран агент.
- Подсказките могат да лъжат, затова агентите няма да им вярват. Спецификацията: „злонамерен сайт може да пропусне или да представи невярно тези подсказки.“ OpenAI: „Името на един инструмент или твърдението му, че само чете данни, не е доказателство какво прави“, и всяко извикване в техния браузър минава през проверка за безопасност, като за покупки и подобни действия все още се изисква потвърждение. Анотирайте честно въпреки това. Това е, с което внимателният агент решава кога да попита потребителя.
- Описвайте ефектите точно. Лошият пример на самата спецификация е инструмент, описан като „Приключва текущата количка“, който „всъщност задейства покупка. Потребителят не е искал да купува нищо.“ Ако инструмент таксува карта, описанието го казва, а
consequentialHintеtrue. - Упълномощавайте на сървъра, всеки път. Инструментът работи със сесията на потребителя: спецификацията отбелязва, че „Агентите могат да наследяват самоличността и контекста на удостоверяване на потребителя от браузъра.“ Извикването на инструмент е заявка от този потребител и минава през същите проверки. Съветът от обяснителния документ е валиден: „Валидирайте строго в кода, свободно в схемата“, защото строгите откази на схемата могат да накарат агентите да заседнат.
- Предвидете prompt injection. Спецификацията го изброява първо, в три форми: инструкции, скрити в метаданните на инструмента, в изхода му, и атаки, които използват инструментите като цели. Изход, който носи текст, написан от други хора (отзиви, съобщения, въпроси за продукти), спада към
untrustedContentHintи трябва да се връща като данни, а не като проза, която агентът може да вземе за инструкции. - Изключвайте страници съзнателно. Хедър
Permissions-Policy: tools=()прави API недостъпен за документа и за всичко, което той вгражда. Настройките на акаунта, страниците за плащане и администраторските екрани са кандидати.
Една забележка за документацията на Chrome: страницата ѝ за сигурност казва, че проектът включва метод requestUserInteraction() за питане на потребителя по средата на работата на инструмента. В проекта на спецификацията от 20 октомври 2026 г. няма такъв метод, а обяснителният документ все още води потвърждението от потребителя като открит въпрос. Не проектирайте около него.
Какво възразяват инженерите на Safari и Firefox
Възраженията си струва да се прочетат, дори да правите само за Chrome, защото описват как WebMCP може да се обърка на практика.
Позицията на WebKit, публикувана на 3 юни 2026 г., твърди, че трудно използваемите страници трябва да се поправят в HTML и ARIA, „където печелят потребителят, помощните технологии и агентите“, и че с инструментите „крехкостта просто се премества от DOM в описанията на инструментите.“ Тя разглежда агента като помощна технология, която не бива да се отделя: „WebMCP прави обратното, превръщайки ‚агент управлява‘ в наблюдаем факт.“ И отбелязва, че предложението „няма модел на съгласие или обратимост за действия с последствия“.
Mozilla се установи на неутрална позиция през август: WebMCP „въвежда потенциално ценна абстракция“, но „отваря повърхност, чиято реална динамика оставя твърде много открити въпроси, за да бъде подкрепена безрезервно“. Тя предупреждава, че сайтовете биха могли да „предоставят инструменти, които не съответстват на преживяването на потребителя на страницата“, например да „предоставят prompt injection, който е невидим за типичните потребители“. Отделни инженери на Mozilla са проявили интерес към императивен примитив за извикване на функции; това не е подкрепа от Mozilla.
Самият Chrome оценява риска други браузърни машини да не приемат WebMCP като нисък за потребителите. Обратната страна на това е, че един сайт не печели нищо в Safari или Firefox, ако добави инструменти днес.
Какво работи днес за всеки агент
Всеки агент в браузъра чете екранни снимки, HTML и дървото на достъпността. Ръководството на web.dev на Google за сайтове, удобни за агенти, казва, че агентите „използват DOM и дървото на достъпността, за да получат чист, структуриран списък с интерактивни елементи, и после го съпоставят с визуалното изобразяване“. Практическият му списък е кратък:
- Използвайте истински елементи
<button>и<a>, не<div>и<span>, по които може да се кликва. - Свързвайте всеки
<label>с неговото поле чрезfor. - Без прозрачни слоеве над интерактивни елементи и нищо интерактивно, по-малко от 8 квадратни пиксела.
- Стабилно оформление, което не се измества, докато агентът се кани да кликне.
Заключението му: „Всичко, което предлагаме, за да направим един сайт ‚готов за агенти‘, прави сайтовете по-добри и за хората.“ Това е и, почти дума по дума, онова, което WebKit иска вместо WebMCP. Ако страницата ви за плащане се проваля при одит за достъпност, оправете това, преди да напишете и един инструмент.
Lighthouse има категория Agentic Browsing от версия 13.2.0 (1 май 2026 г.), налична в Chrome от версия 150 и включена за API на PageSpeed Insights в Lighthouse 13.4.1 (20 юли 2026 г.). Тя проверява подмножеството от одити за достъпност, които са важни за машините, стабилността на оформлението, регистрираните WebMCP инструменти и формулярите без такива, валидността на схемата и наличието на файл llms.txt. Chrome я нарича „информативна и без еталон“: няма оценка от 0 до 100. За llms.txt собственото ръководство на Google Search е, че такива файлове се пренебрегват: добавянето на един „нито ще навреди, нито ще помогне на видимостта или класирането на сайта ви в Google Search“. Това, че Lighthouse проверява за файла, не променя това.
Трябва ли да добавите WebMCP сега?
В Shopify с тема на Liquid: няма работа. Инструментите на Shopify за витрината, количката и плащането вече са активни, „Няма какво да инсталирате или настройвате“, със собствената уговорка на Shopify, че „поддръжката за агенти в момента е ограничена до браузъри на базата на Chromium чрез origin trial“. Headless витрините са покрити само в предварителната версия за разработчици на Hydrogen. Не открихме друга платформа за търговия, доставчик на платежни услуги или CDN, който да включва WebMCP за клиентите си.
На собствен софтуер, headless или стар сайт: зависи кои са потребителите ви.
- Ако клиентите или служителите ви ползват браузъра на настолното приложение на ChatGPT, императивните инструменти в страницата от най-високо ниво са единственият вид, който стига до тях. Започнете с два или три инструмента само за четене около най-честата ви задача (състояние на поръчка, наличност, оферта), зад проверка за поддръжка (feature detection), с токен за origin trial, и измерете дали някой ги извиква.
- Ако искате да експериментирате евтино в Chrome, декларативните атрибути върху съществуващи формуляри са няколко часа работа. Не спирайте дотам: ChatGPT няма да ги види, а спецификацията вече не ги съдържа.
- Ако нямате доказателство, че агентите ви посещават, оправете първо семантиката, етикетите и оформлението. Тази работа помага на всеки агент и на всеки човек, който ползва помощни технологии, и нищо от нея няма да отиде на вятъра, когато API се промени.
Във всеки случай пазете обичайния интерфейс пълен. Съветът на OpenAI: „Запазете обичайния интерфейс за хората и браузърите, които не поддържат WebMCP.“
Какво може да се промени
- Intent to Ship. Екипът на Chrome се надява да поиска такъв в рамките на периода на удължаването, който свършва с Chrome 162 (2 февруари 2027 г.), ако удължаването бъде в сила. Издаването би премахнало нуждата от токени в Chrome.
- Формата на API. Прототипират се continuation API (резултати, които пристигат на следващата страница след навигация), tool stability API и ограничения за размера. Последните версии вече премахнаха
window.ontoolactivatedи аргументите, превърнати в низ. - Съдбата на декларативния API. Извън спецификацията „засега“, все още в пробата на Chrome.
- Извикващите. Поддръжката в Gemini в Chrome е обявена, но не е пусната. Страницата за състоянието на реализациите в спецификацията води WebMCP за уеб приложения на очилата Ray-Ban Display на Meta като „скоро достъпен“, а в помощника Leo на Brave води експериментална поддръжка.
Ако добавите инструменти сега, дръжте ги в един модул, зад проверка за поддръжка (feature detection), така че следващата промяна да е една редакция.
Къде да потърсите помощ
Изграждаме частите от един уебсайт и неговия бекенд, до които агентите се докосват: инструменти, които обвиват съществуваща логика за поръчки, резервации и акаунти, упълномощаване, което третира извикването от агент като всяка друга заявка от този потребител, и поправките в семантиката и достъпността, които правят сайта използваем още преди да има какъвто и да е инструмент. Нашата услуга за разработка на ИИ агенти и интеграция на MCP сървъри покрива както WebMCP инструменти, така и MCP сървъри в бекенда, които са друго нещо въпреки името.
Ако искате да знаете какво вижда един агент на вашия сайт днес и дали инструментите биха променили нещо за клиентите ви, пишете на office@c9group.dev.
ИИ и софтуер
Нови ръководства и промени в правилата по имейл
Когато се промени правило, премести се срок или публикуваме ново ръководство, ви го изпращаме по имейл.