Relvato MCP server
Мониторинг сайтов, которым управляет ваш AI-агент: добавляйте сайты, настраивайте для них проверки, запускайте их, выясняйте причины сбоев и устраняйте неполадки вместе с агентом.
Документация для разработчиков · Официальный реестр MCP · relvato.com
Relvato проверяет сайты в настоящем браузере. Сервис проверяет регистрацию, вход в систему, оформление заказов, платежи,
скорость загрузки страниц, видимость в поиске и безопасность, а также повторяет проверки при каждом изменении сайта. Он работает с любыми сайтами и
особенно глубоко интегрирован с WordPress и WooCommerce.
Это размещённый на стороне сервиса сервер Model Context Protocol от Relvato. Ничего устанавливать или запускать
не нужно: укажите URL сервера в настройках MCP-клиента и войдите в Relvato или используйте ключ API Relvato. В этом репозитории
хранятся данные для подключения, запись в реестре (server.json) и плагин для Claude Code
(.claude-plugin/, skills/). Сам сервер работает на стороне Relvato.
| Конечная точка | https://app.relvato.com/api/mcp |
| Транспорт | Streamable HTTP (stateless JSON-RPC over POST) |
| Аутентификация | Вход через OAuth 2.1: PKCE, Client ID Metadata Documents, resource indicators; или ключ API: Authorization: Bearer rlv_… |
| Имя в реестре | com.relvato/relvato |
Вход без ключа
Вход доступен в клиентах, которые представляются с помощью Client ID Metadata Document (CIMD): Claude (claude.ai,
Desktop и Claude Code 2.1.81 или новее), ChatGPT и VS Code. Relvato не поддерживает динамическую регистрацию клиентов, поэтому
клиентам, которые могут регистрироваться только таким способом (пока это Cursor, Gemini CLI и MCP gateway от Docker), а также клиентам
без поддержки входа (DeepSeek Harness) потребуется ключ API.
В поддерживающем вход клиенте просто добавьте конечную точку. При первом подключении к ней клиент откроет страницу входа Relvato:
-
Зарегистрируйтесь (доступен бесплатный план) или войдите в систему.
-
Разрешите клиенту просматривать ваши сайты и результаты и вносить изменения: добавлять сайты и проверки, настраивать их, менять расписание
и запускать сканирования.
- Если вы состоите в организации, выберите рабочую область для подключения. **Личная рабочая область в списке не отображается,
поэтому для неё используйте ключ API.**
Обнаружение ресурсов выполняется согласно спецификации MCP для авторизации. Ответ 401 указывает на
/.well-known/oauth-protected-resource/api/mcp, а сервер авторизации — https://clerk.relvato.com
(client_id_metadata_document_supported; конечной точки регистрации нет). Используются области доступа relvato:read, relvato:write и
user:org:read.
Подключение с ключом API
Используйте ключ API для скриптов, клиентов без поддержки входа (без поддержки CIMD) или личной рабочей области, если вы состоите в организации:
-
Откройте Доступ к API в меню аккаунта или перейдите на страницу app.relvato.com/api-access.
-
Создайте ключ:
-
Полный доступ позволяет агенту добавлять сайты и проверки, настраивать их, запускать проверки, изучать результаты и применять предложенные исправления.
-
Только чтение позволяет просматривать все данные: сайты, состояние и доступность, производительность, запуски, проверки, обновления WordPress
-
и активность, описания исправлений и настройки оповещений. С таким ключом клиенту доступны только инструменты чтения.
- Передавайте ключ в заголовке
Authorization: Bearer rlv_…(илиx-api-key: rlv_…). Ключ показывается только один раз. Не сохраняйте его в файлах,
которые добавляете в коммиты.
Подключение
Claude (claude.ai, Desktop, mobile)
Выберите Settings → Connectors → Add custom connector. Укажите URL https://app.relvato.com/api/mcp, затем нажмите Connect и
войдите в систему.
Claude Code
Плагин (рекомендуемый вариант): сервер и три навыка для работы с репозиторием кода.
claude plugin marketplace add Relvato/relvato-mcp
claude plugin install relvato@relvato
Затем запустите /mcp, выберите plugin:relvato:relvato, а после этого — Authenticate. Доступны следующие навыки:
| Навык | Назначение |
|---|---|
/relvato:setup [url] | Добавляет сайт, который разворачивается из этого репозитория, подтверждает право владения (может добавить в код метатег подтверждения), подбирает важные проверки и запускает их впервые. |
/relvato:check-after-deploy [site] [group] | Запускает проверки сайта после развёртывания, сообщает, сколько времени они займут, и показывает результаты: что прошло успешно и что сломалось, со ссылками. Запускается только по вашей команде, так как проверки расходуют месячную квоту. |
/relvato:fix-failure [run] | Анализирует неудачный запуск и описание исправления, находит причину в коде (в том числе выясняет, что изменилось с момента последной успешной проверки), предлагает минимальное исправление, применяет его с вашего согласия и повторно запускает проверку. |
Уже подключили Relvato на claude.ai? Если у вас есть подписка Claude, этот коннектор также появится в Claude Code. Навыки
работают с любым из этих подключений.
Только сервер:
claude mcp add --transport http relvato https://app.relvato.com/api/mcp
Затем запустите /mcp, выберите relvato, а после этого — Authenticate. Чтобы использовать ключ API:
claude mcp add --transport http relvato https://app.relvato.com/api/mcp --header "Authorization: Bearer rlv_your_key"
Cursor
Добавьте настройки в ~/.cursor/mcp.json (для всех проектов) или .cursor/mcp.json (для одного проекта) и укажите ключ API. Cursor пока не поддерживает
Client ID Metadata Documents, поэтому войти через Relvato в нём нельзя:
{
"mcpServers": {
"relvato": {
"url": "https://app.relvato.com/api/mcp",
"headers": {
"Authorization": "Bearer rlv_your_key"
}
}
}
}
Когда Cursor добавит поддержку CIMD, достаточно будет указать URL: клиент предложит войти в систему.
VS Code
Добавьте настройки в .vscode/mcp.json. VS Code предложит войти в систему:
{
"servers": {
"relvato": {
"type": "http",
"url": "https://app.relvato.com/api/mcp"
}
}
}
Если используется ключ API, VS Code может запросить его один раз и сохранить в защищённом хранилище, чтобы ключ не оставался в файле:
{
"inputs": [
{ "type": "promptString", "id": "relvato-key", "description": "Relvato API key (rlv_…)", "password": true }
],
"servers": {
"relvato": {
"type": "http",
"url": "https://app.relvato.com/api/mcp",
"headers": {
"Authorization": "Bearer ${input:relvato-key}"
}
}
}
}
Gemini CLI
Установите расширение из этого репозитория:
gemini extensions install https://github.com/Relvato/relvato-mcp
Расширение запросит ключ API Relvato (создайте ключ) и сохранит его в системном хранилище
ключей, не записывая в файл. Чтобы изменить ключ позже, выполните команду gemini extensions config relvato. Gemini CLI не поддерживает
вход через Relvato (он работает только с динамической регистрацией клиентов, которую Relvato не предлагает), поэтому расширение использует
ключ API.
Чтобы подключиться без расширения, добавьте сервер в ~/.gemini/settings.json:
{
"mcpServers": {
"relvato": {
"httpUrl": "https://app.relvato.com/api/mcp",
"headers": {
"Authorization": "Bearer rlv_your_key"
}
}
}
}
DeepSeek Harness
Добавьте пакет dsh-plugin-relvato в профиль и укажите ключ API в переменной
RELVATO_API_KEY (в окружении или файле ~/.dsh/.env):
dsh plugin --profile web add dsh-plugin-relvato
Пакет опубликован в npm; команда github:Relvato/dsh-plugin-relvato устанавливает его напрямую из GitHub.
MCP-клиент dsh передаёт заголовки и не поддерживает вход, поэтому для подключения используется ключ API. Инструменты отображаются с префиксом mcp__relvato__.
Cline
Добавьте настройки в cline_mcp_settings.json (MCP Servers → Configure) и укажите ключ API:
{
"mcpServers": {
"relvato": {
"type": "streamableHttp",
"url": "https://app.relvato.com/api/mcp",
"headers": {
"Authorization": "Bearer rlv_your_key"
}
}
}
}
Агенты, которые настраивают серверы самостоятельно, могут воспользоваться инструкцией llms-install.md.
Любой другой клиент
Добавьте удалённый сервер HTTP (streamable HTTP), используя указанную выше конечную точку. Если клиент поддерживает вход в MCP с помощью Client
ID Metadata Documents (CIMD), этого достаточно. В противном случае (в том числе для клиентов, поддерживающих только динамическую регистрацию клиентов) добавьте заголовок
Authorization: Bearer rlv_…. Пример для распространённого формата mcp.json:
{
"mcpServers": {
"relvato": {
"type": "http",
"url": "https://app.relvato.com/api/mcp",
"headers": {
"Authorization": "Bearer rlv_your_key"
}
}
}
}
Инструменты
57 инструментов, сгруппированных по задачам в порядке, в котором их возвращает tools/list. Инструменты только для чтения работают при любом типе подключения; инструменты полного доступа требуют ключа с полным доступом или входа с разрешением на внесение изменений.
Настройка
| Инструмент | Назначение | Необходимый уровень доступа |
|---|---|---|
list_sites | Показывает сайты аккаунта и сообщает, готов ли каждый из них к запуску мониторинга. | read |
add_site | Добавляет сайт и показывает, что нужно сделать для настройки: подключить плагин WordPress или подтвердить домен. | full access |
verify_site | Проверяет выполнение шага настройки: подключение плагина или DNS-запись либо метатег для подтверждения домена. | full access |
start_monitoring_for_goals | Помогает выбрать приоритеты (оформление заказа, безопасность, поисковая видимость, скорость и другие) и подобрать доступные в вашем тарифе мониторы. | full access |
list_checks | Показывает, какие мониторы можно добавить на сайт, что каждый из них проверяет, входит ли он в ваш тариф и какие мониторы рекомендуются. | read |
add_checks | Добавляет мониторы на сайт. Для каждого сообщает, добавлен ли он, уже настроен или почему его не удалось добавить. | full access |
dismiss_recommendation | Отключает рекомендацию монитора для сайта или возвращает ранее отклонённые рекомендации. | full access |
calibrate_site | WooCommerce: повторно считывает данные магазина после изменений — товар для покупки, тип оформления заказа и валюту. | full access |
verify_vitals_beacon | Проверяет, установлен ли маяк Web Vitals для сбора данных от реальных пользователей. | full access |
Просмотр данных
| Инструмент | Назначение | Необходимый уровень доступа |
|---|---|---|
site_overview | Показывает понятную оценку состояния сайта: на что обратить внимание, последний запуск и расписание каждого монитора, использование лимитов тарифа, а для WordPress — возможности AI на сайте. | read |
get_site_health | Показывает текущую долю успешных проверок и её значение за 30 дней, динамику за период от 28 до 182 дней, сводку по каждой группе и доступность проверочных узлов с инцидентами. | read |
get_performance | Показывает лабораторные показатели Core Web Vitals и данные от реальных пользователей, факторы, замедляющие сайт, а также основные способы исправить проблемы с пошаговыми инструкциями. | read |
get_check | Показывает подробности одного монитора: расписание, его настройки (страницы, маски, параметры оформления заказа и другие), игнорируемые результаты, сценарий проверки, если его подготовил AI, и последний запуск. | read |
list_runs | Показывает последние запуски, начиная с самых новых. Результаты можно отфильтровать по сайту, монитору или статусу и просматривать постранично. | read |
get_run | Показывает подробности одного запуска: этапы, результаты, визуальные сравнения со ссылками на изображения, предложенное исправление и плагины, которые можно обновить. | read |
get_fix_prompt | Для запуска, выявившего проблему, показывает тот же запрос, на который отвечает AI Relvato, чтобы определить вероятную причину и способы исправления. | read |
get_updates | WordPress: показывает периоды автоматического обновления и сведения об обновлениях или откатах, отложенные версии, безопасные обновления и меры защиты. | read |
get_safe_update | Отслеживает безопасное обновление или отключение плагина до успешного завершения проверки либо отмены изменений. | read |
get_quarantine | Показывает, доступен ли режим карантина, до какого времени он действует, какие изменения были обнаружены, а также сведения о предыдущих сеансах. | read |
get_activity_log | WordPress: показывает входы и неудачные попытки входа, учётные записи, обновления, изменения настроек и файлов в пределах срока хранения истории по вашему тарифу. | read |
get_notifications | Показывает уведомления в панели управления: сбои мониторов, проблемы с плагинами или маяком, приостановленные каналы и вопросы оплаты. | read |
get_site_settings | Показывает настройки сайта: что может изменить агент, а что доступно только в панели управления. Секретные значения не отображаются. | read |
get_alert_settings | Показывает, кому и о чём отправляются уведомления: частоту, уровень важности, состояние и маршрутизацию каждого канала. URL и секреты не отображаются. | read |
get_status_pages | Показывает настройки страниц состояния и отчётов для клиентов. Закрытые ссылки и адреса получателей не отображаются. | read |
list_heartbeats | Показывает сигналы активности сайта (проверки, которые отправляют cron-задачи): состояние, расписание, время последнего сигнала и пропущенные проверки. При полном доступе также отображаются URL для отправки сигналов. | read |
Настройка
| Инструмент | Назначение | Необходимый уровень доступа |
|---|---|---|
update_check | Включает или отключает монитор, меняет расписание, настраивает повторные запуски после обновлений WordPress и дополнительные случайные проверки. | full access |
pause_monitor_group | Приостанавливает всю группу мониторинга на 1 час, 24 часа или до возобновления — например, на время обслуживания сайта. Возобновляются только те мониторы, которые были отключены этой командой. | full access |
resume_monitor_group | Возобновляет приостановленную группу. Если тариф больше не поддерживает какой-либо монитор, он останется отключённым; будет указана причина. | full access |
update_visual_monitor | Добавляет в визуальный монитор страницы по адресу и настраивает маски, устройства, браузеры и порог срабатывания. | full access |
update_check_settings | Меняет настройки отдельного монитора: параметры оформления заказа, дополнительные страницы для сканирования, вопросы, на которые должна отвечать функция AI сайта, селекторы DKIM и другие параметры. | full access |
add_custom_check | Создаёт монитор по описанию того, что должно быть на странице. AI Relvato подготовит его сценарий. | full access |
edit_custom_check | Меняет цель или страницу пользовательского монитора. AI подготовит новый сценарий для утверждения. | full access |
reauthor_custom_check | Отвечает на вопрос AI или просит его заново подготовить сценарий пользовательского монитора. | full access |
approve_custom_check | Утверждает предложенный сценарий, чтобы пользовательский монитор начал работу. Для интерактивных сценариев требуется явное подтверждение. | full access |
update_site_settings | Настраивает темп работы, интервал между запусками, повторные попытки при блокировке брандмауэром, восстановление нестабильных мониторов и откат плагинов. | full access |
update_alert_settings | Настраивает время отправки уведомлений и минимальный уровень важности. Получателей уведомлений и отключение отдельных уведомлений можно настроить в панели управления. | full access |
add_heartbeat | Создаёт сигнал активности для cron-задачи или резервного копирования и возвращает URL, который задача должна вызвать после успешного выполнения. | full access |
update_heartbeat | Переименовывает сигнал активности, меняет его расписание, приостанавливает или возобновляет его. Удалить сигнал можно только в панели управления. | full access |
Запуск и выполнение действий
| Инструмент | Назначение | Необходимый уровень доступа |
|---|---|---|
trigger_scan | Запускает проверку мониторами сайта: всеми сразу, одной группой или одним монитором. Возвращает идентификаторы запусков; расходует месячный лимит. | full access |
cancel_queued_runs | Останавливает запуски сайта, ожидающие в очереди. Уже выполняющийся запуск завершится. | full access |
request_ai_fix | Запрашивает у AI Relvato рекомендации по устранению проблемы, обнаруженной при неудачном запуске. Доступно в платных тарифах. | full access |
apply_fix | WordPress: применяет только то исправление в один клик, которое предложено для запуска, а затем повторно запускает монитор. | full access |
start_safe_update | WordPress: обновляет или отключает уязвимый плагин, повторно проверяет сайт и отменяет изменения, если возникнут проблемы. | full access |
start_quarantine | После взлома запускает проверки безопасности каждый час в течение 48 часов и приостанавливает обновления плагинов. | full access |
extend_quarantine | Продлевает режим карантина ещё на 48 часов. | full access |
send_test_alert | Отправляет тестовое уведомление по email, через Slack или webhook. | full access |
resume_webhook | Возобновляет отправку уведомлений через webhook после того, как Relvato приостановил её из-за ошибок доставки. | full access |
report_false_positive | Сообщает команде Relvato, что результат проверки некорректен. Сам запуск при этом не изменяется. | full access |
Проверка результатов
| Инструмент | Назначение | Необходимый уровень доступа |
|---|---|---|
ignore_finding | Исключает обнаруженную проблему из результатов монитора. Действие можно отменить. Используйте его, только если подтвердили, что результат ожидаем. | full access |
unignore_finding | Возвращает игнорируемую проблему в результаты проверки. | full access |
accept_visual_change | Устанавливает снимок экрана из этого запуска в качестве нового эталона страницы. Действие можно отменить. | full access |
ignore_visual_change | Исключает изменившуюся область страницы из последующих проверок. Действие можно отменить. | full access |
flag_visual_change_as_problem | Помечает как ошибку визуальное изменение, которое AI пропустил. | full access |
undo_visual_review | Отменяет последнее действие по принятию или игнорированию визуального изменения. | full access |
accept_structure_change | Устанавливает новую структуру страницы в качестве эталонной. Действие можно отменить. | full access |
ignore_structure_change | Исключает из проверок определённые изменения элементов страницы. Действие можно отменить. | full access |
undo_structure_review | Отменяет последнее действие по принятию или игнорированию изменений структуры. | full access |
initialize и tools/list возвращают информацию без входа в систему, поэтому каталоги и клиенты могут показывать, какие возможности доступны на сервере.
Для вызова любого инструмента необходимо войти в систему или использовать ключ. Ключ с правами только на чтение и вход без прав на запись открывают доступ только к инструментам чтения.
Примеры запросов
-
«Настрой мониторинг для example.com и расскажи, что нужно сделать для подключения».
-
«Добавь страницы с ценами и блогом в визуальный монитор и запусти проверку».
-
«Почему прошлой ночью не удалось оформить заказ в моём магазине и как это исправить?» (а после согласования: «примени это исправление»)
-
«Насколько быстро загружается мой магазин для реальных посетителей и что его замедляет?»
-
«Редизайн главной страницы был запланирован: прими новые снимки экрана как эталон».
-
«Кто входил в WordPress на этой неделе и были ли неудачные попытки входа?»
-
«Создай монитор, который проверяет, что в тарифе Pro по-прежнему указана цена».
Что агент не может делать
Агент работает по тем же правилам, что и панель управления. Некоторые действия остаются доступны только в панели и требуют участия человека:
-
Обходить проверку прав владения. Для нового сайта мониторинг не запускается, пока к нему не подключён плагин WordPress или не подтверждено право владения доменом.
-
Отключать что-либо навсегда. Агент может принять или проигнорировать результат только так, чтобы это действие можно было отменить, и только после вашего подтверждения, что изменение запланировано. Подтверждение изменений целостности файлов, скриптов и DNS нельзя отменить — именно этого злоумышленник и хочет добиться. Такие действия остаются доступны только в панели управления.
-
Изменять сайт за пределами предложений запуска. В WordPress агент применяет только исправление в один клик, предложенное запуском. Уязвимый плагин агент обновляет или деактивирует только с возможностью автоматического отката. Деструктивные инструменты помечены, поэтому ваш клиент сначала запросит подтверждение.
-
Ослаблять оповещения или защиту. Настройки получателей оповещений и их отключения, остановка режима карантина, прокси и токен брандмауэра остаются доступны только в панели управления.
-
Работать с секретами. Токены подключения, секреты подписи, URL вебхуков и ссылки для общего доступа к отчётам никогда не раскрываются.
-
Удалять что-либо или изменять параметры оплаты.
-
Превышать ограничения вашего плана. Ограничения плана действуют так же, как и в панели управления.
Ограничения
Для каждого рабочего пространства действует ограничение на число запросов в минуту. Учитываются запросы к REST API и MCP вместе, независимо от того, входите ли вы в систему или используете ключ:
| План | Запросов в минуту |
|---|---|
| Free | 30 |
| Pro | 120 |
| Business | 600 |
| Agency | 2,400 |
Запуски, инициированные с помощью trigger_scan, а также запуски для подтверждения apply_fix и start_safe_update учитываются в той же месячной квоте запусков, что и запланированные запуски. Подробнее — на странице
Также доступно
-
REST API. Те же данные доступны по адресу
https://app.relvato.com/api/v1(сайты, состояние, производительность, запуски, мониторинги, обновления, действия, уведомления). Используются те же ключи. Подробнее — в документации для разработчиков. -
Вебхуки. Подписанное событие в формате JSON для каждого оповещения (начиная с плана Pro).
Поддержка
-
Вопросы и сообщения об ошибках: relvato.com/contact или создайте issue в этом репозитории.
-
Статус сервиса: relvato.com/status.
-
Сообщения об уязвимостях: отправляйте через страницу контактов, а не в публичный issue.
Этот репозиторий содержит только документацию и конфигурацию. Сервис Relvato является проприетарным и регулируется условиями использования. Материалы этого репозитория распространяются по лицензии MIT (см. LICENSE), поэтому фрагменты конфигурации можно свободно копировать.