mcpbeat

Layero MCP Server

ru.layero/layero
answering

Layero is answering right now. Last checked 7 min ago. It exposes 27 tools. Last commit 2 Aug 2026.

Build a landing page from your IDE chat, publish it, then manage domains and analytics.

Uptime history 40 hours of history
40 hours agonow
100.0%
Uptime 24h
91 of 91 checks
27
Tools
read from the server
164 ms
Response time
average over 24h
0
Stars
last commit 2 Aug 2026

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 7 min ago.

run in your terminal
claude mcp add layero --transport http https://mcp.layero.ru/mcp
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "layero": {
      "url": "https://mcp.layero.ru/mcp"
    }
  }
}
~/.codex/config.toml
[mcp_servers.layero]
url = "https://mcp.layero.ru/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "layero": {
      "url": "https://mcp.layero.ru/mcp"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "layero": {
      "url": "https://mcp.layero.ru/mcp"
    }
  }
}

Available tools 27

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

site
read_site
Что на самом деле опубликовано: заголовки, тексты, формы, мета, ссылки. Зови это ПЕРЕД тем, как что-то править на живом сайте, и ПОСЛЕ публикации, чтобы убедиться, что приехало ожидаемое. Без этого правка идёт вслепую: то, что лежит на диске у пользователя, и то, что отдаётся посетителю, — разные вещи, и расходятся они молча. Возвращается СТРУКТУРА, а не сырой HTML: страница с инлайн-стилями съела бы половину твоего контекста, а нужны из неё заголовки, тексты, формы и мета. Если нужен исходник целиком — он у пользователя на диске. `served_fallback=true` означает, что по этому пути отдали содержимое главной: страницы с таким адресом нет, а бакет ответил на отсутствующий ключ своим `index.html` с кодом 200. Не принимай это за успех.
site_analytics
Site traffic: totals, direction and top sources. The time series is collapsed into a direction and breakdowns are cut to five: ninety chart points are useless in your context, and the conclusion is yours to draw anyway.
site_issues
Конкретные проблемы страницы — каждая с адресом и что с ней делать. Это НЕ балл. Балл отдаёт `check_performance`, и по нему нечего чинить: «73 из 100» не говорит, что именно править. Здесь только то, у чего есть адрес и понятное действие: закрытая индексация, ресурсы с зарубежных хостов, растровые картинки без webp, отсутствующие мета и alt, формы без получателя. Находки отсортированы по важности. Не вываливай их списком — назови две-три главные и спроси, чинить ли.
site_screenshot
Снимок последней собранной версии сайта — как он выглядит. Дополняет `read_site` (что на странице) и `site_issues` (что с ней не так) третьим вопросом: как это смотрится. Полезно перед правкой оформления и после неё. ⚠️ Снимок делается при СБОРКЕ, а не сейчас. Если ты только что что-то опубликовал, свежий снимок появится не мгновенно — не выдавай прошлый за результат своей правки. Картинка стоит контекста заметно дороже текста. Не зови «на всякий случай»: для «что не так с сайтом» есть `site_issues`, он дешевле и конкретнее.
site_status
How a site is doing: whether it is being served and how its build ended. `project` is an id or a slug. One call instead of three (project, deploys, live check of the address): an agent needs the conclusion, not the raw material to assemble it from.
compose
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.
compose_landing_submit
Собрать лендинг по ответам из формы. Это НЕ инструмент для модели: его вызывает сама форма через мост хоста. Модель для того же зовёт `compose_landing`. Сборка идёт той же функцией, что и после квиза, — результат не должен зависеть от того, каким клиентом пользуется человек.
connect
connect_analytics
Connect Yandex Metrika to a site. IMPORTANT: authorisation happens IN A BROWSER, and neither you nor the platform can do that step for the user. The tool returns a link — show it and ask them to open it and grant access. Do not poll in a loop: the person may walk away for an hour. Check later through this same tool without the `branch` argument, or through `site_analytics`.
connect_domain
Connect a custom domain to a site. IMPORTANT: between this call and a working domain stands A PERSON. You get DNS records — show them to the user and explain they go in at their domain registrar. Do not wait for readiness: DNS propagates in minutes to an hour, the platform re-checks on its own, and you check later via `check_domain`. Spinning here burns time and context for nothing. The address can be passed as-is: the platform reduces `https://shop.example.com/page` to `shop.example.com` itself.
cancel
cancel_deploy
Остановить сборку, которая ещё идёт. Живой адрес при этом не меняется — на нём остаётся прошлая версия.
copy
check_copy
Механические ошибки русской типографики — с точным местом и заменой. Это КОД, а не суждение модели: один и тот же текст даёт один и тот же список находок. Ловится то, что глаз не видит, а читатель чувствует: неразрывные пробелы, тире, прямые кавычки, точка вместо запятой в дробях, пробелы у знаков препинания, двойные пробелы. Каждая находка несёт готовую замену — подставляй её, а не переписывай фрагмент по-своему. ЧЕГО ЗДЕСЬ НЕТ. Инфостиль, длина фраз, канцелярит, признаки нейрослопа — это суждение, и оно живёт в ресурсе `layero://editorial/ru`. Прочитай его, если просят «сделать текст лучше», а не «исправить типографику».
deploy
deploy_logs
Сырые строки лога — когда разбора `diagnose_deploy` не хватило. Начинай с `diagnose_deploy`: он уже вытащил причину и окрестности фатальной строки. Сюда иди, когда нужно посмотреть глазами — например, причина невнятная или интересует не отказ, а поведение приложения. Возвращается ХВОСТ. Сколько отброшено — видно по `truncated`; не выдавай хвост за весь лог.
deploys
list_deploys
Последние сборки проекта: какая чем кончилась и какая сейчас живая. Нужен, чтобы выбрать цель для `rollback` или `diagnose_deploy`. Для вопроса «что с сайтом прямо сейчас» хватает `site_status` — он дешевле.
design
list_design_systems
Return the catalogue of design systems Layero ships with.
diagnose
diagnose_deploy
Why a deploy failed — with the cause parsed out, not a raw log. Without `deploy` the latest build is used; that is what reflects the current state. To examine a specific older one, pass its id. The response is not a log tail but the neighbourhood of the fatal line: the platform has already picked out what matters. Read `verdict` and the summary, fix the code, deploy again — you close this loop yourself, without involving the person.
domain
check_domain
Check whether a connected domain has started working. Runs the DNS check immediately instead of waiting for the background re-check. If the records have not propagated yet, that is normal — say so and suggest coming back later.
domains
list_domains
The project's own domains and their state.
env
env_vars
Project environment variables: list names, set them, remove them. VALUES ARE NEVER READ BACK — not by you, not by the platform in its response. Only names and lengths are returned. This is a deliberate rule rather than an implementation limit: anything that reaches your answer settles into the conversation history, and a secret that lands there cannot be taken back. If the user asks "what is my key", say plainly that you cannot show it and offer to set a new one. `set` does not require knowing the other variables — the platform keeps them. `unset` removes only the named ones. A change needs a new deploy: variables are picked up at build time, not on the fly. Say so, or the user will think nothing happened.
integration
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.
performance
check_performance
Measure a site's speed and say whether it got worse after a deploy. The verdict comes FROM THE SCORE, not from timings: repeated runs of the same deploy vary by at most one point, while LCP and TTFB on identical code swing by 37-40%. A difference of 3 points or more is meaningful; anything smaller is measurement noise, and calling that a regression is inventing a problem. A run takes tens of seconds. With `wait=true` the tool waits for you; do not start a second measurement in parallel — it will occupy the queue and add nothing.
projects
my_projects
The user's sites on Layero. Thirty most recent by default. The full list is rarely needed, while flooding half your context with it is easy: an active user has dozens of projects.
publish
publish_landing
Publish a site to Layero — from here, with no terminal. Not only generated landings: this takes ANY ready static bundle, so it is also the answer to "deploy my site". Requirements — `index.html` at the root, at most 200 files, 8 MB in total, 2 MB per file. Binary files (images, fonts) must come with `encoding="base64"`; sent as text they are silently corrupted. A project that still needs a build step (Vite, Next, Astro — anything where the answer is `npm run build`) does NOT go here: publish its build output, or tell the user to run `npx layero@latest deploy`, which builds on our side. Send the ACTUAL file contents: the server does not remember the bundle between calls. If the user edited the text after generation, pass the current versions, or what gets published is what used to be there. Pass `project` (the id of an existing project) when republishing the same landing; without it the platform finds a project with that name or creates a new one. Returns as soon as the build finishes, or after ~40s with `status` `building` and the `deploy_id` — the build keeps going on its own. Never call this tool a second time to "retry" a build that is still running: that starts a SECOND build. Follow `next_action`.
refactor
refactor_site
Одно названное преобразование разметки — с предсказуемым результатом. Инструмент НИЧЕГО НЕ ПУБЛИКУЕТ. Он возвращает изменённый HTML; показать его человеку, получить согласие и позвать `publish_landing` — твоя работа. Молча переписывать чужой сайт нельзя. Преобразования идемпотентны: повторный вызов ничего не меняет и честно отвечает `changed=false`. Пустой список изменений — не ошибка, а ответ «применять было нечего». ⚠️ ЧЕГО ЗДЕСЬ НЕТ И ПОЧЕМУ. Шрифты со сторонних хостов, перекодировка картинок в webp и разбор инлайн-стилей сюда НЕ входят: для них нужны сами файлы, которых у сервера нет, либо суждение о задуманном внешнем виде. Эти проблемы называет `site_issues` — с адресом и объяснением; правит их тот, у кого файлы на руках. Выигрыш меряется `check_performance` ДО и ПОСЛЕ публикации. Если разница меньше трёх баллов — это шум измерения, а не улучшение; так и скажи.
retry
retry_deploy
Поставить упавшую сборку в очередь заново. Разрешено ТОЛЬКО для сборок в состоянии `failed`. На идущей сборке (`queued`, `building`) платформа откажет — это не ошибка, а защита от второй параллельной сборки. ⚠️ Повтор осмыслен, когда причина отказа была внешней (сеть, реестр, таймаут). Если сборка упала на коде, повтор даст тот же результат: сначала `diagnose_deploy`, потом правка, и только потом повтор.
rollback
rollback
Вернуть на живой адрес предыдущую рабочую сборку. МЕНЯЕТ ТО, ЧТО ВИДЯТ ПОСЕТИТЕЛИ, — спроси человека перед вызовом, если он не попросил откат прямо. Действие обратимо (можно откатиться обратно), но промежуток времени с чужой версией на адресе вернуть нельзя. ⚠️ Для приложений (`ssr_next`, `streamlit`, `gradio`, `flask`) откат работает не так, как для статики, и часто невозможен: у приложения нет готового артефакта, который просто переключить. Если платформа откажет — объясни это человеку прямо и предложи собрать заново, а не повторяй вызов.
structures
list_structures
Return the catalogue of landing structures Layero ships with.
whoami
whoami
Who is connected to Layero and how many projects they have. Call this first when you are unsure the token is configured: a clear error here is cheaper than one halfway through a deploy.

Endpoints

URLTransportStateLatencyChecked
https://mcp.layero.ru/mcp streamable-http answering 112 ms 7 min ago

Layero — questions

Answers built from our own checks of this server.

What can Layero do?
It exposes 27 tools, read directly from the server on our last check. Among them: add_integration, cancel_deploy, check_copy, check_domain, check_performance, compose_landing and 21 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
What is Layero mostly used for?
Its tools cluster around site, compose and connect. That is what this server is built to work with — the grouping comes from the actual tool names, not from a category we assigned.
Is Layero working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 164 ms. The bar chart above shows every period we have measured.
How do I connect Layero?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Layero need an API key?
No. Layero completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 27 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Layero?
It answers our handshake in 164 ms on average, which is faster than 71% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.
Is Layero open source?
Yes — it is published under the MIT licence and 0 stars on GitHub. The source link is on this page, so you can read exactly what it does with your data before you connect it.