Mcp Remote Ssh
About
MCP server giving AI agents full SSH access with secret-safe environment variable injection. Supports persistent sessions, structured command execution, SFTP file transfer, port forwarding, and automatic output redaction that prevents secrets from reaching the LLM.
Details
- Author
- faizbawa
- Downloads
- 285
- Categories
- Developer Tools, Infrastructure, AI, Security
Jump to
- Secret-safe environment variable injection
- Persistent SSH sessions
- Structured command execution
- SFTP file transfer
- Port forwarding
- Automatic output redaction
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Mcp Remote SshCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
—
ssh_connect
Connect to a remote host via SSH. Returns a session_id for use with all other tools. Supports password and key-based authentication.
ssh_list_sessions
List all active SSH sessions with their connection status and details. Returns: List of session info dicts.
ssh_close_session
Close an SSH session and release all its resources (shell, SFTP, port forwards). WARNING: this kills any running processes in the session.
ssh_execute
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.
ssh_sudo_execute
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.
ssh_forward_port
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.
ssh_list_forwards
List all active port forwards for an SSH session.
ssh_close_forward
Close a specific port forward.
ssh_load_env_file
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.
ssh_clear_secrets
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.
ssh_upload_file
Upload a local file to the remote host via SFTP.
ssh_download_file
Download a file from the remote host to the local machine via SFTP.
ssh_read_remote_file
Read a text file on the remote host and return its contents. For large files, use max_bytes to limit the amount read.
ssh_write_remote_file
Write text content to a file on the remote host via SFTP.
ssh_list_remote_dir
List files and directories at a path on the remote host via SFTP.
ssh_shell_open
Open a persistent interactive shell on the SSH session. The shell preserves working directory, environment variables, and running processes across multiple send/read calls. Ideal for screen/tmux, long builds, etc. If a shell is already open, this is a no-op (returns existing shell info). If secrets have been loaded via ssh_load_env_file, they are automatically injected into the new shell.
ssh_shell_send
Send text to the interactive shell. By default appends Enter (newline) and waits briefly to capture output.
ssh_shell_read
Read the current content of the interactive shell buffer. Use this to poll for output from long-running commands without sending anything.
ssh_shell_send_control
Send a control character to the interactive shell. Common keys: "c" for Ctrl+C (interrupt), "d" for Ctrl+D (EOF), "z" for Ctrl+Z (suspend), "l" for Ctrl+L (clear screen), "a" for Ctrl+A (screen prefix).
ssh_shell_wait
Wait for the shell output to contain a specific pattern, or for the output to stabilize (no new output for two poll intervals). Useful for waiting on long-running commands to complete.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"mcp remote ssh": {
"remote-ssh": {
"command": "uvx",
"args": [
"mcp-remote-ssh"
]
}
}
}
}
McpServers
{
"remote-ssh": {
"command": "uvx",
"args": [
"mcp-remote-ssh"
]
}
}
MCP server giving AI agents full SSH access with secret-safe environment variable injection. Supports persistent sessions, structured command execution, SFTP file transfer, port forwarding, and automatic output redaction that prevents secrets from reaching the LLM.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.




