Skip to main content
Glama
This connector has been deprecated

Duplicate listing of the same server under an old namespace. The maintained listing is Layero (ru.layero/layero): same endpoint https://mcp.layero.ru/mcp, current description and tools. The landing-page generator described here was removed in MCP 2.0.

Опубликовать сайт

publish_site

Publish a static site to Layero — from here, with no terminal.

Takes ANY ready static bundle, so it is the answer to "deploy my site" when
the project has no connected repository. 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.

Do NOT use it for a project with a connected repository (`site_status`
shows one): the next git push would overwrite what you published.

Publishing without a Layero account is not possible from here — the
server requires sign-in. For that case there is the CLI:
`npx layero@latest deploy --claim` deploys first and lets the person
claim the site later. An empty project for a future publish is created
with `project_create`.

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 site; 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`.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
filesYesThe whole site, with `index.html` in the root. Paths are relative (`assets/app.css`). Binary files go with `encoding="base64"`. At most 200 files, 8 MB in total, 2 MB per file.
projectNoid of an existing project — to publish the same site again. Without it the platform looks the project up by name or creates a new one.
project_nameYesProject slug — lowercase Latin letters, digits and hyphens. It becomes part of the site address. If the project already exists, pass `project` as well, otherwise the platform creates a new one.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYes
bytesYes
errorNo
filesYes
statusYes
deploy_idYes
project_idYes
next_actionYes
project_slugYes
rules_warningsNo
created_projectYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedOutput schema / $defs
      Added value: +{
      +  "RulesWarning": {
      +    "properties": {
      +      "explanation": {
      +        "title": "Explanation",
      +        "type": "string"
      +      },
      +      "rule": {
      +        "title": "Rule",
      +        "type": "string"
      +      },
      +      "title": {
      +        "title": "Title",
      +        "type": "string"
      +      },
      +      "url": {
      +        "title": "Url",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "rule",
      +      "title",
      +      "explanation",
      +      "url"
      +    ],
      +    "title": "RulesWarning",
      +    "type": "object"
      +  }
      +}
    • addedOutput schema / properties / rules_warnings
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {
      +        "$ref": "#/$defs/RulesWarning"
      +      },
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Rules Warnings"
      +}
  2. Changed3 schema fields changed
    • changedInput schema / properties / files / description
      Previous value: -"Файлы сайта целиком, с `index.html` в корне. Пути относительные (`assets/app.css`). Двоичные файлы — с `encoding=\"base64\"`. Не более 200 файлов, 8 МБ всего, 2 МБ на файл."New value: +"The whole site, with `index.html` in the root. Paths are relative (`assets/app.css`). Binary files go with `encoding=\"base64\"`. At most 200 files, 8 MB in total, 2 MB per file."
    • changedInput schema / properties / project / description
      Previous value: -"id существующего проекта — для повторной публикации того же сайта. Без него платформа ищет проект по имени или создаёт новый."New value: +"id of an existing project — to publish the same site again. Without it the platform looks the project up by name or creates a new one."
    • changedInput schema / properties / project_name / description
      Previous value: -"Слаг проекта — строчные латинские буквы, цифры и дефис. Он станет частью адреса сайта. Если проект уже существует, передавай ещё и `project`, иначе платформа заведёт новый."New value: +"Project slug — lowercase Latin letters, digits and hyphens. It becomes part of the site address. If the project already exists, pass `project` as well, otherwise the platform creates a new one."
  3. Added

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Only openWorldHint is annotated, so the description carries the burden and does it well: binary-as-text silent corruption, 200 file / 8 MB / 2 MB limits, no server-side memory of the bundle between calls, auth required ('server requires sign-in'), the ~40s 'building' return with deploy_id, and the explicit warning against a retry that would start a SECOND build. These are exactly the behavioral traits an agent cannot get from the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the purpose, then requirements, exclusions, and return behavior. Every sentence carries actionable content. It is long, but for a tool with this many failure modes the length is largely earned; only minor tightening is possible.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Although an output schema exists, the description still explains the partial-success return (`status: building`, deploy_id, next_action) and the no-retry rule, which is the critical operational detail. Combined with prerequisites, limits, and the account constraint, an agent has everything needed to invoke this correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the parameters are already documented — this sets the baseline at 3. The description restates the `project` lookup/create behavior that the schema already states, adding little. It does reinforce the 'send ACTUAL file contents' contract, but that is invocation behavior rather than parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Publish a static site to Layero') and immediately scopes it ('with no terminal', 'ANY ready static bundle'). This distinguishes it from siblings like publish_landing, project_create, and retry_deploy without requiring the schema to be opened.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly names when NOT to use it (connected repo → git push would overwrite; needs a build step → publish build output or use CLI) and gives concrete alternatives for each case (CLI `deploy --claim`, `project_create`, `site_status`). This is a textbook when/when-not/alternatives breakdown.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources