Skip to main content
Glama
votsie

ssh-mcp

by votsie

ssh_run

Execute commands on remote servers via SSH and wait for results. Run long tasks in the background to avoid timeouts, while capturing output to files for later review.

Instructions

Выполнить команду на сервере и дождаться результата.

Для всего, что длится дольше пары минут (apt upgrade, docker pull), берите background=true: команда отвяжется от сессии и переживёт её, а вывод уйдёт в файл. Увеличивать таймаут вместо этого — путь к зависшему вызову.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
checkNo
stdinNo
serverYes
commandYes
timeoutNo
backgroundNo
max_outputNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A3.6/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 of behavioral disclosure. It does disclose that the default behavior waits for the result, that background=true detaches the command and writes output to a file, and that larger timeouts are discouraged. However, it does not explain how exit codes, error output, or partial output are surfaced, nor what the result payload looks like.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two well-paced sentences, one for the core action and one for the most important usage rule. There is no filler, and the key decision guidance is placed right after the purpose, making it easy for an agent to consume quickly.

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?

For a 7-parameter tool with no annotations and no output schema, this description is not complete enough. It omits semantic details for check, stdin, and max_output, and it does not describe return shape or error behavior, so an agent is likely to call the tool with incorrect or under-informed arguments.

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?

The input schema has 0% description coverage, so the description must compensate for parameter meaning. It successfully explains background and timeout behaviors in depth and implies the meaning of server and command through the main sentence, but it omits meaningful guidance for check, stdin, and max_output, leaving their semantics ambiguous.

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 states the concrete action: "Выполнить команду на сервере и дождаться результата" (Run a command on the server and wait for the result). This clearly identifies the verb, resource, and behavior, and distinguishes it from interactive tools like ssh_shell_open and status tools like ssh_status, but it does not explicitly contrast it with the similar sibling ssh_run_many.

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?

The description offers explicit and practical guidance: for anything longer than a couple of minutes (apt upgrade, docker pull) use background=true, and assume that increasing timeout instead will lead to a hung call. This gives clear when-to-use context for the background parameter, though it does not mention when to prefer alternative tools such as ssh_shell_open or ssh_run_many.

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