4a0b32d90ef7ef5b30f0657440ce0c82a6e086b7
Add StartAck::SpawnFailed(String) so callers can distinguish a successful start from a failed spawn. The Start command arm now sends SpawnFailed on io::Error rather than the misleading Started. handlers.rs maps the new variant to an RpcErrorCode::SpawnFailed JSON-RPC error response. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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.
Description
Languages
Rust
100%