Hostpanel

io.github.CloudCorpRecords由 GitHub 帳號 CloudCorpRecords 發布v0.1.0更新於 Nov 3, 2026

通過兩個操作路由工具執行主機、Docker、Compose、SSH、日誌和 ZFS 操作。

AI 翻譯由 AI 模型根據下方的原文描述翻譯,可能有誤。

原文描述

Host, Docker, Compose, SSH, logs and ZFS operations via two action-router tools.

已驗證STDIO僅桌面雲端與基礎設施

概覽

Hostpanel 的本機 MCP 服務;無需登入;STDIO。

暫無 AI 概覽:以下資訊來自註冊中心條目和服務本身。

安裝

在 SourceWeft 中

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

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

其他 MCP 客戶端

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

README

hostpanel

hostpanel looks after a single host: Docker daemon and container state, Compose projects, basic host information, file search, ZFS pools, and journal logs. It exposes all of that through two action-router tools, flux and scout, and the same two routers on the command line. One binary serves both faces.

This is a labelled core subset of a larger documented surface. The implemented actions are listed below; every other documented action is omitted from this subset and is named in the build report and in the spec fixture, not silently dropped.

Only the local host is served. A host parameter, when supplied, must be local; remote SSH targets are not part of this subset. Processes are started with an argument array only — no command string ever goes through a shell.

Install

bash
npx @reneturcios/hostpanel help

Or run the container image:

bash
docker run -i ghcr.io/cloudcorprecords/hostpanel

The container defaults to the MCP server (see below). Pass CLI arguments to use it as a CLI instead, and mount the Docker socket if you want the flux actions to reach a real daemon.

CLI

bash
hostpanel flux docker infohostpanel flux docker versionhostpanel flux container list --params '{"state":"running"}'hostpanel flux container inspect --params '{"container_id":"abc123"}'hostpanel flux host infohostpanel flux compose list
hostpanel scout nodeshostpanel scout exec --params '{"command":"hostname"}'hostpanel scout exec --params '{"command":"cat","args":["/etc/hostname"]}'hostpanel scout find --params '{"path":"/srv","pattern":"*.log","limit":20}'hostpanel scout zfs poolshostpanel scout logs journal --params '{"unit":"docker","lines":50}'
hostpanel helphostpanel --version

Successful calls print a JSON object with the argv that ran and its captured stdout, stderr, and exitCode; nodes and the help actions print their local answers directly. Exit codes: 0 on success, 1 when a call fails (including a refused command or a non-zero child exit), 2 for usage errors.

MCP server

bash
npx -y @reneturcios/hostpanel mcp

MCP client configuration:

json
{  "mcpServers": {    "hostpanel": {      "command": "npx",      "args": ["-y", "@reneturcios/hostpanel", "mcp"]    }  }}

Tools

Both tools take a required action, an optional subaction, and an optional params object. Parameter names inside params follow the original per-action tables (host, container_id, state, name_filter, image_filter, label_filter, path, pattern, depth, limit, command, args, pool, lines, unit, priority, since, until, grep).

ToolActionSubactionWhat it does
fluxdockerinfoDocker daemon information (docker info).
fluxdockerversionDocker version (docker version).
fluxcontainerlistList containers (docker ps), with optional state/name/image/label filters.
fluxcontainerinspectInspect one container (docker inspect); requires container_id.
fluxhostinfoOS, kernel, and architecture (uname -a).
fluxcomposelistList Compose projects (docker compose ls).
fluxhelp—The flux action reference, answered locally.
scoutnodes—The configured hosts: just local in this subset.
scoutexec—Run one allowlisted read command; requires command, optional args.
scoutfind—Find files by glob (find <path> -name <pattern>); requires path and pattern.
scoutzfspoolsList ZFS pools (zpool list), optional pool filter.
scoutlogsjournalRead the systemd journal (journalctl), with optional lines/unit/priority/since/until/grep.
scouthelp—The scout action reference, answered locally.

The exec allowlist

scout exec runs read-only inspection commands only. The full allowlist is 18 commands: cat, head, tail, grep, rg, ls, tree, wc, uniq, diff, stat, file, du, df, pwd, hostname, uptime, and whoami. Anything else — including git, shells, interpreters, and mutating tools — is refused before any process starts. The command must be a single name; arguments travel separately in the args array and are passed as argv, never interpolated into a shell string.

Development

bash
npm installnpm run build   # tsc -> dist/npm test        # node test runner over test/*.test.ts, fake executor onlynpm run dev     # run the CLI from source via tsx

Tests inject a fake executor, so the suite records the argv each action would run and proves refused commands never reach the executor. No Docker daemon, ZFS pool, or journal is needed — and no live host result is claimed by the test suite.

License

MIT — see LICENSE.

來源:README.md,提交 106a841

工具

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

版本歷史

1
  1. v0.1.0最新Nov 3, 2026

評分

已滿足適用檢查項的 50%

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

  • 近 30 天內可連通25 分

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

  • 已宣告認證方式10 分

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

  • 已列出工具15 分

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

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