ssh_get_status
Check the status of SSH connections. Specify a connection ID to view its state or omit to list all active connections from the remote server management system.
Instructions
Get SSH connection status
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| connectionId | No | Connection ID (optional, shows all connections if not provided) |
Implementation Reference
- src/types.ts:50-57 (schema)The ConnectionStatus interface defines the shape of the status object returned by ssh_get_status, containing connectionId, serverId, status, connectedAt, lastActivity, and isBusy.
export interface ConnectionStatus { connectionId: string; serverId: string; status: 'connected' | 'disconnected'; connectedAt?: string; lastActivity?: string; isBusy: boolean; } - src/index.ts:106-119 (registration)Tool registration for ssh_get_status in the ListToolsRequestSchema handler, defining its name, description, and inputSchema (accepts optional connectionId).
{ name: 'ssh_get_status', description: 'Get SSH connection status', inputSchema: { type: 'object', properties: { connectionId: { type: 'string', description: 'Connection ID (optional, shows all connections if not provided)', }, }, required: [], }, }, - src/index.ts:377-400 (handler)The tool handler for ssh_get_status in the CallToolRequestSchema switch statement. If connectionId provided, calls sshManager.getStatus(); otherwise calls sshManager.getAllStatuses() and returns results as JSON.
case 'ssh_get_status': { const connectionId = args.connectionId as string | undefined; if (connectionId) { const status = sshManager.getStatus(connectionId); return { content: [ { type: 'text', text: JSON.stringify(status, null, 2), }, ], }; } else { const statuses = sshManager.getAllStatuses(); return { content: [ { type: 'text', text: JSON.stringify(statuses, null, 2), }, ], }; } } - src/ssh-manager.ts:249-261 (helper)SSHManager.getStatus() - returns status for a specific connection (by ID or last used). Returns ConnectionStatus object or null if not found.
getStatus(connectionId?: string): ConnectionStatus | null { const conn = this.getConnection(connectionId, false); if (!conn) {return null;} return { connectionId: conn.id, serverId: conn.serverId, status: 'connected', connectedAt: conn.connectedAt.toISOString(), lastActivity: conn.lastActivity.toISOString(), isBusy: conn.isBusy, }; } - src/ssh-manager.ts:267-276 (helper)SSHManager.getAllStatuses() - returns an array of ConnectionStatus for all active connections.
getAllStatuses(): ConnectionStatus[] { return Array.from(this.connections.values()).map(conn => ({ connectionId: conn.id, serverId: conn.serverId, status: 'connected', connectedAt: conn.connectedAt.toISOString(), lastActivity: conn.lastActivity.toISOString(), isBusy: conn.isBusy, })); }