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.

Как дела у сайта

site_status
Read-only

How a site is doing: where it is built from, whether the address is answering, and how the latest build ended.

One call instead of three (project, deploys, live check of the address).
`source` / `repo` / `branch` / `root_directory` say where the project is
built from — a connected repository means deploys go through git.

`serving` is true when the SITE ITSELF answered — any response that is
not a Layero platform screen and not a 5xx. An API server that has no
`/` route answers with its own 404: that is a running app, not a broken
site — check a real route with `path`. `answered_by` tells who replied:
`site`, `platform` (a Layero screen, named in `platform_screen`:
`unavailable`, `coming-soon`, `starting`, `not-found`, `suspended`) or
`none` (no response). Redirects are not followed: `redirect_to` shows
the target.

Waiting for a build: while the latest build is running the answer carries
`poll_after_s` — call again after that many seconds. Or pass `wait_s` and
the server waits for the build itself (mind your client's tool-call
timeout, see the argument). `waited_s` says how long the call waited.

Static sites: `served_fallback: true` means the requested `path` was
answered with the HOME page (a missing file is replaced by `index.html`
with code 200) — the address answers, but this page does not exist.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathNoPath to check on the site, from its root. Default `/`. For an API server with no `/` route pass a route that exists, e.g. `/api/health` or `/healthz`./
wait_sNoWait for a running build: if the latest build is queued/building, the call holds until it finishes or `wait_s` seconds pass, then answers as usual. Default 0 — answer at once. At most 120. 🚨 Your client has its own tool-call timeout, often 60 s (Cursor, Codex): stay under it — 45 is safe everywhere — or the call is cut on your side while the build carries on. Still building afterwards → call again.
projectYesThe project: its slug (`my-site`) or id, as listed by `my_projects`. The site address works too (`https://clear-garden-vypm.layero.app` or just `clear-garden-vypm`) — note that the address host is NOT always the slug.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYes
repoNo
branchNo
sourceYes
projectYes
servingYes
providerNo
waited_sNo
http_codeYes
last_errorYes
answered_byYes
checked_urlYes
next_actionYes
redirect_toNo
poll_after_sNo
project_typeNo
last_deploy_idNo
root_directoryNo
platform_screenNo
served_fallbackNo
last_deploy_stageYes
last_deploy_statusYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • addedInput schema / properties / wait_s
      Added value: +{
      +  "default": 0,
      +  "description": "Wait for a running build: if the latest build is queued/building, the call holds until it finishes or `wait_s` seconds pass, then answers as usual. Default 0 — answer at once. At most 120. 🚨 Your client has its own tool-call timeout, often 60 s (Cursor, Codex): stay under it — 45 is safe everywhere — or the call is cut on your side while the build carries on. Still building afterwards → call again.",
      +  "title": "Wait S",
      +  "type": "integer"
      +}
    • addedOutput schema / properties / last_deploy_id
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Last Deploy Id"
      +}
    • addedOutput schema / properties / poll_after_s
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Poll After S"
      +}
    • addedOutput schema / properties / served_fallback
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "boolean"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Served Fallback"
      +}
    • addedOutput schema / properties / waited_s
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Waited S"
      +}
  2. Changed13 schema fields changed
    • addedInput schema / properties / path
      Added value: +{
      +  "default": "/",
      +  "description": "Path to check on the site, from its root. Default `/`. For an API server with no `/` route pass a route that exists, e.g. `/api/health` or `/healthz`.",
      +  "title": "Path",
      +  "type": "string"
      +}
    • changedInput schema / properties / project / description
      Previous value: -"Проект: слаг (`my-site`) или id. Слаг — то, что видно в адресе сайта; если пользователь назвал сайт словами, возьми слаг из `my_projects`."New value: +"The project: its slug (`my-site`) or id, as listed by `my_projects`. The site address works too (`https://clear-garden-vypm.layero.app` or just `clear-garden-vypm`) — note that the address host is NOT always the slug."
    • addedOutput schema / properties / answered_by
      Added value: +{
      +  "enum": [
      +    "site",
      +    "platform",
      +    "none"
      +  ],
      +  "title": "Answered By",
      +  "type": "string"
      +}
    • addedOutput schema / properties / branch
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Branch"
      +}
    • addedOutput schema / properties / checked_url
      Added value: +{
      +  "title": "Checked Url",
      +  "type": "string"
      +}
    • addedOutput schema / properties / platform_screen
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Platform Screen"
      +}
    • addedOutput schema / properties / project_type
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Project Type"
      +}
    • addedOutput schema / properties / provider
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Provider"
      +}
    • addedOutput schema / properties / redirect_to
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Redirect To"
      +}
    • addedOutput schema / properties / repo
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Repo"
      +}
    • addedOutput schema / properties / root_directory
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Root Directory"
      +}
    • addedOutput schema / properties / source
      Added value: +{
      +  "enum": [
      +    "git",
      +    "cli"
      +  ],
      +  "title": "Source",
      +  "type": "string"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "project",
      -  "url",
      -  "serving",
      -  "http_code",
      -  "last_deploy_status",
      -  "last_deploy_stage",
      -  "last_error",
      -  "next_action"
      -]New value: +[
      +  "project",
      +  "url",
      +  "source",
      +  "serving",
      +  "checked_url",
      +  "http_code",
      +  "answered_by",
      +  "last_deploy_status",
      +  "last_deploy_stage",
      +  "last_error",
      +  "next_action"
      +]
  3. Changed1 schema field changed
    • addedInput schema / properties / project / description
      Added value: +"Проект: слаг (`my-site`) или id. Слаг — то, что видно в адресе сайта; если пользователь назвал сайт словами, возьми слаг из `my_projects`."
  4. Added

TDQS

A4.6/5.0
Behavior4/5

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

Annotations provide readOnlyHint=true, and the description does not contradict this. The description adds substantial behavioral context beyond the annotation: it explains what `serving` means (any response that is not a Layero platform screen and not a 5xx), how `answered_by` distinguishes site/platform/none, that redirects are not followed, that static sites may serve a fallback home page with code 200, and that the call may block when `wait_s` is used. This is rich behavioral disclosure that goes well beyond the read-only hint. It loses one point because it doesn't explicitly state that the tool is read-only/non-destructive, but the annotation already covers that.

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?

The description is well-structured with clear paragraph breaks by topic: overview, serving semantics, build waiting, and static site fallback. It is front-loaded with the core purpose. It is somewhat long, but every section earns its place by explaining non-obvious behavior. It loses one point because it is dense and could be tightened in places (e.g., the `answered_by` enumeration could be more compact), but overall it is appropriately sized for the complexity it covers.

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?

Given the tool's complexity (three concerns consolidated, nuanced serving semantics, build-waiting behavior, static fallback), the description is remarkably complete. It covers the key output fields (`serving`, `answered_by`, `platform_screen`, `redirect_to`, `poll_after_s`, `waited_s`, `served_fallback`), explains edge cases (API 404s, redirects, missing files), and provides operational guidance (timeout warnings). An output schema exists, so return values don't need full documentation, but the description still explains the non-obvious semantics. Nothing an agent needs to call this correctly is missing.

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

Parameters4/5

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

Schema description coverage is 100%, so the schema already documents all three parameters. The description adds meaningful context beyond the schema: it explains how `path` interacts with API servers that lack a `/` route, how `wait_s` interacts with client timeouts, and how `project` can be a slug, id, or site address with the caveat that the address host is not always the slug. This is valuable semantic enrichment. It doesn't add much about the `serving`/`answered_by` output fields, but those are output, not parameters. A 4 is appropriate because the description genuinely enhances parameter understanding beyond the schema.

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?

The description opens with a clear, specific statement of what the tool does: 'How a site is doing: where it is built from, whether the address is answering, and how the latest build ended.' It names the resource (site status) and the three distinct concerns it consolidates (project, deploys, live check). It also explicitly distinguishes itself from sibling tools by saying 'One call instead of three (project, deploys, live check of the address).' This is a specific verb+resource with clear differentiation from siblings.

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?

The description provides explicit guidance on when to use this tool and how to interpret its results. It explains the `serving` field semantics, tells users to check a real route with `path` for API servers, explains redirect behavior, and gives explicit instructions for waiting on builds ('call again after that many seconds' or 'pass `wait_s`'). It also warns about client tool-call timeouts. While it doesn't name specific sibling alternatives to use instead, it clearly states what this tool consolidates and how to handle its edge cases, which is strong usage guidance.

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