ssh-mcp
MCP gateway for controlled SSH access with per-client auth, command policies, and audit logging.
Connector by gelse · GitHub account verified by the MCP Registry
Install
Pick your client. Read the repository before you give any tool access to your data.
No install instructions from the source yet. Check the repository for setup steps.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.
- Tools
- 4 read · 0 write · 2 delete
- Secrets
- None asked for
- Install scripts
- Not scanned yet
- Runs as
- Docker image
Tools by what they do 6
Read from the source code; the running server may list different tools.
Read 4 · Look things up without changing anything.
ssh_check_connectionssh_download_filessh_list_allowed_commandsssh_list_servers
Delete 2 · Delete, drop, revoke or wipe things.
ssh_execute_commandssh_upload_file
Tools (6)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
ssh_check_connectionread-onlyCheck SSH connectivity to a remote server. Executes the target's configured checkcommand (default: 'echo ping') to verify that SSH authentication and connectivity work. This is a lightweight diagnostic tool — it does NOT go through the full authorization chain for the checkcommand itself, but it DOES require the target to exist and the SSH credentials to be valid. Args: server_name: The identifier of the SSH server (as configured) timeout: Connection and command timeout in seconds (1-30) Returns: JSON with success, output, error, exit_code, and checkcommand
ssh_download_fileread-onlyDownload a file from a remote SSH server. Requires authorization equivalent to executing ``cat <remote_path>``. The authorization chain is: block_patterns -> default -> API key -> network -> deny. Args: server_name: The identifier of the SSH server (as configured) remote_path: Absolute path to the file on the remote server Returns: File contents as a string, or auth denial reason
ssh_execute_commandcan change or delete dataExecute a command on a remote SSH server. The command is validated against the layered authorization chain: block_patterns -> default -> API key -> network -> deny. When sudo=True, the command is wrapped with ``sudo -S -p ''`` (if the target has a password) or ``sudo -n`` (for passwordless sudo). The authorization check runs against the **unwrapped** command, not sudo. Raw ``'sudo'`` in the command string is always blocked by block_patterns. Additionally, with sudo=True the matched rule's ``sudo_allowed`` list must contain the command (or the ``"*"`` wildcard) for the command to be permit…
ssh_list_allowed_commandsread-onlyList all commands the current client is allowed to execute on a given server. Considers all applicable layers: default rules, API key rules, and network rules. Returns a sorted, deduplicated list of allowed command base names. If the wildcard ``"*"`` is allowed via any layer, returns just ``"*"``. Does NOT check block_patterns — block patterns may further restrict commands at execution time. Args: server_name: The identifier of the SSH server (as configured) Returns: JSON-formatted list of allowed command base names, or error message
ssh_list_serversread-onlyList all available SSH target servers. Returns JSON with server IDs and their connection details (without secrets).
ssh_upload_filecan change or delete dataUpload a file to a remote SSH server. Requires authorization equivalent to executing ``tee <remote_path>``. The authorization chain is: block_patterns -> default -> API key -> network -> deny. Args: server_name: The identifier of the SSH server (as configured) remote_path: Absolute path to write the file to on the remote server content: The file contents to write permissions: File permissions as an octal string (e.g. ``"0644"``) Returns: Success message or auth denial reason
Signals
- Stars
- 8
- Forks
- 0
- Open issues
- 12
- Last commit
- Sep 14, 2026 (1 month ago)
- Last release
- Sep 14, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- Registry name
io.github.gelse/ssh-mcp- Version
- 0.3.0
- Auth
- API key
- Packages
- oci
ghcr.io/gelse/ssh-mcp:0.3.0 - License
- MIT
- Repository
- github.com/gelse/ssh-mcp
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
Cite this page
ssh-mcp. Agent Mart. https://agentmart.dev/connectors/gelse-ssh-mcp (last updated 2026-10-24)