OTAISAFETY
← Directory  /  Modbus/S7/multi-protocol connectors

IndustriAgents/S7comm-MCP

Read-only-by-default MCP server for Siemens S7-300/400/1200/1500 PLCs over S7comm.

Score56%
Unknown4/12
TypeOpen source
Last checked2026-10-16
Visit official site ↗
12-point checklist
#CriterionCISAScoreEvidence
C1
Actuation capability
2 pts if: Cannot write/actuate, or writes are clearly isolated
P2, P41 · Partialwrites possible once enabled; CPU RUN/STOP needs a second switch
C2
Read-only by default
2 pts if: Write/method tools off unless explicitly enabled
P42 · Verifiedwrite tools refuse unless S7_WRITES_ENABLED=true
C3
Write guardrails
2 pts if: Per-tag allowlist plus value/rate limits or interlock checks
P41 · Partialbatch writes validated before sending; inputs never written; no value ranges documented
C4
Human-in-the-loop approval
2 pts if: Critical writes need explicit human confirmation
P4UnknownNot documented publicly / not yet verified
C5
Authentication
2 pts if: Authenticated sessions to the OT endpoint; no anonymous default
P3, P40 · Absent / unsafe defaultS7comm has no authentication (README)
C6
Encryption & cert verification
2 pts if: Encrypted transport with server certificate verification
P40 · Absent / unsafe defaultS7comm has no encryption (README)
C7
Audit logging
2 pts if: Every agent call/write logged durably
P3, P4UnknownNot documented publicly / not yet verified
C8
Network placement
2 pts if: On-prem/edge/air-gapped or push/DMZ flow; no inbound IT→OT path
P2, P4UnknownNot documented publicly / not yet verified
C9
Data leaving the site
2 pts if: No telemetry; plant data can stay on-prem
P2UnknownNot documented publicly / not yet verified
C10
Fail-safe & safety independence
2 pts if: Fails closed; safety systems stay independent
P41 · Partialwrites sent at most once; overall per-request deadline
C11
Vendor security disclosure
2 pts if: Published security policy / PSIRT
P32 · VerifiedSECURITY.md published
C12
Supply-chain hygiene
2 pts if: Versioned/signed releases; pinned installs
P32 · Verifiedversioned PyPI/npm release 0.3.0; committed uv.lock
Sources

Note: Early stage; tested against a bundled mock CPU, not yet a range of real CPUs. Sources: README, SECURITY.md, PyPI industriagents-s7comm-mcp 0.3.0

Vendor or maintainer? Send corrections or documentation →