Hosts and Actions

Infra SSH is host-aware and action-driven.

Host Inventory

Each host entry carries enough metadata that agents do not need to guess capabilities.

FieldMeaning
hostIdstable logical host name
displayNameoperator-facing label
rolefunctional role in the estate
reachablecurrent connectivity state
supportsDockerwhether Docker actions make sense
supportsSystemdwhether system service actions make sense
supportsSudowhether privileged escalation is available
preferredRootsallowed working roots and safe file anchors
notesoperator hints

Action Model

Each action declares:

  • id
  • description
  • category
  • riskLevel
  • allowedHosts
  • requiresApproval
  • typed input schema
  • rendered command or executor

Why Named Actions

Named actions are the core safety boundary.

They let the platform expose:

  • system health checks
  • Docker inspections
  • client-specific service checks (e.g. "is the TessarAct API up?")
  • platform-specific host actions

without exposing:

  • raw shell execution
  • arbitrary sudo
  • arbitrary docker
  • arbitrary interpreter access

Current Tool Family

The built-in MCP family is:

  • infra_ssh_list_hosts
  • infra_ssh_list_actions
  • infra_ssh_run_action
  • infra_ssh_get_admin_session
  • infra_ssh_begin_admin_session
  • infra_ssh_end_admin_session
  • infra_ssh_list_files
  • infra_ssh_download_file
  • infra_ssh_upload_file
  • infra_ssh_delete_file
  • infra_ssh_list_forward_services
  • infra_ssh_open_forward
  • infra_ssh_close_forward