WebMCP в TrickyBird
WebMCP — черновик W3C Web Machine Learning Community Group. Он позволяет странице зарегистрировать именованные действия в document.modelContext, и тогда агент в браузере вызывает функцию, а не пробирается по DOM наугад.
За прокси каждый фрейм отданной страницы оказывается на том же адресе, что и сама страница, поэтому настройка self, которая у WebMCP стоит по умолчанию, позволила бы фрейму открытого вами сайта зарегистрировать инструменты на той странице, которую читает агент.
Обновлено
Инструменты
TrickyBird регистрирует эти инструменты на своих страницах: на каждой странице свой набор и только пока вы на ней. В таблице видно, где искать каждый. Столбец «Описание» — та самая строка, которую браузер передаёт агенту: она читается из модулей, где инструменты регистрируются, а не набрана здесь заново. Поэтому в таблице не может оказаться инструмента, которого этот сайт не регистрирует.
Браузер в приложении ChatGPT для компьютера с 27 августа 2026 года читает инструменты, которые регистрирует сайт, на тарифах Work и Codex.
Это не удалённый MCP-сервер
Никакого MCP-эндпоинта, к которому можно обратиться, нет, и устанавливать тоже нечего. document.modelContext живёт внутри вкладки браузера, поэтому эти инструменты существуют, только пока одна из этих страниц открыта в вашей.
Навигация
open_site- Регистрируется на
- /
- Входные данные
- url
- Результат
- ok, invalid_url, busy, cancelled, failed
Open a website through TrickyBird in this tab. The proxied page loads in place of this one. Returns ok (launch started), invalid_url (not a web address), busy (already launching), cancelled (call cancelled), failed (launch incomplete).
cancel_launch- Регистрируется на
- /, /unblock/<slug>
- Входные данные
- Нет
- Результат
- cancelled, nothing_to_cancel
Stop an open_site or open_this_site launch on this page, before it navigates. Returns cancelled when a launch was in progress, or nothing_to_cancel when none was or a check is waiting on the person at the screen. Opens nothing, starts no session, navigates nowhere.
open_this_site- Регистрируется на
- /unblock/<slug>
- Входные данные
- Нет
- Результат
- ok, busy, cancelled, failed
Open the site this page is about through TrickyBird in this tab. The proxied page loads in place of this one. It takes no input; open_site is the tool that takes an address. Returns ok (launch started), busy (already launching), cancelled (call cancelled), failed (launch incomplete).
Найти сайт
list_checked_sites- Регистрируется на
- /, /unblock, /status
- Входные данные
- Нет
- Результат
- Нет
List the sites TrickyBird publishes checked pages for. Read-only, opens nothing. A site not listed has no such page, which does not mean it is blocked or unchecked, and open_site is not limited to the list.
get_site_status- Регистрируется на
- /, /unblock, /status
- Входные данные
- domain
- Результат
- renders, unknown_site
Return what TrickyBird publishes for one checked site: status, category, page address and the date a person last checked it. A domain outside this schema returns unknown_site. Read-only, opens nothing. open_site is not limited to these domains.
Прочитать страницу
get_faq- Регистрируется на
- /faq
- Входные данные
- Нет
- Результат
- Нет
Return the questions and answers TrickyBird publishes on its FAQ page, in the page's order. Read-only, opens nothing.
get_security_overview- Регистрируется на
- /security
- Входные данные
- Нет
- Результат
- Нет
Return the sections TrickyBird publishes on its security page, in the page's order. Read-only, opens nothing.
get_comparison- Регистрируется на
- /compare
- Входные данные
- Нет
- Результат
- Нет
Return the comparison TrickyBird publishes between a web proxy and a VPN: the rows in the page's order, with the answer and the balance note the page prints beside them. Read-only, opens nothing.
get_article- Регистрируется на
- /learn/<slug>
- Входные данные
- Нет
- Результат
- Нет
Return the explainer this page is about, in the page's order: title, the answer it leads with, opening, sections and the questions it answers. Read-only, opens nothing.
get_site_guide- Регистрируется на
- /unblock/<slug>
- Входные данные
- Нет
- Результат
- Нет
Return what TrickyBird publishes for the site this page is about: name, domain, category, status, the date a person last checked it and this page's own address, then any note on what to expect from it, the opening paragraphs, sections and the questions it answers. It is the one tool for what this page publishes about the site; open_this_site is the tool that opens it. Read-only, opens nothing.
list_articles- Регистрируется на
- /learn
- Входные данные
- Нет
- Результат
- Нет
List the explainers TrickyBird publishes, in the order this page lists them, each with its title, the answer it leads with and the address of its own page. Read-only, opens nothing.
get_leak_test- Регистрируется на
- /proof
- Входные данные
- Нет
- Результат
- Нет
Return the leak test TrickyBird publishes on its proof page, in the page's order: the steps a person can run in their own tab, the page's own note on the test, and the questions it answers. Read-only, opens nothing.
Рекомендованные сценарии
Проверить сайт, потом открыть
- Вызовите
list_checked_sitesдля сайтов, по которым TrickyBird публикует страницу проверки, илиget_site_statusдля одного домена. - Вызовите
open_siteс нужным адресом;open_siteне ограничен списком.
Открыть сайт, потом остановить
- Вызовите
open_siteс адресом. Он отвечает ok, как только запуск начался. - Вызовите
cancel_launch, пока этот запуск ещё идёт: он отвечает cancelled, если запуск шёл, и nothing_to_cancel, если его не было или проверка ждёт человека за экраном.
Прочитать, что публикует страница
- Вызовите
get_faqна странице вопросов и ответов,get_security_overviewна странице безопасности илиget_comparisonна странице сравнения. - Вызовите
get_articleна пояснительной статье илиget_site_guideна странице сайта. - Каждый возвращает то, что публикует его собственная страница, в порядке этой страницы.
Как это попробовать
Прежде чем начать
Сегодня WebMCP есть только в Chromium: в Firefox и Safari нет document.modelContext. Chrome с 149 по 156 участвует в origin trial WebMCP, а наш адрес несёт нужный токен, так что на такой версии включать ничего не придётся.
Chrome вне origin trial запускается с ключом --enable-features=WebMCP. Остальные браузеры на базе Chromium сами решают, включён ли у них WebMCP.
В консоли
Откройте нашу главную страницу в новой вкладке, затем её консоль. Шаги ниже мы выполняли в Chrome 152.
Вызовите
getTools(), чтобы увидеть, что зарегистрировала эта страница.const tools = await document.modelContext.getTools()Вы получаете инструменты, зарегистрированные на той странице, где вы находитесь: у каждого имя и описание из таблицы и своя схема входных данных.
Вызовите
executeTool(), передав один из только что полученных инструментов и его входные данные строкой JSON.await document.modelContext.executeTool(tools.find(t => t.name === 'get_site_status'), JSON.stringify({ domain: 'youtube.com' }))Вы получаете
'{"content":[{"type":"text","text":"..."}]}'Строка JSON. Разберите её:
content[0].textнесёт собственный ответ инструмента, а при отказеisErrorравен true.
Чего он не делает
Ни один из этих инструментов не регистрируется на сайтах, которые вы открываете через TrickyBird: шлюз запрещает WebMCP в каждом документе, который отдаёт, и страница, открытая через прокси, не может зарегистрировать ни одного инструмента.
Причина — в первом абзаце: на нашем собственном адресе страница, отданная через прокси, для браузера не третья сторона, которую он мог бы держать отдельно, поэтому отказ должен исходить от нас.
До чего эти инструменты дотягиваются
- Ничто из того, что возвращают эти инструменты, не приходит с сайта, открытого вами через TrickyBird, и не несёт ничего о вашей сессии. Те, что работают только на чтение, возвращают то, что TrickyBird и так публикует на странице, где каждый из них зарегистрирован.
get_comparisonпередаёт сравнение, которое TrickyBird публикует между веб-прокси и VPN, вместе с уравновешивающей заметкой, которую страница печатает рядом. Никакого другого продукта он не называет.- Что-то меняют только
open_site,open_this_siteиcancel_launch. Остальные работают только на чтение, и каждый говорит об этом в своём описании.
Ссылки
- Черновик W3C Community Group · webmachinelearning.github.io
- Explainer и открытые issues · github.com
- Список awesome-webmcp · github.com
- llms.txt · trickybird.com
- WebMCP в FAQ · trickybird.com
- Заметка с замерами метаданных инструментов WebMCP, на английском · trickybird.com