Перейти к основному содержимому

Инструменты 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 конфига клиента; отдельного механизма не нужно.