Releases: CynepMyx/devops-mcp
v0.2.2 — Operational fixes
Patch release
Env sync fix
docker-compose.yml now passes all documented configuration into the container:
PROMETHEUS_URL(default:http://host.docker.internal:9090)PROTECTED_CONTAINERS(default:devops-mcp)ALLOW_SSH_PASSWORD(default:false)DEV_HOT_RELOAD(default:false)
Previously setting these in .env had no effect at runtime.
Tool description update
ssh_exec MCP tool description now accurately describes the read-only-by-default model instead of the old blacklist language.
SECURITY.md rewrite
Now reflects the actual security model: read-only by default, conditional safe commands, disabled password auth.
v0.2.1 — Allowlist precision fix
Patch release
P1 — SSH allowlist precision
sed, curl, wget, find moved from unconditionally-safe to conditionally-safe:
- Allowed without
confirmed=trueonly when no mutating flags are present sed -i,curl -X POST,find -exec,wget -Onow require confirmationawkrequiresconfirmed=true(program text can shell out viasystem())
P2 — Audit logger fix
server.py was missing import logging and logger, causing a NameError when audit write failed. Fixed.
M1 — Docs updated
README security section now correctly describes the read-only-by-default model.
M2 — Test coverage added
Tests for conditionally-safe commands and validate_log_path.
v0.2.0 — Security hardening
Security hardening
Changes
- ssh_exec read-only by default — only safe read-only commands allowed without
confirmed=true; everything else requires explicit user approval - SSH password auth disabled — off by default; set
ALLOW_SSH_PASSWORD=trueto enable - Hot-reload disabled in prod — file watcher only starts with
DEV_HOT_RELOAD=true - Audit fail-loud — write failures now emit a warning log instead of being silently swallowed
- Unit tests —
tests/test_security.pycovers all security validators; pytest added to CI
Upgrade notes
If you relied on SSH password authentication, add ALLOW_SSH_PASSWORD=true to your .env.
All other behavior is backwards compatible.