Skip to main content
Glama
brynj-digital

laravel-forge-readonly-mcp

Get Command Output

get_command_output
Read-onlyIdempotent

Retrieve the output of a previously run Laravel Forge site command to inspect results, logs, or failures. Use server, site, and command IDs from list_site_commands.

Instructions

The output of a command previously run from a site's Commands panel. Get the command id from list_site_commands. NOTE: this replays whatever a human chose to run, so it is the tool most likely to contain deliberately-dumped secrets — credential-shaped text is scrubbed on a best-effort basis, but do not treat the result as sanitised.

Input Schema

NameRequiredDescriptionDefault
siteYesSite id from list_sites.
serverYesServer id the site is on.
commandYesCommand id from list_site_commands.
tail_linesNoReturn only the last N lines, where failures appear (default 200). Output is additionally capped by character count, so a very long single line cannot flood the response.
organizationNoOrganisation slug. Optional when the server has a default configured.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.3.0

TDQS

A4.1/5.0
Behavior5/5

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

Annotations only cover safety traits (readOnly, idempotent, open-world); the description goes well beyond that by warning that this replays whatever a human chose to run, that it is the most likely place for deliberately-dumped secrets, and that scrubbing is only best-effort. That sanitisation caveat is exactly the kind of context structured fields 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?

Three compact sentences; the identification of what is returned comes first and the security caveat is clearly flagged as a NOTE. Slightly fragmentary opening, but no sentence is padding.

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 burden of characterising the return value, and it does reasonably well by describing the content's provenance and its untrusted nature. It still omits anything about the response shape (plain text vs structured, multi-command aggregation), which is the remaining gap.

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

Parameters3/5

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

Schema description coverage is 100%, so site, server, command, tail_lines and organization are all already documented in the schema (including the tail_lines cap and organisation-slug fallback). The description only repeats the command-id provenance, adding no syntax or format detail of its own.

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 names a specific resource (the output of a command run from a site's Commands panel) and points at list_site_commands as the source of the id, which separates it from sibling list tools. It does not, however, differentiate itself from the other output-fetching siblings such as get_scheduled_job_output or get_background_process_log, which return similarly-shaped data.

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?

It gives a concrete prerequisite workflow ('Get the command id from list_site_commands') and scopes the tool to commands issued from the Commands panel, which is enough context to pick it correctly. It stops short of stating when NOT to use it or naming the alternative output tools explicitly.

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