Releases: WagoAlex/wago-plc-mcp-server
Release list
v2.1.0 — Audit log persistence + file-based fleet config
What changed
Fleet management — agents removed from the equation
Runtime register_plc / deregister_plc MCP tools have been removed. Fleet changes are now exclusively human-gated via environment variables and a container restart. Agents can read and write PLC parameters but cannot modify the connected fleet.
Audit log now survives container restarts
AUDIT_LOG_FILE moved from /app/audit.log (ephemeral) to /app/data/audit.log on the already-mounted ./data volume. The tamper-evident hash chain seeds from the existing file on restart — no audit entries are lost across Portainer redeployments or docker rm -f.
File-based fleet config for large deployments
New WAGO_PLC_HOSTS_FILE environment variable accepts a path to a plain-text host file (one IP per line, # comments supported). Recommended for fleets with hundreds or thousands of PLCs. Can be combined with WAGO_PLC_HOSTS CSV — all discovered IPs are merged at startup.
# data/fleet.txt
192.168.1.10
192.168.1.11
# 192.168.1.12 decommissioned
get_plc_audit_log MCP tool retained
Agents can still query the full tamper-evident audit chain — filtered by PLC IP, action type, and limit.
Upgrade notes
- Update
docker-compose.yml:AUDIT_LOG_FILEis now/app/data/audit.log(already set in the bundled compose file) - Existing
./datavolume mount covers the audit log — no new volume needed WAGO_PLC_HOSTSCSV continues to work unchanged