Skip to main content
Glama

system_run_command

Executes shell commands on the host when explicitly enabled via MCP_ENABLE_SHELL=true, with an optional timeout. Use cautiously for local automation and system tasks.

Instructions

Execute a shell command on the host. DISABLED unless the server was started with MCP_ENABLE_SHELL=true. Use with extreme caution.

Input Schema

NameRequiredDescriptionDefault
commandYes
timeoutNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose two important behavioral facts: the tool is disabled unless MCP_ENABLE_SHELL=true, and it is dangerous to use. Missing are the working directory, the shell interpreter, whether execution is blocking, what the timeout applies to, and whether output is captured or streamed. The precondition disclosure is real value that annotations do not 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?

Three short sentences with the core action front-loaded and the availability gate placed before the warning. "Use with extreme caution" is generic and could have been made concrete, but nothing is wasteful.

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

Completeness3/5

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

An output schema exists, so return values need not be explained, and the gating condition is covered. However, for an arbitrary-code-execution tool with a completely undocumented parameter set, the description leaves too much for an agent to infer before calling it safely.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for both parameters and does not. `command` is only implied by the verb, and `timeout` is entirely unexplained — its unit, default of 10, and whether it kills the process or just the wait are left to guesswork.

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: 'Execute a shell command on the host.' No sibling tool does this, so it is distinguishable from the analysis/files/system-info tools by resource alone, though the description never explicitly contrasts with them. The gating sentence reinforces that this is a raw execution primitive.

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?

"Use with extreme caution" signals risk but gives no when-to-use, when-not-to-use, or alternative guidance. The only concrete routing signal is a hard availability gate (MCP_ENABLE_SHELL), not a choice between tools. An agent knows the tool exists but not when it should be preferred over, say, files_read_file or analysis_math_eval.

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