ssh_conn_connect
Connect to a pre-configured SSH host by user@hostname or alias; returns system info, OS type, and capability warnings.
Instructions
Establish an SSH connection using a pre-configured host. The host can be specified by its 'user@hostname' key or by its alias.
Beyond the three fully-supported platforms (Linux, macOS, Windows), any
other SSH target that responds to a basic shell command connects too,
reported as os_type='flex' (e.g. FreeBSD/OPNsense/pfSense-style routers,
or other unrecognized POSIX kernels). For 'linux' and 'flex' connections,
a one-time capability probe checks the specific shell/coreutils features
this server depends on (some embedded/BusyBox-based devices lack GNU
extensions like find -printf or tar --strip-components) - the result
is returned as 'capabilities' (raw probe results) and, if anything's
missing, 'capability_warnings' (plain-English gaps). Tools that need a
missing capability fail with a clear error naming what's missing, rather
than a cryptic remote command failure - nothing is silently degraded.
Returns:
Dictionary with connection status and detailed system information.
'capabilities'/'capability_warnings' are included for 'linux'/'flex'
connections only (empty/omitted for macOS/Windows, which are already
fully supported and not probed).
Two different "os_version" fields: connection.os_version is a short
platform/distro identifier used internally (e.g. 'debian', 'centos',
'windows_server_2016', or 'unknown_linux'/'unknown_windows' if not recognized;
None on macOS), while system.os_version is the human-readable version string
reported by the OS itself (e.g. '12 (bookworm)', '14.8.9').
Long-running calls: if this takes longer than the server's wait cap (default 50s), it
returns {"status": "in_progress", "handle_id": ...} instead of the result - the work keeps
running. Get the result by polling ssh_cmd_check_status(handle_id=...), which returns this
tool's normal response once finished. Do not call it again meanwhile. Only one such
operation runs at a time; another one started meanwhile fails with a 'busy' error.Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| host_name | Yes | The 'user@hostname' identifier or alias of a pre-configured host |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||