v3.9.28 — MCP stdio fix (Glama tools)
v3.9.28 (2026-03-22)
Fixed
-
MCP stdio / Glama "no tools detected" — MCP over stdio uses stdout exclusively for JSON-RPC. All startup and bootstrap diagnostics now write to stderr via the new
logutil.diag()helper. Previously everyprint()on stdout corrupted the JSON-RPC frame boundary so MCP clients (Glama Inspector, Claude) could not parsetools/listand reported zero tools. -
stdio cold-start with empty Docker volume — cold-start now also triggers when
/dataexists as an empty Docker VOLUME but contains noprojects.jsonand no docs (previously only skipped when/datawas absent, so the full embedding bootstrap always ran under Glama's inspector).
See CHANGELOG.md for full history.