What happened
When a Runtime Host capability provider starts with one healthy MCP server and one missing command, the healthy server publishes its tools and the provider stays running. The only log line is Runtime Host capability provider is connected (24 MCP tools). The failed server name and ENOENT diagnostic are absent.
How to reproduce
- Preload the healthy server and create an MCP config:
bunx xcodebuildmcp --version
TMP="$HOME/maka-provider-repro"
mkdir -p "$TMP"
cat > "$TMP/mcp.json" <<'JSON'
{
"mcpServers": {
"xcodebuildmcp": {"command":"bunx","args":["xcodebuildmcp","mcp"]},
"missing-command": {"command":"command-does-not-exist","args":[]}
}
}
JSON
- Start a Runtime Host with
maka runtime-host serve, then record its rootId and WebSocket port.
- Issue a capability-provider credential:
maka runtime-host access issue \
--root "$RUNTIME_ROOT" \
--kind capability-provider \
--principal repro
- Start the provider with the returned credential:
MAKA_RUNTIME_HOST_ACCESS_CREDENTIAL="$CREDENTIAL" \
maka runtime-host capability-provider serve \
--url "ws://127.0.0.1:$PORT/runtime-host" \
--mcp-config "$TMP/mcp.json" \
--expected-root "$ROOT_ID"
The provider reports 24 connected tools; entries for missing-command and ENOENT are absent.
Expected
The readiness line should keep the healthy tool count and include the failed server count, server name, and sanitized startup diagnostic. The healthy server should remain published.
Root cause
packages/mcp/src/index.ts:486 catches each rejected connect() during sync() and retains the sanitized error only in the manager status. packages/cli/src/runtime-host-capability-provider-command.ts:127 builds the readiness line from toolSnapshot().tools.length alone and omits those statuses.
Environment
- Maka commit:
4cbe224
- OS: macOS 26.6.1
- Surface: Runtime Host capability-provider CLI
- Node.js: 24.19.0
What happened
When a Runtime Host capability provider starts with one healthy MCP server and one missing command, the healthy server publishes its tools and the provider stays running. The only log line is
Runtime Host capability provider is connected (24 MCP tools). The failed server name andENOENTdiagnostic are absent.How to reproduce
maka runtime-host serve, then record itsrootIdand WebSocket port.maka runtime-host access issue \ --root "$RUNTIME_ROOT" \ --kind capability-provider \ --principal reproThe provider reports 24 connected tools; entries for
missing-commandandENOENTare absent.Expected
The readiness line should keep the healthy tool count and include the failed server count, server name, and sanitized startup diagnostic. The healthy server should remain published.
Root cause
packages/mcp/src/index.ts:486catches each rejectedconnect()duringsync()and retains the sanitized error only in the manager status.packages/cli/src/runtime-host-capability-provider-command.ts:127builds the readiness line fromtoolSnapshot().tools.lengthalone and omits those statuses.Environment
4cbe224