Skip to content

Releases: WagoAlex/wago-plc-mcp-server

v2.1.0 — Audit log persistence + file-based fleet config

Choose a tag to compare

@WagoAlex WagoAlex released this 17 Jun 16:22

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_FILE is now /app/data/audit.log (already set in the bundled compose file)
  • Existing ./data volume mount covers the audit log — no new volume needed
  • WAGO_PLC_HOSTS CSV continues to work unchanged

v2.0.8

Choose a tag to compare

@github-actions github-actions released this 17 Jun 06:47

Full Changelog: v2.0.7...v2.0.8