Skip to main content
Glama
InfraMCP
by InfraMCP

ssh_execute_ssh

Runs shell commands on a remote Linux host over SSH, enabling AI assistants to inspect systems, automate maintenance, and retrieve command output.

Instructions

Execute command on remote Linux host via SSH

Input Schema

NameRequiredDescriptionDefault
commandYes
hostnameYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations, the description carries the full burden, yet it says nothing about authentication requirements, timeouts, exit-code handling, or the fact that this is an arbitrary-command tool with unbounded side effects on the remote host (and a sudo variant exists for privileged work). A single sentence covering only the transport is thin for a mutation-capable tool.

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?

One short, front-loaded sentence with no filler. The issue is underspecification rather than verbosity, so conciseness itself is good.

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

Completeness2/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, but for an SSH execution tool the missing pieces are significant: credential setup expectations, sudo variant relationship, and error/exit behavior. The description leaves the agent without enough context to call this safely alongside a large sibling set.

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. It only implies that 'command' is a shell command and 'hostname' identifies the target; it does not specify format (e.g., IP vs FQDN, port/user handling) or shell semantics, leaving required parameters undocumented in both places.

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

Purpose3/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 (execute a command on a remote Linux host over SSH), which is clear on its own. However, with many near-identical siblings (execute_ssh, ssh_execute_sudo, execute_sudo, ssh_puppet_noop), the description does nothing to distinguish this tool from them, leaving the agent to guess which entry point to pick.

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 guidance on when to use this tool versus ssh_execute_sudo or execute_ssh, nor any mention of prerequisites such as credentials first having to be established via ssh_setup_credentials. Usage must be inferred entirely from the name.

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