pimenov.ai

База знаний

Site tools и WebMCP: как открыть сайт для AI-агентов

Практическое руководство по Site tools и WebMCP: безопасные инструменты сайта, подтверждения, проверка результата и поэтапное внедрение.

Опубликовано

Site tools позволяют сайту объявить понятные действия, которые AI-агент может обнаружить на открытой странице и выполнить в той же пользовательской сессии. Руководство помогает спроектировать такие действия для pimenov.ai, начать с безопасного чтения и добавить запись только после отдельных проверок.

📌
Материал основан на официальной документации и проверен 30 августа 2026 года. Описанный контур не развёртывался на pimenov.ai в рамках подготовки текста. WebMCP остаётся предлагаемым стандартом, а доступность Site tools зависит от поддерживаемого клиента, модели, рабочего пространства и текущего развёртывания функции.

Что такое Site tools и WebMCP

Site tools — реализация предложенного стандарта WebMCP в ChatGPT. Страница регистрирует набор инструментов: каждый получает имя, описание, схему входных данных и обработчик. Совместимый агент может обнаружить эти инструменты, когда посещает страницу.

Инструменты принадлежат странице. После перехода на другой адрес или закрытия вкладки они могут стать недоступны. Если подходящего инструмента нет, агент по-прежнему может работать с обычным интерфейсом браузера, но это уже не вызов WebMCP.

Текущая реализация встроенного браузера ChatGPT поддерживает только часть WebMCP API. Инструменты, определённые декларативным API через атрибуты HTML-форм, и инструменты внутри iframe не обнаруживаются. Для совместимости инструмент регистрируют JavaScript-кодом на странице верхнего уровня.

Чем WebMCP отличается от обычного MCP

КритерийSite tools / WebMCPMCP-сервер
Где живёт инструментНа открытой веб-страницеНа локальном или удалённом сервере
Когда обнаруживаетсяВо время посещения страницыПосле отдельного подключения MCP
КонтекстТекущая страница и её авторизованная сессияAPI, сервис или данные независимо от открытой страницы
Подходящая задачаСовместная работа человека и агента с одной страницейСистемная интеграция, поиск и управление объектами через API
Жизненный циклМожет исчезнуть при навигацииНе зависит от вкладки браузера

Один продукт может поддерживать оба подхода. Например, Site tools помогают работать с текущим дашбордом, а MCP-сервер предоставляет фоновый доступ к тем же данным через API.

Минимальный инструмент только для чтения

Начинайте с операции, которую приложение уже умеет выполнять. Не создавайте параллельную бизнес-логику специально для агента.

if (typeof document.modelContext?.registerTool === "function") {
  await document.modelContext.registerTool({
    name: "get_page_title",
    description: "Read the title of the current page.",
    inputSchema: {
      type: "object",
      properties: {},
      additionalProperties: false,
    },
    annotations: { readOnlyHint: true },
    execute: async () => ({ title: document.title }),
  });
}

Этот пример возвращает заголовок текущей страницы. Проверка наличия registerTool сохраняет обычную работу сайта в браузерах без поддержки WebMCP.

Название инструмента, readOnlyHint и описание не являются доказательством безопасности. Определения и результаты инструментов считаются недоверенным содержимым. Реальную границу задают существующие аутентификация, авторизация, валидация входа и код обработчика.

Контракт безопасного инструмента

У каждого действия должен быть узкий и проверяемый контракт.

Часть контрактаТребованиеПример проверки
Имя и описаниеОбъясняют результат и побочный эффектИз описания понятно, читает инструмент или изменяет данные
Входные данныеТолько необходимые поля, ограничения заданы в схемеНеизвестные поля отклоняются
АвторизацияСервер повторно проверяет текущего пользователя и объектПользователь без роли редактора получает отказ
ВыполнениеВызывает существующую прикладную логикуWebMCP и обычная кнопка используют один прикладной метод
ОтветСодержит данные для независимой проверкиВозвращает ID, новое состояние и время изменения
ПовторНе создаёт неожиданный дубльИспользуется idempotency key или проверка текущего состояния
ЖурналСохраняет инициатора, инструмент, объект и результатОператор может восстановить цепочку действий

Чтение и запись нужно разделять

Инструменты чтения

Инструмент чтения получает данные, но не меняет состояние. Для pimenov.ai разумный первый набор может включать:

  • поиск опубликованного материала по теме;
  • чтение metadata текущей страницы;
  • получение списка связанных материалов;
  • чтение данных графика или фильтра в операторском интерфейсе.

Даже для чтения применяйте минимальные права. Инструмент не должен возвращать закрытые черновики, служебные поля или данные другого пользователя только потому, что агент запросил их.

Инструменты записи

Запись добавляйте отдельным этапом. До вызова должны быть известны объект, точные границы и ожидаемое последствие. Для чувствительного действия требуется человеческое подтверждение, привязанное к конкретной операции.

⚠️
Подтверждение вида «разрешить любые изменения на сайте» слишком широкое. Безопасный запрос называет действие, объект, изменяемые поля и способ проверки.

После выполнения агент не должен ограничиваться ответом инструмента. Он повторно читает страницу или объект и сверяет наблюдаемое состояние с ожидаемым. Ссылка на асинхронную задачу тоже не доказывает завершение: нужно дождаться её конечного статуса.

Этапы подтверждения и проверки

Разделите каждый сценарий записи на последовательные проверочные этапы.

Путь безопасного Site tool: от регистрации на странице до повторного чтения и аудита.
Путь безопасного Site tool: от регистрации на странице до повторного чтения и аудита.
  1. Обнаружение: агент видит инструмент только на нужной странице.
  2. Проверка входа: схема отклоняет лишние и некорректные поля.
  3. Проверка прав: приложение проверяет пользователя и объект на сервере.
  4. Подтверждение намерения: интерфейс показывает точное действие и его последствия.
  5. Выполнение: обработчик вызывает существующую бизнес-логику.
  6. Повторное чтение: агент заново читает изменённый объект.
  7. Приёмка: ожидаемое состояние совпадает с фактическим.
  8. Аудит: журнал содержит вызов, результат и идентификатор операции.
  9. Возврат: для обратимого изменения известен точечный способ отката.

Встроенный браузер ChatGPT выполняет safety review каждого вызова и сохраняет обычные политики доступа и подтверждения для действий с последствиями. Эти проверки снижают риск, но не заменяют серверную авторизацию и контроль владельца сайта.

Полезные сценарии для pimenov.ai

Поиск опубликованных материалов

Задача: агенту нужно найти подходящий материал для ответа читателю.

Вход: тема, тип материала и необязательный лимит результатов.

Действие: инструмент чтения обращается к существующему публичному индексу и возвращает только опубликованные страницы.

Наблюдаемый результат: список содержит title, публичный URL и краткое описание; каждый URL открывается на сайте.

Ограничение: инструмент не должен раскрывать Notion ID, внутренние комментарии и неопубликованные черновики.

Подготовка редакционного изменения

Задача: оператор хочет предложить изменение metadata, не разрешая агенту публиковать материал.

Вход: точный ID черновика, список разрешённых полей и новые значения.

Действие: сначала инструмент чтения показывает текущее состояние. Инструмент записи запускается только после подтверждения конкретного списка изменений.

Наблюдаемый результат: повторное чтение подтверждает изменённые поля, а статус остаётся Черновик.

Ограничение: публикация, синхронизация и развёртывание должны оставаться отдельными инструментами и отдельными этапами подтверждения.

Поэтапное внедрение

  1. Выберите одну существующую операцию только для чтения с понятным результатом.
  2. Опишите имя, входную схему, разрешения, ответ и ошибки.
  3. Зарегистрируйте инструмент на top-level page с проверкой поддержки API.
  4. Проверьте обычный интерфейс в браузере без WebMCP.
  5. Откройте страницу во встроенном браузере ChatGPT и проверьте список Site tools.
  6. Вызовите инструмент с корректными и ошибочными данными.
  7. Сверьте ответ инструмента с состоянием страницы или API.
  8. Добавьте журнал вызовов и мониторинг ошибок.
  9. Повторите проверку после изменения интерфейса или схемы.
  10. Только после стабильного контура чтения спроектируйте один инструмент записи с точным подтверждением и откатом.

Чеклист проверки результата

  • Инструмент появляется только на ожидаемой странице.
  • Имя и описание однозначно сообщают действие.
  • inputSchema запрещает лишние поля и проверяет допустимые значения.
  • Сервер применяет существующие аутентификацию и авторизацию.
  • Инструмент чтения не возвращает закрытые данные.
  • Инструмент записи требует подтверждения конкретного последствия.
  • Повторный вызов не создаёт дубль.
  • Ошибка возвращается структурированно и не раскрывает секреты.
  • Ответ содержит идентификатор и состояние для повторного чтения.
  • После записи состояние повторно прочитано независимо.
  • Действие присутствует в журнале.
  • Обычный интерфейс работает без WebMCP.
  • Инструмент повторно проверен после изменения страницы.

Ограничения текущей реализации

  • WebMCP остаётся предлагаемым стандартом.
  • Встроенный браузер ChatGPT поддерживает подмножество API.
  • Декларативные form tools и инструменты внутри iframe сейчас не обнаруживаются.
  • На дату проверки Site tools доступны во встроенном браузере desktop-приложения ChatGPT для ChatGPT Work и Codex. OpenAI указывает GPT-5.6 Sol и Terra; у Luna WebMCP отключён. В Enterprise и Edu workspaces Site tools недоступны. Текущее развёртывание функции и набор инструментов конкретной страницы тоже влияют на доступность.
  • Site tools работают в контексте страницы и не заменяют фоновую интеграцию через MCP.
  • Safety review и readOnlyHint не делают сайт доверенным автоматически.
  • Асинхронный ответ со ссылкой не подтверждает завершение операции.

Официальные источники

Skills полезны как инженерная оболочка для повторяемого процесса внедрения: они фиксируют границы, проверки и формат результата. Они не являются механизмом, через который сайт предоставляет инструменты агенту.


Следующий шаг

Сайт теперь можно читать с ИИ: маленькая кнопка под каждым материалом — https://pimenov.ai/articles/sait-teper-mozhno-chitat-s-ii

Связанные материалы

Если вы проектируете инструменты сайта для агентов, полезно отдельно проверить границы чтения, записи и подтверждения до подключения реальных данных.

Если захотите обсудить, как это применить у себя или в команде — пишите в Telegram @pimenov