Layero
Layero: сборка и публикация лендингов с хостингом и CDN в России прямо из IDE-чата
Что умеет
- Собирать лендинг по брифу из готовых дизайн-систем и структур
- Публиковать сайт и подключать интеграции с Telegram или Sheets
- Проверять статус сайта и диагностировать ошибки деплоя
- Подключать домен и аналитику, проверять их состояние
- Сравнивать скорость загрузки сайта до и после изменений
Какие данные видит
Ассистент управляет проектами и сайтами, привязанными к аккаунту пользователя на Layero.
Нужен ли аккаунт
Не нужен: сервер работает без входа
Layero — платформа хостинга и деплоя фронтенда для рынка СНГ. MCP-сервер закрывает весь цикл: превращает короткий бриф в готовый лендинг из готовых дизайн-систем и структур, подключает форму к Telegram или Google Sheets, публикует сайт, а затем показывает его статус, помогает диагностировать неудачный деплой, подключает домен и аналитику и сравнивает скорость до и после изменений.
Как подключить
Как подключить Layero к Claude
Адрес сервера, который нужно вставить в настройках Claude:
https://layero--borisowvalia.run.tools
- Откройте Claude (сайт claude.ai или приложение для компьютера).
- Перейдите в Настройки → Коннекторы (в английском интерфейсе: Settings → Connectors).
- Нажмите Добавить пользовательский коннектор (Add custom connector).
- Вставьте адрес сервера, скопированный ниже, в поле URL удалённого MCP-сервера и нажмите Добавить.
- В чате нажмите + → Коннекторы и включите новый коннектор.
Пользовательские коннекторы доступны на тарифах Free, Pro, Max, Team и Enterprise. На Free можно добавить только один. В Team и Enterprise коннектор сначала добавляет владелец организации в Настройки организации → Коннекторы.
Авторизация
После нажатия Добавить откроется окно входа в сервис. Войдите под своим аккаунтом и подтвердите доступ. Пароль Claude не видит.
Как подключить Layero к ChatGPT
Адрес сервера, который нужно вставить в настройках ChatGPT:
https://layero--borisowvalia.run.tools
- Откройте ChatGPT в браузере (chatgpt.com). Нужен тариф Plus, Pro, Business, Enterprise или Edu.
- Один раз включите режим разработчика: Настройки → Приложения → Дополнительные настройки → Режим разработчика (Settings → Apps → Advanced settings → Developer mode).
- Откройте Настройки → Коннекторы и нажмите Создать (Create).
- Заполните форму: Название (любое), Описание (одна фраза, что делает сервис), URL MCP-сервера (скопируйте ниже).
- В поле Аутентификация выберите OAuth, если сервис требует вход, иначе Нет. Нажмите Создать.
- В новом чате откройте + → Приложения/Коннекторы и включите коннектор.
Название раздела у OpenAI менялось (Connectors → Apps/Plugins). Если пункт называется иначе, ищите «режим разработчика» в настройках. В рабочих пространствах Business/Enterprise администратор должен разрешить пользовательские коннекторы.
Авторизация
При первом использовании ChatGPT откроет окно входа в сервис. Войдите и подтвердите доступ.
Как подключить Layero к Cursor
Адрес сервера, который нужно вставить в настройках Cursor:
https://layero--borisowvalia.run.tools
Быстрый способ: нажмите кнопку Открыть в Cursor ниже, Cursor сам предложит добавить сервер.
Вручную:
- В Cursor откройте Settings → Cursor Settings → MCP и нажмите Add new global MCP server.
- Вставьте JSON, скопированный ниже, в открывшийся файл
~/.cursor/mcp.json(для одного проекта:.cursor/mcp.jsonв корне проекта). - Сохраните файл. Сервер появится в списке MCP; при необходимости пройдите авторизацию по кнопке рядом с ним.
Авторизация
Если сервис требует вход, рядом с сервером в списке MCP появится кнопка авторизации.
Список инструментов сервера (16)
Технические названия из tools/list. Нужны только разработчикам.
| list_design_systems | Return the catalogue of design systems Layero ships with. |
| list_structures | Return the catalogue of landing structures Layero ships with. |
| compose_landing | Drive the 3-step quiz flow and produce a complete landing. This is the **main entry point**. Don't ask the user questions in chat before calling this — the tool opens native quiz dialogs in the IDE itself. Call this immediately when the user describes what they want. The three quizzes are: 1. **Motivation** — what's being built, for whom, the desired action. 2. **Look & feel** — palette, tone, optional references. 3. **Final picks** — design system (top 3 matched), where submissions go, project name slug. Returns a ``ComposeResult`` with the file bundle to write to disk. The agent then writes the files using the IDE's filesystem tool and proceeds to integration setup / deploy. |
| add_integration | Wire form submissions into a destination. Returns the integration recipe. The agent executes the steps itself — runs terminal commands, edits files, deploys a relay if needed. |
| whoami | Кто подключён к Layero и сколько у него проектов. Вызови первым, если не уверен, что токен настроен: понятная ошибка здесь дешевле, чем на середине деплоя. |
| my_projects | Список сайтов пользователя на Layero. По умолчанию — 30 последних. Список целиком нужен редко, а вот вытеснить им половину контекста легко: у активного пользователя проектов десятки. |
| site_status | Как себя чувствует сайт: отдаётся ли он и чем кончилась сборка. `project` — id или slug. Один вызов вместо трёх (проект, деплои, живая проверка адреса): агенту нужен вывод, а не сырые данные для его составления. |
| env_vars | Переменные окружения проекта: посмотреть имена, задать, удалить. ЗНАЧЕНИЯ НЕ ЧИТАЮТСЯ — ни тобой, ни платформой в ответе. Возвращаются только имена и длины. Это не ограничение реализации, а осознанное правило: всё, что попадает в твой ответ, оседает в истории переписки, а секрет, однажды туда попавший, оттуда уже не убрать. Если пользователь спрашивает «какой у меня ключ» — честно скажи, что показать не можешь, и предложи задать новый. `set` не требует знать остальные переменные: платформа сохраняет их сама. `unset` удаляет только названные. После изменения нужен новый деплой — переменные подхватываются при сборке, а не на лету. Скажи об этом, иначе пользователь решит, что ничего не поменялось. |
| connect_analytics | Подключить Яндекс.Метрику к сайту. ВАЖНО: авторизация проходит В БРАУЗЕРЕ, и сделать этот шаг за пользователя нельзя — ни тебе, ни платформе. Инструмент возвращает ссылку: покажи её и попроси открыть и разрешить доступ. Не жди результата в цикле — человек может уйти на час; проверишь позже через этот же инструмент без аргумента `branch` или через `site_analytics`. |
| site_analytics | Посещаемость сайта: итоги, направление и топ источников. Временной ряд свёрнут в направление, разбивки урезаны до пятёрки: девяносто точек графика в контексте бесполезны, а вывод из них всё равно делать тебе. |
| check_performance | Замерить скорость сайта и сказать, не стало ли хуже после деплоя. Вердикт выносится ПО БАЛЛУ, а не по таймингам: разброс повторных прогонов одного и того же деплоя — не больше пункта, тогда как LCP и TTFB на том же коде гуляют на 37-40%. Значимой считается разница от 3 пунктов; всё, что меньше, — погрешность измерения, и говорить о просадке в таком случае значит выдумывать проблему. Прогон занимает десятки секунд. С `wait=true` инструмент дождётся сам; не запускай второй замер параллельно — он займёт очередь и ничего не добавит. |
| connect_domain | Привязать свой домен к сайту. ВАЖНО: между этим вызовом и работающим доменом стоит ЧЕЛОВЕК. Ты получишь DNS-записи — покажи их пользователю и объясни, что вписать их нужно у регистратора домена. Готовности не жди: DNS расходится от минут до часа, платформа перепроверяет сама, а ты проверишь позже через `check_domain`. Крутиться в ожидании здесь — сжигать время и контекст впустую. Адрес можно передавать как есть: `https://shop.example.com/page` платформа приведёт к `shop.example.com` сама. |
| check_domain | Проверить, заработал ли привязанный домен. Запускает проверку DNS немедленно, не дожидаясь фоновой перепроверки. Если записи ещё не разошлись — это нормально, скажи об этом и предложи вернуться позже. |
| list_domains | Свои домены проекта и их состояние. |
| diagnose_deploy | Почему упал деплой — с разобранной причиной, а не сырым логом. Без `deploy` берётся последняя сборка — она и отражает текущее состояние. Разобрать конкретную старую можно, передав её id. В ответе не хвост лога, а окрестность фатальной строки: платформа уже выбрала из него значимое. Читай `verdict` и выжимку, чини код, деплой заново — этот цикл ты закрываешь сам, без участия человека. |
| publish_landing | Опубликовать лендинг на Layero — прямо отсюда, без терминала. Присылай ФАКТИЧЕСКОЕ содержимое файлов: сервер не помнит бандл между вызовами. Если пользователь правил текст после генерации — передай актуальные версии, иначе опубликуется то, что было. `project` (id существующего проекта) указывай при повторной публикации того же лендинга; без него платформа найдёт проект с таким именем или заведёт новый. |