Fleetwatch

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

Read-only fleet visibility: endpoint agents, health samples, alerts and org summaries.

概覽

AI 產生的概覽

連接 ET Ducky 託管 MCP 伺服器的唯讀橋接工具,讓助理列出端點代理、檢視健康狀態、瀏覽告警並彙總組織的端點機群。

可以做什麼
  • 依主機名稱、作業系統、上線狀態與標籤列出並篩選端點代理
  • 檢視單一代理的最新健康取樣與作用中告警數量
  • 依狀態、嚴重程度、代理與時間範圍檢視告警
  • 取得組織層級統計:代理數量、系統分布、隔離狀態與各嚴重程度的告警數
適用情境
適合需要讓助理回答 Windows/Linux 端點機群相關問題的情境,例如哪些機器上線、健康狀況如何、有哪些未處理告警,同時不授予任何寫入權限。
執行需求
透過 npx(需 Node.js)或 Docker 映像以 stdio 在本機執行。可選設定 ETDUCKY_MCP_URL 覆寫上游位址(預設指向 ET Ducky 託管伺服器),設定 ETDUCKY_API_KEY 後會向上游送出 Bearer 權杖;未設定時不送出驗證標頭。需要能連線至上游的網路。
安裝前請注意
所有請求都會送往第三方 ET Ducky 託管端點,包含主機名稱、最後登入使用者與健康資料。ETDUCKY_API_KEY 會以 Bearer 權杖送往 ETDUCKY_MCP_URL 所指的位址,因此只應將該位址改為可信任的端點。介面為唯讀,但上游錯誤文字會原樣回傳。

安裝

在 SourceWeft 中

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

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

其他 MCP 客戶端

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

README

fleetwatch

fleetwatch is a small local bridge to ET Ducky's hosted MCP server, which watches over an organisation's fleet of endpoint agents — the Windows and Linux machines running the ET Ducky agent — and reports who is online, how each machine's health looks, and which alerts are open.

The bridge keeps no fleet data and runs no checks of its own. It serves the upstream server's tool list locally, exactly as captured from the live endpoint, and forwards each tool call upstream, returning the result untouched. The whole captured surface is read-only: this rebuild adds no write capability.

Tools

  • list_agents — enumerate the organisation's agents with OS, agent version, online state, last heartbeat, last signed-in user, isolation state and tags, sorted by hostname. All arguments are filters: search (a case-insensitive part of the hostname), os (windows, linux or other), online (true for agents with a heartbeat in the last 5 minutes), tag (one exact tag name), and limit (1-500, default 100).
  • get_agent — one agent in full: its latest health sample (CPU, memory, free space on C:, uptime, pending reboot, make and model) and its count of active alerts. Required: agent_id, the id from list_agents.
  • list_alerts — alerts raised for the organisation's agents, newest first. Optional: status (active, acknowledged, resolved, auto_resolved, suppressed or any; defaults to active), severity (for example critical or warning), agent_id to scope to one machine, since_hours (1-720, default 168 — seven days) and limit (1-500, default 100).
  • get_fleet_summary — the organisation at a glance: agent counts, online and offline, the Windows / Linux / other OS split, isolated agents, and active alerts by severity. No arguments.

Configuration

  • ETDUCKY_MCP_URL (optional) — override the upstream endpoint. Defaults to https://etducky.com/api/mcp. (The override hook is this rebuild's own labelled reconstruction.)
  • ETDUCKY_API_KEY (optional) — when set, every upstream request carries an Authorization: Bearer <key> header. When it is not set, no auth header is sent. (This forwarding is also a labelled reconstruction; the original surface was captured keyless.)

Forwarding mechanics

On the first tool call the client opens a streamable HTTP session with the upstream: a JSON-RPC initialize request (protocolVersion 2025-03-26, clientInfo name fleetwatch), then a notifications/initialized notification, then the tools/call request carrying the caller's arguments unchanged. When the upstream answers initialize with an Mcp-Session-Id header, that value rides on every later request of the session, which is reused for the life of the process. Replies may arrive as plain JSON or as server-sent events; both are read.

Successful upstream results pass through verbatim, including any isError flag the upstream sets. Failures — a JSON-RPC error, a non-2xx status, an unreadable response, or a request that cannot be completed — come back as an isError result whose text starts with fleetwatch error: (this rendering is this rebuild's own labelled reconstruction).

CLI

Each tool is also a subcommand taking one JSON argument string (omit it for tools that take none):

bash
npx @reneturcios/fleetwatch list_agents '{"os":"windows","online":true}'npx @reneturcios/fleetwatch get_agent '{"agent_id":"agent-42"}'npx @reneturcios/fleetwatch get_fleet_summarynpx @reneturcios/fleetwatch --version

Exit codes: 0 on success, 1 on an isError result, 2 on a usage error.

MCP server

bash
npx -y @reneturcios/fleetwatch mcp

MCP client config:

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

Docker

bash
docker run -i ghcr.io/cloudcorprecords/fleetwatchdocker run --rm ghcr.io/cloudcorprecords/fleetwatch --version

The container's default command is mcp, so the first form is a stdio MCP server; any other arguments reach the CLI normally.

Development

bash
npm installnpm run buildnpm testnpm run dev

The test suite runs entirely against a stubbed JSON-RPC upstream — no live network calls.

License

MIT — see LICENSE.

來源:README.md,提交 ad8438b

工具

4

list_agents

List agents

List this organization's ET Ducky agents (Windows and Linux endpoints) with OS, agent version, online state, last heartbeat, last signed-in user, isolation state and tags. Sorted by hostname.

輸入參數ostaglimitonlinesearch

get_agent

Get agent

One agent with its latest health sample (CPU, memory, free space on C:, uptime, pending reboot, make and model) and its number of active alerts.

輸入參數agent_id必填

list_alerts

List alerts

Alerts raised for this organization's agents, newest first.

輸入參數limitstatusagent_idseveritysince_hours

get_fleet_summary

Get fleet summary

Counts for this organization: agents, online, offline, Windows, Linux, other OS, isolated, and active alerts by severity.

無需輸入參數。

版本歷史

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

評分

已滿足適用檢查項的 90%

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

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

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

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分