logaritmisk 3e4ad79137 fix(supervisor): publish full status (pid, port, uptime, restart_count, last_exit) via watch channel
Replace watch::Receiver<ServerState> on SupervisorHandle with watch::Receiver<Status>,
a richer snapshot type that carries pid, port, uptime_secs, restart_count and last_exit.
SupervisorTask maintains current_pid and publishes a fresh Status on every state
transition; handlers.rs reads the full Status so list/status no longer return
zeroed/None fields.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 12:30:56 +02:00
2026-05-25 12:19:34 +02:00

xy — HTTP MCP server supervisor

Daemon + CLI that launches and supervises HTTP-based MCP servers.

Build

cargo build --release

Run

target/release/xy daemon       # foreground

Drop a server definition into $XDG_CONFIG_HOME/xy/servers/<name>.kdl (see examples/insikt.kdl) and xy reload.

Commands:

xy list
xy status <name>
xy start  <name|--all>
xy stop   <name|--all>
xy restart <name|--all>
xy reload
xy logs <name> [--tail N] [--follow]

Exit codes: 0 success, 1 operational error, 2 daemon unreachable, 3 config invalid.

S
Description
No description provided
Readme 153 KiB
Languages
Rust 100%