Skip to main content
Glama

Read logs

logs
Read-onlyIdempotent

Read a log by name for a time window, with repeated messages counted once: how many different errors there are, how often each happened, when first and last, a sample of each (with the top of its stack trace) and the latest lines. Suited to finding what went wrong in a long log. log is one of: web-error (nginx and Apache error logs, each site's own included), php (PHP and PHP-FPM, and error_log files next to the code), site (the site's own application log, whatever kind it is: Shopware and PrestaShop var/log, Laravel storage/logs, Joomla and OpenCart logs), magento (exception.log and system.log of the site, plus how many error pages visitors saw), wordpress (wp-content/debug.log), database (MySQL/MariaDB error log), system (warnings and errors in the journal), mail, auth (logins). Or give path for any other log file. match keeps only entries holding that text.

Input Schema

NameRequiredDescriptionDefault
logNo
pathNoAbsolute path of a log file, instead of log.
siteNoSite root folder, like /var/www/shop, or one of the site's domains. Optional when the server has one site (see list_sites).
hoursNoHow far back. Default 24, up to 168.
matchNoOnly entries containing this text (not case-sensitive).
serverNoServer name or id. Optional when the account has one server.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint/idempotentHint/destructiveHint=false, so the safety profile is covered. The description goes further by disclosing the aggregation behavior — repeated messages counted once, sample capped with the top of its stack trace, plus latest lines — which is meaningful behavioral detail beyond the annotations. It stops short of describing auth requirements or persistence.

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 core purpose and output semantics before the long enum catalogue, and nearly every clause carries information. The enumeration paragraph is dense but justified given nine log sources; it reads as a long run-on but wastes little.

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?

No output schema exists, so the description appropriately spends effort describing the return shape (grouped/deduplicated entries, samples, latest lines). Combined with the parameter coverage and optional server/site fallbacks noted in the schema, an agent has enough to call it correctly; only auth/permission context 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?

With schema coverage at 83%, the schema already documents path/site/hours/match/server. The description nonetheless adds real value: it explains each `log` enum value individually (the one schema field lacking a description) and clarifies `path` as an alternative to `log` and `match` as a case-insensitive text filter.

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 ('Read a log by name for a time window') and then defines the output shape precisely (deduplicated error counts, first/last occurrence, sample with stack trace, latest lines). The enumeration of every `log` enum value with what each actually reads (nginx/Apache, PHP-FPM, Shopware/Laravel logs, etc.) makes it unmistakable against siblings.

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?

'Suited to finding what went wrong in a long log' gives a clear use context, and the log-type breakdown implicitly guides selection of which source to target. However, it never names an alternative tool (e.g. log_work) or states when not to use this, so the routing guidance stops short of explicit alternatives.

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