Skip to main content
Glama

Tá Rodando

Server Details

Uptime monitoring and a public status page for Brazilian teams. Create HTTP monitors and down/up alerts (email, Telegram, Slack, Discord, Google Chat, webhook), check uptime and past outages, and manage the status page and incidents from your agent. OAuth 2.1 with dynamic client registration; API key as Bearer also works. Free plan available.

Ownership verified
Status
Healthy
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4/5.0

Scored across 19 tools

Disambiguation5/5

The tools have clearly distinct purposes: monitor CRUD, check history, occurrence reporting, channel management, status page configuration, and account inspection are all separated. Related tools like listar_checks vs listar_ocorrencias and configurar_status_page vs estruturar_pagina are explicitly differentiated in their descriptions.

Naming Consistency4/5

Almost all tools follow a consistent Portuguese verb_noun snake_case pattern (e.g., criar_monitor, listar_canais, remover_canal, vincular_canal). The only notable deviation is status_monitor, which uses a noun-first form instead of the verb_noun convention used elsewhere.

Tool Count4/5

With 19 tools, the server is slightly above the typical 3–15 range, but the domain genuinely requires monitor, channel, status page, occurrence, and account operations to be split. Each tool appears to earn its place, though the set is on the heavier side.

Completeness4/5

Core lifecycles are well covered: monitors have create/read/update/delete/pause/resume, channels have create/list/delete/link/test, and occurrences have list/view/publish. Minor gaps exist, such as no update operation for alert channels and no public incident update/delete, which agents can work around but are noticeable.

Available Tools

19 tools
atualizar_monitorAtualizar monitorA
Idempotent
Inspect

Altera nome, URL, intervalo ou seção de um monitor. Só os campos enviados mudam; section: null tira o serviço da seção. Num monitor privado, section publica: ele passa a aparecer na status page, nessa seção. A página inteira (várias seções, ordem, tirar da página) é editada por estruturar_pagina. URL nova passa pela mesma validação de criar_monitor (url_failing só grava com confirmar: true).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesid do monitor (campo `id` de listar_monitores).
urlNoNova URL pública a monitorar.
nameNoNovo nome do serviço.
sectionNo
confirmarNotrue = grava mesmo com a URL falhando agora (erro url_failing).
intervalMinNoIntervalo de checagem em minutos: 5 ou 15 no free; 1, 5 ou 15 no pro.

TDQS

A4.8/5.0
Behavior5/5

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

Annotations cover the safety profile (readOnlyHint=false, idempotentHint=true, destructiveHint=false), and the description adds real behavioral context beyond them: partial-update semantics, that section: null removes the service from a section, that supplying section on a private monitor publishes it to the status page, and that a new URL passes the same validation as criar_monitor requiring confirmar: true on url_failing.

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?

Dense but front-loaded: the core mutation and partial-update rule come first, followed by edge cases and the sibling routing. Every sentence carries information, though the section/publishing rules are packed tightly enough to require careful reading.

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?

For a mutation tool with no output schema, the description covers the partial-update contract, the section null/publish semantics, the validation dependency on criar_monitor, and the sibling scope. An agent has everything needed to invoke it correctly.

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 coverage is high (83%) so the schema does much of the work, but the description adds meaning not stated in the schema: the null semantics for section and the publishing side effect on private monitors, plus the interaction of confirmar with url_failing. It does not add anything for intervalMin beyond what the schema already lists.

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 (altera) and resource (monitor) and enumerates the mutable fields (nome, URL, intervalo, seção), so the agent immediately knows what the tool targets. It also explicitly distinguishes itself from the sibling estruturar_pagina, which owns whole-page edits.

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?

Gives clear when-to-use context (only sent fields change) and names the alternative (estruturar_pagina) with the condition that selects it (multi-section, ordering, page removal). It also explains the specific edge case of section: null.

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

configurar_status_pageConfigurar status pageA
Idempotent
Inspect

Altera a status page pública da conta: nome (título), endereço (subdomínio em .tarodando.com.br), descrição, link do site, link de contato, logo e favicon — tudo que a aba Nome e endereço da Status page no painel edita, com as mesmas regras. Só os campos enviados mudam. O slug é normalizado (minúsculas, sem acento, hífens) e precisa de 3+ caracteres; endereço em uso devolve slug_taken; endereço reservado, reserved_slug. Se a conta ainda não tem status page (statusPage null em ver_conta), a tool cria: aí name, slug e monitorIds são obrigatórios (sem os três devolve no_page; se a conta já ganhou página no meio do caminho, page_exists). monitorIds decide o que fica PÚBLICO: ids de listar_monitores, "all" ou [] pra nenhum. Se algum id não for monitor da conta, nada é criado e volta monitor_not_found com os ids recusados. Seções e a lista de monitores da página são editadas por estruturar_pagina. Devolve a URL nova; ao trocar o endereço, o antigo para de funcionar e a resposta lista monitores que ainda checam o endereço antigo (não altera nada sozinha).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoNome/título da status page (ex.: nome da empresa).
slugNoEndereço: o subdomínio, ex.: acme vira https://acme.tarodando.com.br.
logoUrlNoURL pública da imagem do logo (http/https). "" ou null limpa.
siteUrlNoLink do site da empresa (http/https). "" ou null limpa.
contactUrlNoLink de contato/suporte (http/https ou mailto:). "" ou null limpa.
faviconUrlNoURL pública do favicon (http/https). "" ou null limpa.
monitorIdsNoSó na criação: ids (de listar_monitores) dos monitores que ficam públicos na página, "all" pra todos ou [] pra nenhum.
descriptionNoTexto curto abaixo do título. "" ou null limpa.

TDQS

A4.8/5.0
Behavior5/5

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

Annotations cover readOnly=false, idempotent=true, destructive=false, and openWorld=false. The description adds rich behavior: slug normalization rules, error codes (slug_taken, reserved_slug, no_page, page_exists, monitor_not_found), monitorIds visibility semantics, and the side effect that the old address stops working. This goes well beyond what annotations provide.

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 front-loaded with the main edit operation and then packs necessary detail about creation, errors, and side effects. It is dense but contains little obvious waste; a more scannable structure (e.g., bullets for error codes) could improve it slightly.

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?

For a complex mutation tool with no output schema, the description covers creation prerequisites, validation rules, error responses, side effects, and return content. It is complete enough for an agent to call it correctly across both update and create paths.

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 baseline is 3. The description adds conditional requiredness (name, slug, and monitorIds only required on creation) and slug normalization/character rules that are not fully captured in the schema. monitorIds semantics are partly in the schema, but the description reinforces how ids map to public monitors.

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 ('Altera') and resource ('status page pública da conta'), lists the exact editable fields, and explicitly routes section/monitor-list editing to estruturar_pagina. An agent can distinguish this from siblings like estruturar_pagina and ver_conta without opening their schemas.

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 describes when it creates versus updates (statusPage null in ver_conta), the required fields on creation, and the alternative tool for sections and monitor list (estruturar_pagina). It also names error conditions and when they occur, leaving little to inference.

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

criar_canalCriar canal de alertaAInspect

Cria um canal por onde o time recebe o alerta de monitor caiu/voltou. kind email recebe um endereço; slack, discord, google_chat e webhook recebem a URL do webhook (tem que ser pública). kind telegram não leva target: o canal volta com connected: false, um connectUrl (chat pessoal) e um connectGroupUrl (grupo do time); o canal só recebe alertas depois que alguém abre um desses links no Telegram e toca em Começar (ou escolhe o grupo), e aí listar_canais mostra connected: true. O link vale 24 h; depois disso, o canal precisa ser apagado e criado de novo. O canal nasce sem monitores (vínculo por vincular_canal). Máximo de 20 canais por conta.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYesTipo do canal: email, slack, discord, google_chat, webhook ou telegram.
labelNoNome do canal no painel (ex.: #alertas).
targetNoDestino: email (ex.: time@exemplo.com.br) ou URL https do webhook. Obrigatório, menos no telegram (ignorado).

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the annotations (which only mark it non-readonly, non-idempotent, non-destructive). It discloses the telegram asynchronous connection state (connected:false plus connectUrl/connectGroupUrl), the 24h link validity and the delete-and-recreate workaround, that the channel starts with no monitors, and the 20-channel cap – all material operational behavior.

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 purpose is front-loaded and every sentence carries operational weight (telegram flow, link expiry, monitor linkage, account cap). It is a single dense paragraph with some long clauses, but nothing is filler, so waste is minimal.

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?

There is no output schema, so the description correctly compensates by describing the telegram return shape (connected:false, connectUrl, connectGroupUrl) and how connected:true appears in listar_canais. Combined with the limits and linkage notes, it is complete enough for an agent to call the tool correctly.

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 coverage is 100%, so the baseline is 3, but the description adds real meaning: it maps each kind to its expected target (email address vs public webhook URL) and explains that telegram ignores target. That kind-to-target mapping is more than the schema states, though it does not add format/syntax detail for target itself.

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 ('Cria um canal por onde o time recebe o alerta de monitor caiu/voltou'), making the outcome immediately clear. It also names lifecycle siblings (vincular_canal for linkage, listar_canais for status), so an agent can distinguish this create tool from the related ones.

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

Usage Guidelines4/5

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

Gives strong context on when and how the tool is used: monitors are linked separately via vincular_canal, the 20-channel-per-account cap, and the telegram flow that requires the channel to be recreated after the 24h link expires. It stops short of an explicit 'use X instead of Y' routing statement, so it is clear context rather than full alternative guidance.

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

criar_monitorCriar monitorAInspect

Cria um monitor HTTP para uma URL pública (https://…). O Tá Rodando checa no intervalo escolhido, refaz o check ~30 s depois de uma falha, marca o serviço como fora do ar na 2ª falha seguida e avisa o time. O monitor nasce privado e avisando os canais padrão da conta (o "avisar em"); passe section para aparecer na status page. Antes de gravar, a URL é testada: endereço do Tá Rodando que não existe ou a própria status page são recusados; URL que está falhando agora devolve url_failing com o motivo, e só é criada com confirmar: true. Respeita o teto do plano: se estourar, devolve plan_limit (no grátis, com o link de upgrade).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL pública a monitorar, ex.: https://api.exemplo.com.br/health
nameNoNome do serviço na status page. Sem nome, usa o host da URL.
sectionNoSeção da status page onde o serviço aparece (criada se não existir). Só vale se a conta tem status page.
confirmarNotrue = grava mesmo com a URL falhando agora (erro url_failing).
intervalMinNoIntervalo de checagem em minutos: 5 ou 15 no free; 1, 5 ou 15 no pro.

TDQS

A4.5/5.0
Behavior5/5

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

Adds substantial behavior beyond the annotations: the check interval, the ~30s retry after a failure, marking the service down on the second consecutive failure, private-by-default creation, default notification channels, and named error outcomes (url_failing, plan_limit). This is exactly the operational context the readOnly/idempotent/destructive hints cannot convey.

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-loads the core purpose and the URL-validation/plan-limit constraints in one dense paragraph; every sentence carries operational information. It is on the heavy side, but no sentence is filler or a restatement of the name.

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

Completeness4/5

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

With no output schema, the description does the heavy lifting on failure modes (url_failing with reason, plan_limit with upgrade link) and preconditions, which is strong. The success response shape is left unspecified, a minor gap for a create tool.

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 carries the basics (baseline 3). The description still adds meaning not in the schema: the monitor is born private on default channels, `section` affects status page placement, and `confirmar` is tied to the url_failing path.

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 ('Cria um monitor HTTP para uma URL pública') and scopes it to public https URLs, which cleanly separates it from atualizar_monitor and pausar_monitor. An agent knows exactly what object is being created without opening the schema.

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

Usage Guidelines4/5

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

Gives concrete conditions: a failing URL is rejected unless `confirmar: true`, non-existent Tá Rodando addresses and the status page itself are refused, and plan ceilings return plan_limit. It does not explicitly name an alternative sibling or a when-not-to-use case, so it stops short of full routing guidance.

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

estruturar_paginaEstruturar status pageA
Idempotent
Inspect

Põe monitores em seções da status page — o "Salvar estrutura" do painel. Recebe a estrutura INTEIRA: a lista ordenada de seções, cada uma com os ids (de listar_monitores) dos monitores na ordem em que aparecem. Seção que já existe é reconhecida pelo id ou, sem id, pelo nome (pra renomear, mande o id com o nome novo); seção que não vier é apagada; monitor que não estiver em nenhuma seção volta a privado (checa e avisa o time, sem aparecer na página). A estrutura atual está em listar_monitores (section e statusPage). Tudo ou nada: com seção sem nome, nomes repetidos, a mesma seção duas vezes ou id desconhecido, nada é gravado (invalid_structure). Sem status page, devolve no_page.

ParametersJSON Schema
NameRequiredDescriptionDefault
sectionsYesSeções na ordem da página. Lista vazia tira todos os monitores da página.

TDQS

A4.8/5.0
Behavior5/5

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

Goes well beyond annotations: describes that omitted sections are deleted, that monitors outside any section revert to private, that the operation is all-or-nothing with a named error (invalid_structure), and that it returns no_page when no status page exists. Annotations only say it is non-read-only, idempotent, and non-destructive – the description adds critical lifecycle and failure semantics.

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-loads the core action, then details the full-replacement semantics and error cases. Some sentences are dense (the id/name/rename rules), but all earn their place; a small amount of repetition (structure source mentioned twice) keeps it just under 5.

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?

Covers the input source, replacement semantics, deletion behavior, rename mechanism, monitor visibility side-effect, validation failure mode, and no-page case. Given no output schema and 100% schema coverage, 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 coverage is 100%, so baseline is 3. The description adds value by explaining the semantics of the single 'sections' parameter: ordered list, each section keyed by id or name, rename via id+new name, and that empty list clears the page. It doesn't add format beyond the schema (e.g., maxItems limits) but the behavioral tie-in is useful.

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+resource ('Põe monitores em seções da status page') and distinguishes it from siblings by describing it as the panel's 'Salvar estrutura' action. An agent can tell it apart from configurar_status_page and listar_monitores without opening the schema.

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 says it receives the ENTIRE structure, tells where the current structure lives (listar_monitores with section/statusPage), and notes that anything not present is deleted. This is unambiguous when-to-use and how-to-get-inputs guidance.

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

listar_canaisListar canais de alertaA
Read-onlyIdempotent
Inspect

Lista os canais de alerta da conta (email, Slack, Discord, Google Chat, webhook ou Telegram) e os ids dos monitores vinculados a cada um. URL de webhook vem mascarada (só o host), porque ela é credencial. Telegram vem com target null e connected; se connected for false, ainda não recebe nada e connectUrl é o link pro usuário abrir.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the bar is lower, but the description still adds genuinely non-obvious behavior: webhook URLs come back masked to host only because they are credentials, and Telegram entries expose target=null plus a connected flag and connectUrl. It does not describe pagination or whether other secrets are masked.

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

Conciseness5/5

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

Three tight sentences, front-loaded with the core 'what', followed by the two non-obvious fields (webhook masking, Telegram connected state). No filler and every sentence carries information.

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

Completeness4/5

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

With no output schema, the description carries the return-shape burden and does well on the tricky fields (masked webhook URL, Telegram target/connected/connectUrl). It still omits the remaining shape an agent may need, such as whether a name/id/type field per channel is present and whether the monitor list is ids only.

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?

The tool takes zero parameters, so the 4 baseline applies; the description correctly introduces no parameter discussion and instead spends its space on output 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 ('Lista os canais de alerta da conta'), enumerates the channel types covered (email, Slack, Discord, Google Chat, webhook, Telegram), and clarifies it also returns linked monitor ids, distinguishing it from listar_monitores and from the write siblings criar_canal/remover_canal.

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

Usage Guidelines2/5

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

The description explains what is returned but never says when to call this tool versus alternatives such as ver_conta, listar_monitores, or testar_canal, and gives no prerequisites or exclusions. Usage is only faintly implied by the connected/connectUrl notes; routing guidance is absent.

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

listar_checksHistórico de checks e disponibilidadeA
Read-onlyIdempotent
Inspect

Checks anteriores de um monitor (mais novo primeiro: horário, ok/falha, latência em ms, erro) e o resumo da janela: % de disponibilidade, nº de checks e falhas, latência média e p95. O % de 90d é o mesmo da status page pública. Checks individuais ficam guardados 8 dias; 30d/90d trazem só o resumo diário (sem latência). monitor.paused = true: pausado (à mão ou fora do teto do plano), sem checks novos — janela vazia não é queda. Paginação: repita com cursor = nextCursor.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesid do monitor (campo `id` de listar_monitores).
cursorNonextCursor da resposta anterior, pra próxima página.
limiteNoMáximo de checks na lista (padrão 50, máx. 200).
periodoNoJanela: 24h (padrão), 7d, 30d ou 90d.
apenasFalhasNotrue = lista só os checks que falharam (o resumo não muda).

TDQS

A4.1/5.0
Behavior5/5

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

Annotations cover the safety profile (readOnly, idempotent, non-destructive), and the description layers on genuinely non-obvious behavior: retention rules per window, that 30d/90d omit latency, that the 90d % matches the public status page, and the key anti-misinterpretation that an empty window on a paused monitor is not a downtime. This is exactly the context structured fields cannot supply.

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-loads the return shape and then packs retention, paused semantics, and pagination into one dense but well-ordered paragraph with no filler. Slightly telegraphic and compressed, but every clause earns its place.

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?

For a five-parameter, no-output-schema tool, the description fully covers what is returned (per-check fields and window aggregates), the retention constraints on those values, and the pagination loop. An agent has everything needed to call and interpret it 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 coverage is 100%, so all five parameters are already documented in the schema. The description adds only a restatement of cursor-based pagination and the window concept, without new semantics for periodo, limite, or apenasFalhas, so baseline 3 is correct.

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

Purpose4/5

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

States a specific verb and resource ('checks anteriores de um monitor') plus the exact return shape (horário, ok/falha, latência, erro, resumo da janela), so an agent knows precisely what it gets. It is clearly historical data, implicitly distinct from status_monitor's current state, but it never names a sibling explicitly, which is what a 5 would require.

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

Usage Guidelines4/5

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

Gives clear context for use: it explains the retention window (8 days for individual checks, summary-only for 30d/90d), the paused-monitor case, and how to paginate with cursor. It does not name alternatives or explicitly state when not to use this tool, so it stops short of a 5.

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

listar_monitoresListar monitoresA
Read-onlyIdempotent
Inspect

Lista os monitores HTTP da conta com as 3 respostas da lista do painel: está no ar (state: operational/degraded/partial_outage/major_outage, failing = último check falhou e o monitor ainda não marcou fora do ar, paused, awaiting = sem dados), quem é avisado (channels: label + kind, o "avisar em" do monitor; lista vazia = não avisa ninguém) e se aparece na status page (statusPage: URL da página, ou null = privado; section: nome da seção). Traz também status (o que a página pública mostra), último check, intervalo e se está pausado por excesso do plano.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered. The description goes well beyond that by decoding the returned fields' semantics (e.g., 'failing' = last check failed but monitor not yet marked down, empty channels = notifies no one, null statusPage = private), which is genuinely useful behavioral context. It stops short of pagination or ordering behavior.

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

Conciseness3/5

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

The purpose is front-loaded in the first clause, which is good, but the rest is a single dense run-on sentence packed with nested parentheticals that would be easier to scan as separate sentences or a list.

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

Completeness4/5

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

With no input parameters, no output schema, and annotations covering the safety profile, the description carries the return-value burden and handles it thoroughly by explaining each field and its edge cases. It is essentially complete for an agent to call and interpret the result.

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?

The tool takes zero parameters, so the baseline is 4. There is nothing for the description to clarify beyond noting it operates on the whole account scope.

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

Purpose4/5

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

States a specific verb and resource ('Lista os monitores HTTP da conta'), making clear it lists the account's HTTP monitors. This implicitly separates it from siblings like listar_canais and listar_checks, though it does not name them explicitly.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no routing to alternatives such as status_monitor or listar_checks. The listing intent is inferable from the name and description alone, but no explicit usage conditions are given.

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

listar_ocorrenciasListar ocorrênciasA
Read-onlyIdempotent
Inspect

Ocorrências dos monitores nos últimos 90 dias, mais recente primeiro. Ocorrência = um episódio de queda de um monitor (abre na 2ª falha seguida, fecha quando volta ou quando o monitor é pausado). É PRIVADA: só o time vê; não é o incidente público da status page. Por ocorrência: id, monitor, numero, aberta, inicio, fim, duracao_seg (fonte única da duração, a mesma do painel), motivo, falhas, avisos (quem foi avisado por canal: enviado/falhou/pendente; lista vazia = ninguém foi avisado) e incidente_id (null = não publicada).

ParametersJSON Schema
NameRequiredDescriptionDefault
abertasNotrue = só as ocorrências em andamento.
monitorNoid do monitor pra filtrar (campo `id` de listar_monitores).

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), yet the description adds much beyond them: the 90-day retention window, the sort order, the privacy constraint, the episode open/close semantics, and the meaning of an empty avisos list ('ninguém foi avisado'). This is exactly the extra behavioral context the annotations cannot convey.

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-loads scope and ordering before the definition and the field inventory, so the most decision-relevant facts come first. The long field enumeration is dense and slightly run-on, but each clause (duration single-source, empty list meaning, null incidente_id) carries non-obvious information.

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?

There is no output schema, so the description absorbs that burden by enumerating every returned field with semantics (duracao_seg as the single source of duration, avisos channels with enviado/falhou/pendente, incidente_id null = unpublished). Nothing an agent needs to interpret the result is missing.

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%, with abertas and monitor both documented inline, and the description does not restate or extend those parameter semantics. Baseline 3 applies when the schema carries the full parameter burden.

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 (listing occurrences) plus precise scope: monitor occurrences in the last 90 days, most recent first. Defines the domain term 'ocorrência' (opens on the 2nd consecutive failure, closes on recovery or pause), which lets an agent distinguish it from both public incidents and from sibling ver_ocorrencia's single-item view.

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

Usage Guidelines4/5

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

Gives clear context for when this is the right tool: it is the PRIVATE team-only view, explicitly 'not the public incident of the status page', and incidente_id=null signals not-yet-published (implying publicar_ocorrencia). It lacks an explicit routing statement toward ver_ocorrencia for a single occurrence's detail, so it is clear context without full exclusions.

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

pausar_monitorPausar monitorA
Idempotent
Inspect

Pausa um monitor sem apagar o histórico: para de checar, não avisa ninguém e libera a vaga no limite do plano. Na status page o serviço aparece como Pausado. retomar_monitor volta a checar.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesid do monitor (campo `id` de listar_monitores).

TDQS

A4.5/5.0
Behavior5/5

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

Goes well beyond the annotations by disclosing concrete side effects: history is preserved, checking stops, no notifications are sent, a plan slot is freed, and the status page shows 'Pausado'. These are exactly the behavioral details an agent needs and are not derivable from destructiveHint=false alone.

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

Conciseness5/5

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

Two tight sentences with the core effect front-loaded and the sibling reference last. Every clause carries distinct information with no padding.

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?

For a single-parameter state-change tool with no output schema, the description covers all relevant effects (history retention, notification suppression, plan-limit impact, status-page state) and the resume counterpart, leaving nothing an agent needs unaddressed.

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?

Only one parameter (id) and the schema already documents it at 100% coverage, including where to obtain the value (campo `id` de listar_monitores). The description adds no additional parameter meaning, so the baseline of 3 applies.

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+resource ('Pausa um monitor') and immediately distinguishes it from the sibling retomar_monitor by naming the counterpart action (resume checking). An agent can tell this apart from retomar_monitor and remover_monitor without opening any schema.

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

Usage Guidelines4/5

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

Explicitly names the alternative retomar_monitor and its opposite effect, giving clear context for choosing between the two pause/resume tools. It stops short of stating prerequisites or when-not to use it (e.g. versus removing), so it is clear but not fully exhaustive.

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

publicar_ocorrenciaPublicar ocorrência na status pageAInspect

Transforma uma ocorrência em incidente PÚBLICO na status page (avisa os assinantes da página). Sem confirmar, só devolve o rascunho (título, serviço, início, severidade, status, mensagem) e não publica nada; com confirmar: true, publica. Aceita titulo, mensagem, severidade e status para ajustar o rascunho. Ocorrência já encerrada vira incidente retroativo, já resolvido. Só vale pra monitor que aparece na status page; uma ocorrência gera no máximo um incidente.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesid da ocorrência (campo `id` de listar_ocorrencias).
statusNo
tituloNoTítulo público do incidente.
mensagemNoPrimeira mensagem pública do incidente.
confirmarNotrue = publica de verdade; sem ele, só devolve o rascunho.
severidadeNominor = Leve, major = Grave, critical = Crítica.

TDQS

A4.7/5.0
Behavior5/5

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

Annotations only say this is a non-read-only, non-destructive, non-idempotent open-world write. The description adds the critical dry-run semantics, the subscriber notification side effect, retroactive creation for already-closed occurrences, and the one-incident-per-occurrence ceiling — real behavioral context the agent cannot get from the annotations.

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

Conciseness5/5

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

The publishing action and the dry-run/production distinction are front-loaded, then constraints follow. Every sentence carries information: draft fields, gating flag, retroactive case, eligibility, and cardinality — no filler.

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?

With no output schema, the description usefully enumerates what the dry-run returns (título, serviço, início, severidade, status, mensagem) and covers the irreversible publish path, eligibility, and cardinality limit. An agent has what it needs to call this correctly on the first try.

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 coverage is already 83%, so the baseline is 3. The description earns above baseline by explaining the collective role of titulo/mensagem/severidade/status as overrides to the draft, and by restating the confirmar dry-run switch in operational terms rather than just a field description.

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+resource: turns an occurrence (ocorrência) into a PUBLIC incident on the status page, and notes that subscribers are notified. This distinguishes it cleanly from siblings like ver_ocorrencia and listar_ocorrencias, which read occurrences rather than publish them.

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

Usage Guidelines4/5

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

Gives explicit conditions: without `confirmar` it only returns a draft and publishes nothing; with confirmar:true it publishes. It also states exclusions ('só vale pra monitor que aparece na status page'; 'uma ocorrência gera no máximo um incidente'). It does not name a sibling alternative, but the when/when-not guidance is strong and actionable.

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

remover_canalRemover canal de alertaA
DestructiveIdempotent
Inspect

Apaga o canal e todos os vínculos dele com monitores, inclusive os feitos no painel. Os alertas param de sair por ali. Irreversível.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesid do canal (campo `id` de listar_canais).

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, so the safety profile is known. The description still adds real value beyond them: it discloses cascade scope (all monitor links, including those created in the panel), the operational effect (alerts stop being delivered through it), and irreversibility.

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

Conciseness5/5

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

Three terse sentences, front-loaded with the action and its blast radius, then consequence, then the irreversibility warning. No padding or redundancy.

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

Completeness4/5

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

For a one-parameter destructive tool with no output schema and annotations covering the safety profile, the description supplies the cascade and irreversibility context an agent needs. Missing only peripheral details such as permission requirements or what happens to already-triggered alerts.

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?

There is a single parameter and schema description coverage is 100%; the schema already explains that `id` is the channel id from listar_canais. The description contributes nothing about parameters, so baseline 3 applies.

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

Purpose4/5

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

States a specific verb (apaga) and resource (canal de alerta) plus the deletion scope (all monitor links, including panel-made ones), which distinguishes it from sibling vincular_canal / remover_monitor. It never names a sibling alternative explicitly, so it stops short of full differentiation.

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

Usage Guidelines2/5

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

The description explains the consequences of deleting but gives no when-to-use framing, no prerequisites, and no pointer to an alternative such as unlinking monitors instead of destroying the channel. The agent must infer that this is the tool for retiring a channel entirely.

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

remover_monitorRemover monitorA
DestructiveIdempotent
Inspect

Apaga um monitor (e o serviço correspondente da status page, se houver), junto com o histórico de checks. Irreversível.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesid do monitor (campo `id` de listar_monitores).

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, but the description adds real behavioral detail beyond them: the deletion cascades to the linked status page service and the check history, and it is irreversible. It does not cover permissions or confirmation requirements, so it stops short of a 5.

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

Conciseness5/5

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

A single sentence that front-loads the action, then the cascade, then the irreversibility warning. Every clause earns its place with zero filler.

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

Completeness4/5

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

For a one-parameter destructive tool with no output schema, the description covers what is destroyed and that the action cannot be undone, which is the critical information. It lacks only permission/authorization context to be fully complete.

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?

There is one parameter with 100% schema coverage, and the schema already explains that `id` comes from listar_monitores. The description adds nothing about the parameter, so the baseline 3 applies.

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+resource ("Apaga um monitor") and goes further by naming the cascading side effects (status page service and check history). An agent can distinguish this permanent-delete tool from siblings like pausar_monitor or remover_canal without opening any schema.

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

Usage Guidelines3/5

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

The word "Irreversível" implies this is the permanent-removal path as opposed to pausar_monitor, but the description never names the alternative or states when to prefer one over the other. Usage is inferable rather than explicit.

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

retomar_monitorRetomar monitorA
Idempotent
Inspect

Retoma um monitor pausado com pausar_monitor. Volta a checar no próximo ciclo do worker (até 30 min). Se a conta já usa todas as vagas do plano, devolve plan_limit e o monitor continua pausado.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesid do monitor (campo `id` de listar_monitores).

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only declare idempotent/non-destructive hints; the description goes further by disclosing the latency consequence ('próximo ciclo do worker, até 30 min') and the plan-limit failure mode (returns plan_limit and the monitor stays paused). This is exactly the kind of operational context annotations cannot carry.

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

Conciseness5/5

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

Three short sentences, zero filler: action first, then timing, then failure behavior. Each sentence delivers distinct information an agent needs.

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?

For a single-parameter state-change tool with no output schema, the description covers the trigger, the async timing, and the error/limit outcome — nothing material is missing for correct invocation.

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?

Only one parameter (id) and schema description coverage is 100%, with the schema already explaining that id comes from listar_monitores. The description adds no further parameter meaning, so the baseline 3 applies.

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+resource ('Retoma um monitor pausado') and explicitly names the inverse operation pausar_monitor, letting an agent distinguish it from siblings such as pausar_monitor, criar_monitor or status_monitor without opening any schema.

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

Usage Guidelines4/5

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

The precondition is clear — the monitor must have been paused via pausar_monitor — and the counterpart tool is named, which gives strong routing guidance. There is no explicit 'when not to use' statement (e.g. what to do if the monitor is already active), so it falls just short of a 5.

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

status_monitorVer status do monitorA
Read-onlyIdempotent
Inspect

Detalhe de um monitor: status, configuração, o último check (ok, latência em ms, erro e horário) e, se o último check falhou, lastFailure.message com o motivo em português (a mesma frase do painel). ocorrenciaAberta: a ocorrência em andamento (ver listar_ocorrencias) ou null. monitor.state traz o estado: failing = o último check falhou mas o monitor ainda não marcou fora do ar (acontece com o check feito na criação; a página pública segue operacional e o time ainda não foi avisado; se o próximo check do monitor falhar, vira major_outage e avisa). Uma falha num check do monitor agenda uma re-checagem ~30 s depois; a 2ª falha seguida vira major_outage e avisa o time.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesid do monitor (campo `id` de listar_monitores).

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, non-destructive, so safety is covered. The description adds real behavioral depth: the meaning of monitor.state='failing', the ~30s re-check window, and the escalation to major_outage with team notification on the second consecutive failure.

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 return-field inventory, then drills into the state machine. Dense but every clause carries semantics; only minor redundancy in restating the failure-escalation rule twice.

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

Completeness4/5

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

With no output schema, the description correctly carries the return-value burden: it explains lastFailure.message, ocorrenciaAberta, and the monitor.state semantics. An agent can interpret the response without a schema, though it does not cover fields it lists only by name (status, configuração).

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?

Single parameter with 100% schema description coverage, so the schema already explains that id is the 'id de listar_monitores'. The description adds nothing beyond the schema for the parameter, which is the expected baseline 3.

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

Purpose4/5

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

The description opens with 'Detalhe de um monitor' and enumerates exactly what is returned (status, configuração, último check, ocorrência). It is clearly a single-monitor detail read, distinguishable from listar_monitores, though it never names that sibling explicitly.

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

Usage Guidelines3/5

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

Usage is implied — fetch detail for one monitor by id — and it cross-references listar_ocorrencias for the occurrence object. There is no explicit when-to-use/when-not guidance or routing away from listar_monitores.

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

testar_canalTestar canal de alertaAInspect

Manda a mensagem de teste do painel pelo canal. Limite: 1 teste por minuto por canal (rate_limited, com espera de 60 s). Erros: send_failed = o destino recusou (email/URL; no Telegram, o bot foi bloqueado ou o chat sumiu); not_connected = canal Telegram ainda sem chat (falta abrir o connectUrl); provider_error = falha do Tá Rodando ou do provedor, com o destino ok.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesid do canal (campo `id` de listar_canais).

TDQS

A4.2/5.0
Behavior5/5

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

Annotations cover only the safety profile (readOnlyHint=false, idempotentHint=false, openWorldHint=true), while the description adds substantive behavior: a per-channel rate limit with a 60 s wait, and a precise error taxonomy (send_failed, not_connected with the missing connectUrl, provider_error) explaining what each failure means and who caused it. This is exactly the kind of context annotations cannot carry.

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?

A short, front-loaded paragraph: purpose first, then rate limit, then error semantics. Every sentence carries information, though the error clause is dense enough that a slightly more scannable structure would help.

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?

There is no output schema, so the description carries the return-side burden and does so: success is implied by sending the test, and every failure mode is enumerated with its cause. For a single-parameter tool this is complete enough to invoke and interpret 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?

Only one parameter, and schema description coverage is 100% — the schema already explains 'id do canal (campo `id` de listar_canais)'. The description's 'por canal' phrasing reinforces the per-channel scoping but adds no syntax or format detail beyond the schema, so the baseline 3 applies.

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 states a specific verb and resource: sending the panel's test message through the channel. This is clearly distinct from sibling operations like criar_canal, vincular_canal, or remover_canal, so an agent can pick it out without opening a schema.

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

Usage Guidelines3/5

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

The rate limit ('1 teste por minuto por canal') and the error taxonomy give strong operational context, but the description never states when to reach for this tool versus alternatives (e.g., after criar_canal/vincular_canal) or when not to use it. Usage is implied rather than stated.

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

ver_contaVer contaA
Read-onlyIdempotent
Inspect

Mostra o plano da conta no Tá Rodando (free ou pro), o teto de monitores e quantos já estão ativos, os intervalos de checagem permitidos e a status page pública (URL + snippet markdown do badge; identityChosen: false = nome e endereço ainda são os automáticos do cadastro), ou null se a conta não tem página, e onboarding (os primeiros passos do topo do painel: monitor, alertas, página, seções, agente — cada um com label, done e url absoluta do passo no painel).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive/closed-world, so the safety profile is covered. The description goes further, disclosing edge-case behavior: returning `null` when the account has no page, the meaning of `identityChosen: false`, and the shape of the `onboarding` entries — genuine behavioral context beyond the annotations.

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

Conciseness3/5

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

Every clause describes a returned field, so little is wasted, and the size is defensible given there is no output schema. However, it is delivered as a single dense run-on sentence with nested parentheses and semicolons, which hurts parseability.

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

Completeness4/5

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

With no output schema, the description must carry the return-value burden, and it does so thoroughly, covering plan, limits, intervals, status page and onboarding. Annotations handle the safety profile, so the definition is close to complete for a no-parameter read tool.

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?

The tool takes zero parameters, so per the baseline rule a 4 applies. There is nothing for the description to disambiguate on the input side.

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

Purpose4/5

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

States a specific verb ('Mostra') and resource (the account), and enumerates the concrete data returned — plan, monitor ceiling, check intervals, status page, onboarding. It is distinguishable from the monitor/channel/occurrence siblings, but it never explicitly names what it is NOT, so it falls short of true sibling differentiation.

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

Usage Guidelines3/5

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

No explicit when-to-use or when-not-to-use guidance is given; usage is only implied by the fact that this is the sole account-level tool. An agent can infer it should call this to inspect account state, but nothing in the text frames that context or points to an alternative.

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

ver_ocorrenciaVer ocorrênciaA
Read-onlyIdempotent
Inspect

Detalhe de uma ocorrência: os campos de listar_ocorrencias + linha_do_tempo (falhas, início, avisos por canal, volta, encerramento, publicação) com os mesmos textos do painel. Falhas individuais só existem enquanto o check cru está guardado (8 dias).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesid da ocorrência (campo `id` de listar_ocorrencias).

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered. The description adds real behavioral context beyond that: the timeline content, the guarantee that texts match the panel, and notably the retention limit ('falhas individuais só existem enquanto o check cru está guardado (8 dias)'), which warns the agent that failure detail can be absent for older occurrences.

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?

Two sentences, well front-loaded: first the payload scope and timeline components, then the retention caveat. 'Com os mesmos textos do painel' is slightly decorative but conveys UI-parity, so little is wasted.

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

Completeness4/5

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

With no output schema, the description must convey what comes back, and it does enumerate the timeline segments and state parity with the panel. Combined with a single required id and read-only annotations, an agent has enough to call it correctly; only the return format/ordering details are left unspecified.

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 coverage is 100% and the single id parameter is already documented in the schema as coming from listar_ocorrencias. The description adds no extra semantics about the id (format, retrieval path) beyond what the schema provides, so the baseline of 3 applies.

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

Purpose4/5

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

States clearly that it returns the detail of a single occurrence and that the payload equals the fields of listar_ocorrencias plus a timeline (falhas, início, avisos por canal, volta, encerramento, publicação). That implicit contrast with listar_ocorrencias lets an agent separate the two, though it is phrased as a noun ('Detalhe de...') rather than an explicit verb.

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

Usage Guidelines3/5

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

Usage is implied: it is the per-occurrence view, taking an id produced by listar_ocorrencias. There is no explicit when-to-use vs when-not statement and no named alternative beyond the implicit link to the listing tool. The 8-day retention note is a useful practical constraint but is not framed as routing guidance.

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

vincular_canalVincular canal a monitoresA
Idempotent
Inspect

Liga o canal a monitores: quando um deles cair ou voltar, o alerta sai por esse canal. monitorIds é uma lista de ids (de listar_monitores) ou "all" pra todos os monitores de hoje (monitor criado depois não entra sozinho). Soma aos vínculos que já existem; repetir não duplica. Devolve os monitores vinculados agora.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesid do canal (campo `id` de listar_canais).
monitorIdsYesLista de ids de monitor ou "all".

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare idempotentHint=true and destructiveHint=false, so the idempotency claim ('repetir não duplica') reinforces rather than adds. The genuinely new behavioral context is the "all" caveat ('monitor criado depois não entra sozinho') and the return value, which go beyond the annotations.

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?

Three tight sentences that front-load the purpose, then cover parameter semantics, mutation behavior, and return value. No filler, though the idempotency sentence partially restates the annotation hint.

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

Completeness4/5

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

Covers purpose, both parameters, the 'all' edge case, additive behavior, and the return value even though no output schema exists. An agent has enough to call this correctly.

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 baseline is 3, but the description adds real value: it explains the "all" sentinel's time-bounded semantics and the trailing-monitor caveat, which the schema's bare 'Lista de ids de monitor ou "all"' does not convey.

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+resource ('Liga o canal a monitores') and immediately clarifies the effect: alerts flow through this channel when a linked monitor goes down or recovers. This is clearly distinguishable from siblings like criar_canal, remover_canal, and testar_canal.

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

Usage Guidelines4/5

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

Explains how to supply monitorIds (ids from listar_monitores, or "all" for today's monitors) and notes the additive semantics ('Soma aos vínculos que já existem'). It does not explicitly state when not to use this tool or name an unlink alternative, but the usage context is clear.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 19 tool updates
    • First observedatualizar_monitor
    • First observedconfigurar_status_page
    • First observedcriar_canal
    • First observedcriar_monitor
    • First observedestruturar_pagina
    • First observedlistar_canais
    • First observedlistar_checks
    • First observedlistar_monitores
    • First observedlistar_ocorrencias
    • First observedpausar_monitor
    • First observedpublicar_ocorrencia
    • First observedremover_canal
    • First observedremover_monitor
    • First observedretomar_monitor
    • First observedstatus_monitor
    • First observedtestar_canal
    • First observedver_conta
    • First observedver_ocorrencia
    • First observedvincular_canal

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
    16
    24 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources