Skip to main content
Glama
Echoqili

ssh-licco

by Echoqili

ssh_process

Start, stop, or check background processes and manage SSH tunnels on remote servers. Listing tasks and opening or closing local port forwards simplifies remote process and tunnel administration.

Instructions

Manage background processes and SSH tunnels on the remote server. Actions: start (launch a detached background process, returns PID), stop (stop a process by PID), status (check if a PID is running), list (list tracked background tasks), tunnel_open (local port forward to remote host:port), tunnel_close (close a tunnel), tunnel_list (list active tunnels).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pidNoProcess ID (stop/status).
hostNoSSH server hostname or IP. Alternative to session_id/name, can override hosts.json entry.
nameNoUse a pre-configured host from hosts.json by name. Alternative to session_id.
portNoSSH port (used with host).
actionYesProcess/tunnel action.
signalNoSignal to send on stop (TERM, KILL, INT, etc.).TERM
commandNoCommand to run (start).
task_idNoTask ID (stop/status, alternative to pid).
workdirNoWorking directory (start)./tmp
log_fileNoLog file path (start). Default /tmp/bg_<taskid>.log
passwordNoSSH password (used with host).
usernameNoSSH username (used with host).
local_portNoLocal listen port (tunnel_open).
session_idYesActive SSH session ID. If omitted, connects via name/host/env vars.
remote_hostNoRemote target host (tunnel_open).
remote_portNoRemote target port (tunnel_open).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.7.2

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are present, so the description must carry the full burden. It discloses that start launches a detached background process and returns a PID, and that stop uses a PID, but omits details on error handling, idempotency, side effects, authentication requirements, or whether actions are destructive. The behavior is partially transparent.

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 description is a single paragraph with the purpose front-loaded, followed by a concise action list. It is efficiently structured, though the list of actions could be slightly more compact without losing clarity.

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?

Given 16 parameters and 7 actions, the description covers the actions but does not specify which parameters are required for each action, nor does it clarify connection options (session_id vs host/name vs environment variables). No output schema exists, so return formats for actions like list, status, or tunnel_list remain undefined, leaving gaps for an agent to fill.

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

Parameters4/5

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

The schema covers 100% of parameters, but the description adds crucial meaning by mapping actions to their relevant parameters (e.g., start uses command, stop uses pid, tunnel_open uses local_port/remote_host/remote_port). This goes beyond the generic schema descriptions and aids correct invocation.

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

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it manages background processes and SSH tunnels on a remote server, enumerating seven specific actions. This distinguishes it from siblings like ssh_execute (likely foreground execution) and ssh_session (session lifecycle management).

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 implied by the action list but there is no explicit guidance on when to use this tool versus alternatives like ssh_execute for foreground commands or ssh_session for session management. No when-not-to-use conditions are given.

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