SSH Fleet

io.github.inhuman由 GitHub 帳號 inhuman 發布v0.1.5更新於 Oct 24, 2026

Curated ssh_probe diagnostics and single-host ssh_exec over an allowlisted SSH fleet.

概覽

AI 產生的概覽

讓助理在允許清單內的 SSH 主機群上執行預設的唯讀診斷,並在單一清單主機上執行一條任意命令。

可以做什麼
提供兩個 SSH 工具。ssh_probe(tags, check) 會在帶有指定標籤的所有主機上執行內建唯讀檢查(uptime、disk、mem、failed、logs),標籤為 AND 語意,無法傳入任意命令。ssh_exec(host, command) 會在單一清單主機上執行一條任意非互動命令,清單外的主機會被拒絕。輸出依主機分段並設有上限,具備每主機逾時與 TOFU 主機金鑰檢查,指紋會寫入日誌。
適用情境
適合助理需要對多台帶標籤主機做例行健康檢查,或在已知主機上執行單一指定命令,而不必取得通用 SSH shell 的情境。唯讀探測可較寬鬆地授權,ssh_exec 則適合更嚴格管控的使用。
執行需求
以 stdio 本機程序執行,通常使用 Docker 映像 ghcr.io/inhuman/mcp-ssh-fleet。需要掛載清單檔案(SSH_FLEET_INVENTORY_PATH)與 SSH 私鑰(SSH_FLEET_KEY_PATH)。可選設定包括 SSH_FLEET_TRANSPORT、SSH_FLEET_CMD_TIMEOUT_SECONDS、SSH_FLEET_OUTPUT_CAP_BYTES、SSH_FLEET_PROBE_CONCURRENCY 與 SSH_FLEET_PROBE_MAX_HOSTS。需要能連線目標主機的網路。
安裝前請注意
ssh_exec 會在清單主機上執行任意命令,屬於 write-external;伺服器不負責審批或 RBAC,存取控管須在 MCP 用戶端完成。SSH 私鑰從 SSH_FLEET_KEY_PATH 讀取,應以唯讀方式掛載。SSH_FLEET_AUTH_TOKEN 是僅供 http/sse 傳輸使用的可選 bearer 權杖。主機金鑰驗證為 TOFU,首次連線不會預先固定。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 SSH Fleet,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

mcp-ssh-fleet

English | Русский

[Version] [MCP Registry] [Container] [Build] [Go Version] [Go Report Card] [License: MIT] [Issues] [Last Commit]

MCP server that gives an agent two tools over SSH to a fleet of hosts outside Kubernetes. The SSH key is a mounted secret (never enters model context); the inventory is a fail-closed allowlist.

Tools

  • ssh_probe(tags, check) — curated read-only diagnostics on every host carrying the given tags (AND semantics, like GitLab runner tags). check is one of a built-in set: uptime, disk, mem, failed, logs. Arbitrary commands cannot be passed. Class: read-only.
  • ssh_exec(host, command) — one arbitrary non-interactive command on ONE inventory host (by name or address; hosts outside the inventory are refused). Class: write-external: the server executes the command, while access gating (approval/RBAC) belongs to the MCP client.

Both: output size cap, per-host timeout, TOFU host-key check (fingerprint in logs), output as one section per host.

Configuration (env)

VariableDefaultMeaning
SSH_FLEET_TRANSPORThttphttp (StreamableHTTP, endpoint /mcp) | sse | stdio
SSH_FLEET_ADDR:8080listen address for http/sse
SSH_FLEET_AUTH_TOKEN—optional X-MCP-AUTH token
SSH_FLEET_INVENTORY_PATH/etc/ssh-fleet/inventory.yamlpath to the inventory (configmap)
SSH_FLEET_KEY_PATH/etc/ssh-fleet/id_ed25519path to the private key (secret)
SSH_FLEET_OUTPUT_CAP_BYTES8192output cap per section
SSH_FLEET_CMD_TIMEOUT_SECONDS20per-host timeout
SSH_FLEET_PROBE_CONCURRENCY8probe parallelism pool
SSH_FLEET_PROBE_MAX_HOSTS50safety cap on hosts per probe

Inventory format — see deploy/inventory.example.yaml.

Quickstart (docker, stdio)

sh
docker run -i --rm \  -v /path/to/inventory.yaml:/etc/ssh-fleet/inventory.yaml:ro \  -v /path/to/id_ed25519:/etc/ssh-fleet/id_ed25519:ro \  -e SSH_FLEET_TRANSPORT=stdio \  ghcr.io/inhuman/mcp-ssh-fleet:latest

This is the shape MCP clients use when installing from the MCP Registry (io.github.inhuman/mcp-ssh-fleet).

Connecting an MCP client (http/sse)

By default the server speaks StreamableHTTP; register it as a regular HTTP MCP server with endpoint /mcp (URL like http://<host>:8080/mcp). Both tools become available to the client.

Client-side security recommendations:

  • ssh_probe is read-only (curated checks only) and can be granted broadly.
  • ssh_exec is arbitrary execution (write-external). Gate its access on the client side (approval / RBAC / user allowlist) — the server merely executes a command on an inventory host; it does not decide access policy.

Development

sh
make test        # unit tests + e2e against a real in-process SSH servermake vetmake vulncheckmake buildmake docker

Release: tag vX.Y.Z → GitHub Actions builds and publishes a multi-arch image to ghcr.io/inhuman/mcp-ssh-fleet.

來源:README.md,提交 4536421

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.5最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分