remote-ssh
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| REMOTE_SSH_TERMINAL | No | Terminal command used for interactive SSH authentication. The full SSH command is appended as the last argument. Example: 'gnome-terminal --window -- bash -lc'. | auto-detected |
| REMOTE_SSH_CONTROL_DIR | No | Directory for SSH ControlMaster sockets. Permissions are set to 0700. | ~/.cache/remote-ssh/control |
| REMOTE_SSH_TARGETS_FILE | No | Path to the targets configuration file. The --targets command-line argument takes precedence over this environment variable. | ~/.config/remote-ssh/targets.json |
| REMOTE_SSH_CONNECT_TIMEOUT_MS | No | Timeout in milliseconds for terminal authentication waiting. Valid range is 1000-150000 ms. | 150000 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| remote_ssh_targetsA | List/add/update/remove SSH targets or connect/disconnect/check a ControlMaster. add/update verify the remote root and may open a terminal for authentication. Changes apply to the next call. No passwords are accepted or stored. |
| readA | Read a UTF-8 text file and return line-numbered content. REMOTE: paths live on selected target (ssh target.ssh); reads run on the remote host. |
| writeA | Create or fully replace a UTF-8 text file. REMOTE: paths live on selected target (ssh target.ssh); the file is written on the remote host (parent directories are created). |
| editA | Edit an existing UTF-8 text file by replacing literal text. REMOTE: paths live on selected target (ssh target.ssh); the edit is applied on the remote host. Read the file first (the read-before-edit policy still applies by convention). |
| globA | Find files whose paths match a glob pattern. Returns matching file paths — never directories — in modification-time order, up to 100 paths. REMOTE: the search runs on selected target (ssh target.ssh); .git/node_modules directories are skipped. |
| grepA | Search file contents with a regular expression (POSIX ERE on the remote grep; ripgrep-only syntax like \p{...} is unsupported). Returns matching lines with line numbers, grouped by file, capped at 250 matches. REMOTE: the search runs on selected target (ssh target.ssh); binary files and .git are skipped. |
| bashA | Execute bash on the selected remote host. Each call starts a fresh shell. Commands have the SSH account permissions. Background jobs return a job_id; use job_output/job_kill with the same target. Remote Linux requires bash and python3. |
| job_outputA | Read a remote background job status and output. Reuse next_offset to paginate without duplicates. IDs survive MCP restarts. cleanup:true deletes a finished job after its last output chunk. |
| job_killA | Terminate a remote background job process group (TERM, then KILL after 3 seconds). Output remains available through job_output. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 9 tools
Every tool targets a distinct operation: file read/write/edit, path search (glob), content search (grep), shell execution, background job handling, and target management. The only multi-action tool is remote_ssh_targets, but no other tool overlaps with it, so misselection risk is low.
Names are all lowercase and multiword ones use snake_case, but there is no consistent verb_noun pattern: some are bare verbs (read, write, edit), some are nouns (glob, grep, bash), and others use noun_noun (job_output, job_kill) or a domain prefix (remote_ssh_targets). Readable but not predictable.
9 tools cover the domain's main surfaces—file I/O, search, shell execution, job control, and target management—without redundant entries. The count is well within the typical 3-15 range and each tool earns its place.
Core file operations (read/write/edit), search (glob/grep), and remote execution (bash, job output/kill) are present, but there is no dedicated delete or directory-listing tool. Since bash is available, agents can work around these gaps with shell commands, making it a minor rather than blocking omission.