Summary
It reaches exactly what the S7 webserver API exposes — including the write side.
Tag writes and operating-mode change requests are both in the tool set, so this is not a read-only window onto the controller; decide deliberately which account it logs in as. Api-GetPermissions after login is the fast way to see what that account can actually do.
What it is
An MCP server for SIEMENS S7-1500 and S7-1200 PLCs. It talks to the controller's webserver over its JSON-RPC 2.0 API and exposes those methods as tools.
What you get
- Tag browse and read: PlcProgram-Browse and PlcProgram-Read
- Writing Boolean, Number or String tags
- CPU operating mode, read and change requested: Plc-ReadOperatingMode, Plc-RequestChangeOperatingMode
- CPU system time, read and set: Plc-ReadSystemTime, Plc-SetSystemTime
- Alarms and diagnostics: Alarms-Browse, Alarms-Acknowledge, DiagnosticBuffer-Browse
- Session and permissions: login, logout, Api-GetPermissions, ping
- API introspection: Api-Version, Api-Browse, Api-GetQuantityStructures, Api-GetPasswordPolicy
- Optional service-account login with automatic token refresh
Requirements
Node.js v18.x or later and access to a running SIEMENS PLC webserver. Credentials go in a config.js file holding the JSON-RPC URL, a username and a password; the client connects through mcp-remote to the local endpoint.
