mcp-ssh-multi
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_PORT | No | HTTP server port | 8086 |
| LOG_LEVEL | No | Logging level | INFO |
| SSH_TIMEOUT | No | Default command timeout (seconds) | 30 |
| MCP_SECRET_PATH | No | HTTP endpoint path (use a secret value) | /mcp |
| SSH_SERVERS_FILE | No | Path to servers config | ssh_servers.yaml |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ssh_list_serversA | List all configured SSH servers with connection status. Returns server names, hosts, usernames, descriptions, and whether each server currently has an active connection. EXAMPLES:
|
| ssh_disconnectA | Disconnect from a specific SSH server. Closes the active SSH connection to the named server. The connection will be re-established automatically on next command. EXAMPLES:
|
| ssh_executeA | Execute a command on a remote SSH server. Runs the given shell command on the specified server and returns stdout, stderr, and exit code. Connections are established automatically and reused. EXAMPLES:
|
| ssh_uploadA | Upload a local file to a remote server via SFTP. Use this tool (NOT scp via ssh_execute) to transfer files FROM the local machine TO a remote SSH server. For server-to-server transfers, download from source first, then upload to destination. |
| ssh_downloadA | Download a file from a remote server to the local machine via SFTP. Use this tool (NOT scp via ssh_execute) to transfer files FROM a remote SSH server TO the local machine. |
| ssh_file_existsA | Check if a file or directory exists on a remote server. Returns existence status, type (file/directory), size, and permissions. EXAMPLES:
|
| ssh_list_dirA | List contents of a remote directory. Returns file names, types, sizes, and permissions. Supports pagination with limit/offset for large directories. EXAMPLES:
|
| ssh_read_fileA | Read a text file from a remote server. Returns the file contents as a string. For binary or large files, use ssh_download instead. EXAMPLES:
|
| ssh_write_fileA | Write content to a file on a remote server. Creates or overwrites the file with the given content. EXAMPLES:
|
| ssh_tail_logA | Tail a log file on a remote server. Returns the last N lines of the specified log file. EXAMPLES:
|
| ssh_process_listA | List running processes on a remote server. Returns process list sorted by CPU usage. Optionally filter by name. EXAMPLES:
|
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| get_servers_resource | List of configured SSH servers and their details. |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/gilberth/mcp-ssh-multi'
If you have feedback or need assistance with the MCP directory API, please join our Discord server