Инструменты MCP
MCP-сервер Layero: https://mcp.layero.ru/mcp, транспорт Streamable HTTP,
имя в конфигах клиентов layero. Как подключить, описано на странице
Подключить агента; здесь — что сервер умеет, по одной строке
на каждый инструмент.
Аккаунт
| Инструмент | Что делает |
|---|---|
whoami | Кто подключён: пользователь, организация, срок токена. |
my_projects | Список проектов с адресами и источником (репозиторий или CLI); аргумент repo оставляет проекты одного репозитория. |
list_sources | Провайдеры git (GitHub, GitVerse, GitLab, GitFlic, SourceCraft) и подключения организации. |
import_repo ⚠️ | Создать проект из репозитория: GitHub — через установку App, остальные — через подключение организации. После привязки сам завершает мастер и запускает первую сборку. Фреймворк, команду и папку результата в проект не записывает (с 2.3.1): их определяет сборщик по репозиторию на каждой сборке; в ответе setup (applied / pending / failed), first_deploy_id и честный next_action. deploy=false оставляет проект в мастере. Провайдер не подключён — ответ needs_connection с адресом панели; токен провайдера подключает человек, не агент. Приложение в подпапке монорепо — аргумент root_directory (apps/web): один проект собирает одну папку. Репозиторий уже привязан — ответ already_linked со списком проектов (адрес, папка, ветка); второй проект из того же репозитория заводится только с другой папкой. |
project_create ⚠️ | Пустой проект без репозитория — адрес под будущий publish_site или npx layero@latest deploy. |
project_settings ⚠️ | Прочитать или изменить настройки сборки проекта: папку приложения, команды установки и сборки, папку результата, тип проекта. Показывает, откуда взято каждое действующее значение, и предупреждения по layero.json. Выход, когда детект ошибся: после правки — retry_deploy с redeploy=true. |
Сайт и деплой
| Инструмент | Что делает |
|---|---|
site_status | Состояние сайта: последний деплой, адрес, репозиторий, ветка и папка приложения. Поле answered_by различает ответ самого сайта и экран платформы: API-сервер без маршрута / отвечает своим 404 и считается работающим; аргумент path проверяет конкретный маршрут, а served_fallback предупреждает, что статика ответила на него главной страницей. wait_s (до 120 с) ждёт окончания идущей сборки; без него poll_after_s подсказывает интервал опроса. Если сборок ещё не было, так и говорит — не выдаёт отсутствие сборки за успешную. |
list_environments | Окружения проекта — ветка на окружение — с адресами и состоянием последней сборки. |
list_deploys | История сборок проекта: статус, источник (git или загрузка), время в очереди и длительность сборки. |
deploy_logs | Логи сборки и приложения. Строки npm http по умолчанию скрыты, их число — в noise_hidden; include_noise=true покажет всё. |
diagnose_deploy | Почему упала сборка — с разбором лога и следующим шагом. В build_facts — чем собирали: фреймворк, команды установки и сборки, папка результата, версия Node и откуда взято каждое значение. |
retry_deploy ⚠️ | Перезапустить сборку: упавшую — как есть; redeploy=true пересобирает последний коммит проекта с репозиторием без пуша. |
cancel_deploy ⚠️ | Отменить идущую сборку. |
rollback ⚠️ | Откатить продакшен на прошлую сборку. |
publish_site ⚠️ | Опубликовать готовую статику (папку с index.html) без CLI; создаёт проект, если его нет. publish_landing — устаревший алиас publish_site. |
env_vars ⚠️ | Прочитать, задать или удалить переменные окружения проекта. |
Домены
| Инструмент | Что делает |
|---|---|
list_domains | Домены проекта и их состояние. |
connect_domain ⚠️ | Подключить свой домен: возвращает DNS-записи, которые нужно создать. |
check_domain | Проверить, заработал ли домен: DNS и сертификат. |
Содержимое сайта
| Инструмент | Что делает |
|---|---|
read_site | Прочитать страницу опубликованного сайта как текст и разметку. |
site_screenshot | Снимок страницы сайта. |
site_issues | Что чинить на сайте: битые ссылки, метатеги, доступность. |
refactor_site | Предложить правку разметки — возвращает патч, файлы не трогает. |
check_copy | Вычитать русский текст по редакционным правилам Layero. |
check_performance | Замерить скорость сайта: Core Web Vitals, Lighthouse. |
Аналитика
| Инструмент | Что делает |
|---|---|
connect_analytics ⚠️ | Подключить Яндекс Метрику к проекту. |
site_analytics | Трафик сайта за период. |
Data API
| Инструмент | Что делает |
|---|---|
data_api_status | Включён ли Data API у базы проекта и его адрес. |
data_api_methods | Методы (таблицы и функции) и кто к ним допущен. |
data_api_grant ⚠️ | Открыть или закрыть доступ к методу для роли. |
data_api_keys ⚠️ | Выпустить или отозвать ключи Data API. |
data_api_origins ⚠️ | Сайты, которым разрешены запросы из браузера (CORS). |
data_api_probe | Пробный вызов метода — проверить, что доступ и ответ такие, как ожидалось. |
Документация
| Инструмент | Что делает |
|---|---|
search_docs | Поиск по docs.layero.ru; не трогает данные аккаунта. |
Какие инструменты требуют согласия человека
Инструменты, помеченные ⚠️, меняют сайт, проект или доступ — сервер
объявляет их без readOnlyHint, и клиент (Claude Code, Cursor, Codex)
спрашивает подтверждение перед вызовом. Остальные только читают, и клиент
вызывает их без вопросов.
Правило для агента: перед rollback, publish_site, env_vars с записью,
data_api_grant и data_api_keys назвать человеку, что именно изменится,
и дождаться ответа — даже если клиент подтверждения не требует.
Вход
Что работает без входа. Документация доступна всегда: search_docs,
check_copy и refactor_site не трогают аккаунт и отвечают без токена —
подключите сервер и спрашивайте про платформу сразу.
Остальные инструменты работают с аккаунтом: на первый такой вызов без
токена сервер отвечает 401 с WWW-Authenticate, и клиент с поддержкой
OAuth (Claude Code, Cursor, Codex, VS Code) сам открывает браузер —
остаётся нажать «Разрешить доступ».
Сервер авторизации — api.layero.ru, метаданные ресурса —
https://mcp.layero.ru/.well-known/oauth-protected-resource. Для CI и сред
без браузера — заголовок Authorization: Bearer $LAYERO_TOKEN; как
выпустить токен — на странице
Подключить агента. Деплой без аккаунта
есть только у CLI: npx layero@latest deploy --claim.
Параметры адреса: project и read_only
Область действия сервера можно сузить прямо в адресе подключения:
https://mcp.layero.ru/mcp?project=<slug>
https://mcp.layero.ru/mcp?project=<slug>&read_only=true
project=<slug>— все инструменты работают только с этим проектом;my_projectsвернёт его одного, а вызов с другим проектом получит отказ.read_only=true— инструменты с ⚠️ не объявляются вовсе. Удобно для агента, который должен только диагностировать.
Параметры задаются в поле url конфига клиента; отдельного механизма не
нужно.