Connect to a remote host via SSH. Returns a session_id for use with all
other tools. Supports password and key-based authentication.
List all active SSH sessions with their connection status and details.
Returns:
List of session info dicts.
Close an SSH session and release all its resources (shell, SFTP,
port forwards). WARNING: this kills any running processes in the session.
Execute a command on the remote host and return structured output.
Each call runs in an independent exec channel -- no state is shared
between calls (use ssh_shell_* tools for persistent state).
If secrets have been loaded via ssh_load_env_file, they are automatically
injected as environment variables for this command.
Execute a command with sudo on the remote host. If the user already
has passwordless sudo, leave sudo_password empty.
If secrets have been loaded via ssh_load_env_file, they are automatically
injected as environment variables for this command.
Create an SSH port forward (local -> remote). Connections to
127.0.0.1:local_port will be tunneled through SSH to remote_host:remote_port.
If local_port is 0, a random available port is chosen.
List all active port forwards for an SSH session.
Close a specific port forward.
Load environment variables from a LOCAL file (on the machine running
this MCP server) into the remote SSH session.
The file is read from the local filesystem -- it does NOT need to exist
on the remote host. Variable VALUES are never returned to the caller;
only variable names are confirmed.
Loaded values are:
1. Registered for automatic redaction -- any subsequent tool output
(ssh_execute, ssh_shell_send, ssh_shell_read, ssh_read_remote_file)
that contains a secret value will have it replaced with '***'.
2. Exported into the remote shell (if open) via builtins, avoiding
exposure in the process tree on the remote host.
Clear all loaded secrets from the redaction registry. Secrets will
no longer be redacted from tool output. Does NOT unset the environment
variables from the remote shell.
Upload a local file to the remote host via SFTP.
Download a file from the remote host to the local machine via SFTP.
+12 more tools listed on main page