4b6817381b
CI (OpenClaw E2E) / openclaw test (push) Has been cancelled
CI / coverage-report (push) Has been cancelled
CI / test-kubernetes (push) Has been cancelled
CI / should-run-thorough (push) Has been cancelled
CI / test-thorough (cloudwatch-demo) (push) Has been cancelled
CI / test-thorough (flink-ecs) (push) Has been cancelled
CI / test-thorough (upstream-lambda) (push) Has been cancelled
CI / test-thorough (prefect-ecs-fargate) (push) Has been cancelled
Release / build-binaries (zip, opensre.exe, onefile, windows-latest, windows-x64) (push) Has been cancelled
Benchmark image — build + push to ECR (any adapter) / build + push (push) Has been cancelled
CI / quality (ubuntu-latest) (push) Has been cancelled
CI / test (tools-runtime) (push) Has been cancelled
CI / test (e2e-general) (push) Has been cancelled
CI / test (cli-runtime) (push) Has been cancelled
CI / test (e2e-provider-and-openclaw) (push) Has been cancelled
CI / test (integrations-and-misc) (push) Has been cancelled
Release / verify (push) Has been cancelled
Release / build-python-dist (push) Has been cancelled
Release / build-binaries (tar.gz, opensre, onedir, macos-15-intel, darwin-x64) (push) Has been cancelled
Release / build-binaries (tar.gz, opensre, onedir, macos-latest, darwin-arm64) (push) Has been cancelled
Release / build-binaries (tar.gz, opensre, onedir, ubuntu-22.04, linux-x64) (push) Has been cancelled
Release / publish-release (push) Has been cancelled
Release / publish-main-release (push) Has been cancelled
Interactive Shell Live (PR + post-merge) / turn-checks (no-LLM) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Interactive Shell Live (PR + post-merge) / turn-live shard ${{ matrix.shard_index }} (push) Has been cancelled
Release / prepare (push) Has been cancelled
Release / build-binaries (tar.gz, opensre, onedir, ubuntu-22.04-arm, linux-arm64) (push) Has been cancelled
Synthetic Deterministic Tests / Synthetic offline (deterministic) (push) Has been cancelled
5.4 KiB
5.4 KiB
Alert: [FIRING:1] OpenClaw CLI Binary Not Found — stdio MCP Bridge Broken
Source
OpenSRE worker (stdio MCP transport — local host)
Message
Firing
opensre integrations verify openclaw is returning:
OpenClaw bridge validation failed: Command not found: openclaw-mcp
Hint: OpenClaw's current MCP bridge is exposed via `openclaw mcp serve`, not `openclaw-mcp`.
Install the OpenClaw CLI or set `OPENCLAW_MCP_COMMAND` to the full executable path.
The opensre worker is configured with OPENCLAW_MCP_COMMAND=openclaw-mcp which was the
binary name in OpenClaw ≤ v2.0. Since v2.1.0 the MCP bridge is started via
openclaw mcp serve. Every stdio-mode MCP bridge call raises FileNotFoundError.
Labels:
- alertname = OpenClawStdioCommandNotFound
- severity = high
- service = opensre-worker
- environment = staging
- pipeline_name = openclaw_mcp
Annotations:
- error = Command not found: openclaw-mcp
- command = openclaw-mcp
- transport = stdio
- fix = Set OPENCLAW_MCP_COMMAND=openclaw and OPENCLAW_MCP_ARGS='mcp serve'
Alert Metadata
{
"title": "[FIRING:1] OpenClaw CLI Binary Not Found — stdio MCP Bridge Broken",
"state": "alerting",
"commonLabels": {
"alertname": "OpenClawStdioCommandNotFound",
"severity": "high",
"service": "opensre-worker",
"environment": "staging",
"pipeline_name": "openclaw_mcp"
},
"commonAnnotations": {
"summary": "opensre cannot find the openclaw-mcp binary. The command was renamed to 'openclaw mcp serve' in v2.1.0.",
"description": "FileNotFoundError: [Errno 2] No such file or directory: 'openclaw-mcp'. The opensre worker has OPENCLAW_MCP_COMMAND=openclaw-mcp but this binary no longer exists. In OpenClaw v2.1.0 the stdio MCP bridge entrypoint changed from the standalone 'openclaw-mcp' binary to 'openclaw mcp serve'. All three bridge tools are permanently unavailable until the config is corrected.",
"error": "Command not found: openclaw-mcp",
"command": "openclaw-mcp",
"transport": "stdio",
"openclaw_version_breaking_change": "v2.1.0",
"fault_injection_script": "export OPENCLAW_MCP_COMMAND=openclaw-mcp",
"fix": "export OPENCLAW_MCP_COMMAND=openclaw && export OPENCLAW_MCP_ARGS='mcp serve'"
},
"version": "4",
"groupKey": "{}:{alertname=\"OpenClawStdioCommandNotFound\"}",
"truncatedAlerts": 0,
"alerts": [
{
"status": "firing",
"labels": {
"alertname": "OpenClawStdioCommandNotFound",
"severity": "high",
"service": "opensre-worker",
"environment": "staging",
"instance": "opensre-worker-staging-02"
},
"annotations": {
"summary": "openclaw-mcp binary not found — legacy command removed in v2.1.0",
"description": "FileNotFoundError on 'openclaw-mcp'. Correct command is 'openclaw mcp serve'.",
"error": "Command not found: openclaw-mcp"
},
"startsAt": "2026-05-11T07:00:00Z",
"endsAt": "0001-01-01T00:00:00Z",
"generatorURL": "",
"fingerprint": "openclaw-stdio-command-not-found-001"
}
]
}
Fault Injection Script
The following script reproduces this alert against a real local OpenClaw install:
#!/usr/bin/env bash
# inject_bad_command.sh — configure the legacy binary name to break stdio mode
set -euo pipefail
SAVED_COMMAND="${OPENCLAW_MCP_COMMAND:-}"
SAVED_ARGS="${OPENCLAW_MCP_ARGS:-}"
echo "[inject] Switching OPENCLAW_MCP_COMMAND to legacy 'openclaw-mcp'..."
export OPENCLAW_MCP_MODE=stdio
export OPENCLAW_MCP_COMMAND=openclaw-mcp
unset OPENCLAW_MCP_ARGS
echo "[inject] Verifying fault is active..."
opensre integrations verify openclaw && echo "ERROR: verify passed unexpectedly" && exit 1 || true
echo "[inject] Fault confirmed. 'Command not found: openclaw-mcp' triggered."
echo "[inject] Run 'opensre investigate' with the alert JSON above to get RCA."
echo "[inject] To restore:"
echo " export OPENCLAW_MCP_COMMAND=${SAVED_COMMAND:-openclaw}"
echo " export OPENCLAW_MCP_ARGS='${SAVED_ARGS:-mcp serve}'"