Labsco
MCP SERVER

ThinkPLC-MCP

by mrwan84

Browse and read Siemens S7-1500/1200 tags, work alarms, and check the CPU without opening TIA Portal.

IoT, Smart Home & Embedded Hardware
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.