Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SSH_MCP_CONFIG | No | Custom path to the servers.toml configuration file. If not provided, the server defaults to ~/.config/ssh-mcp/servers.toml. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_servers | List all configured SSH servers with their groups and descriptions. Args: group: Optional group name to filter by. Shows all servers if omitted. Use list_groups to see available group names. Returns: Formatted table of servers with name, groups, and description. |
| list_groups | List all server groups with descriptions and member counts. Returns: Formatted table of groups with name, description, and server count. |
| execute | Execute a shell command on a single SSH server. Args: server: Server name (e.g. 'pro-dicentra', 'inf-ai'). Must match a configured server. Use list_servers to see available servers. command: Shell command to execute on the remote server. timeout: Command timeout in seconds. Default 30. working_dir: Remote directory to execute from. Uses server default if omitted. force: Bypass dangerous command detection. Use with extreme caution. Default false. Returns: Formatted command execution result with stdout, stderr, and exit code. |
| execute_on_group | Execute a shell command on all servers in a group (parallel execution). Args: group: Group name (e.g. 'dicentra-prod', 'infra'). Use list_groups to see available groups. command: Shell command to execute on all servers in the group. timeout: Per-server command timeout in seconds. Default 30. working_dir: Remote directory to execute from on each server. fail_fast: If true, stop on first failure. Default false (run all). Returns: Formatted summary of results from all servers in the group. |
| upload_file | Upload a file to a remote server via SFTP. Args: server: Server name (e.g. 'pro-dicentra'). local_path: Absolute path to local file. remote_path: Absolute destination path on remote server. Returns: Confirmation message with file size. |
| download_file | Download a file from a remote server via SFTP. Args: server: Server name (e.g. 'pro-dicentra'). remote_path: Absolute path to remote file. local_path: Absolute local destination path. Returns: Confirmation message with file size. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |