# 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/.kdl` (see `examples/insikt.kdl`) and `xy reload`. Commands: xy list xy status xy start xy stop xy restart xy reload xy logs [--tail N] [--follow] Exit codes: 0 success, 1 operational error, 2 daemon unreachable, 3 config invalid. ## Start on login (macOS) xy service install # write the LaunchAgent, load it, start the daemon xy service uninstall # unload and remove the agent xy service start # load an installed agent xy service stop # unload until the next login xy service status # show agent state `xy service install` snapshots the current `PATH` into the agent, because a launchd agent otherwise inherits only `/usr/bin:/bin:/usr/sbin:/sbin` and supervised servers would not find their toolchains. Re-run with `--force` after installing a new toolchain to refresh the snapshot. `xy service stop` lasts until the next login. To disable start-on-login permanently, use `xy service uninstall`. The daemon writes to `$XDG_STATE_HOME/xy/logs/daemon.log`. Failures that happen before the daemon starts logging — a missing binary, a malformed plist — are visible only to launchd: launchctl print gui/$UID/se.aceofba.xy