Skip to main content
Glama

remote_execute

Destructive

Execute a single command on remote Linux or Windows hosts over short-lived SSH or WinRM connections, using a saved profile or an ad-hoc target.

Instructions

Execute one command using a short-lived SSH or WinRM connection.

connection may override a profile or fully describe an ad-hoc target, for example: {"protocol":"ssh","host":"server","username":"root","password":"..."}. For self-signed WinRM HTTPS use ssl=true and cert_validation=false. WinRM shell may be powershell or cmd. SSH executes through the remote user's shell.

Input Schema

NameRequiredDescriptionDefault
cwdNo
envNo
shellNoauto
commandYes
profileNo
timeoutNo
connectionNo
output_limitNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and openWorldHint=true, so safety is covered, and the description adds genuinely non-structured context: an ad-hoc target can be supplied instead of a profile, self-signed WinRM HTTPS requires ssl=true with cert_validation=false, WinRM shells may be powershell or cmd, and SSH runs through the remote user's shell. It still omits what happens on timeout expiry and whether output is truncated or lost.

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?

The core action plus mechanism is front-loaded in one sentence, followed by the connection example, which is the single most valuable detail given the opaque `connection` object. Some compression is possible in the SSL/WinRM sentences, and a trailing blank-line artefact exists, but overall it is tight.

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 described, and annotations cover the safety profile. Still, for a destructive, open-world execution tool with eight undocumented parameters, the description leaves timeout behavior, output truncation via output_limit, cwd/env application, and error semantics unaddressed.

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 0% across 8 parameters, so the description carries the burden and only partially meets it: it defines the shape of `connection` with a concrete JSON example, explains `shell` values for WinRM, and mentions `profile` as the fallback. It says nothing about cwd, env, timeout (default 300s), or output_limit, leaving four parameters undocumented in both schema and description.

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 mechanism: 'Execute one command using a short-lived SSH or WinRM connection.' The word 'short-lived' implicitly contrasts with the session-oriented siblings (remote_session_execute, remote_session_open), and 'one command' separates it from remote_run_script/remote_job_start. However, no sibling is named explicitly, so the agent must infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied by 'one command' and 'short-lived connection'; there is no explicit statement of when to prefer this over remote_run_program, remote_session_execute, or remote_job_start. The connection-vs-profile paragraph is operational guidance for a chosen path rather than tool-selection guidance. An agent can guess the intent but is not routed.

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