Skip to main content
Glama
Cloady

Cloady

Official
by Cloady

Read Service Logs

readServiceLogs
Read-only

Retrieve the last 200 log lines from a Cloady service container, or follow live logs via server-sent events.

Instructions

Returns the last 200 log lines of one container as {container, state, logs}; state is no-pod when nothing is running. serviceName is a compose service, or clone / build for an in-flight deploy's init steps. Sending Accept: text/event-stream instead follows the log live as server-sent events, one bare data: frame per line, which never completes on its own.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
envNo
regionNo
appSlugYes
serviceNameYes
workspaceSlugYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.5.1

TDQS

A4.7/5.0
Behavior5/5

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

The description discloses non-obvious behavior: the 'no-pod' state, the non-completing nature of the streaming variant, and the fact that it reads logs from one container. Combined with readOnlyHint and destructiveHint=false, the agent fully understands side effects and edge cases.

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 description is compact but dense, using three sentences to convey purpose, output shape, state handling, special serviceName values, and streaming behavior. No unnecessary words or repetition.

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?

Despite the absence of an output schema, the description covers the return format, container scope, state behavior, special serviceName values, and the streaming alternative. It provides enough context for an agent to use the tool correctly without additional lookups.

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?

The description provides meaningful semantics for serviceName, but leaves env and region unexplained. Since the schema has no per-parameter descriptions, the tool description only partially compensates, covering one of five parameters. The remaining ones are inferred from enums or naming, but not explicitly described.

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 clearly states the tool reads and returns the last 200 log lines of a single container, with an explicit output shape. It also distinguishes itself from streaming via Accept header and clarifies special serviceName values, making its purpose unambiguous relative to 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?

It provides concrete guidance on when to use the default behavior (fetch last 200 lines) vs. streaming with Accept: text/event-stream, and explains special serviceName values for in-flight deploy init steps. This gives the agent clear decision criteria.

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