mcpField
W
WAGO PLC

WAGO PLC

Local
github.comOther4Updated 5w ago

About WAGO PLC

WAGO PLC is a read-first MCP server for Claude and other AI assistants to inspect WAGO PLC parameters and status. It uses the WDA REST API, refuses writes by default, and records audit events for writes and method calls.

Key features

  1. 01Read PLC parameters through the WDA REST API
  2. 02Inspect firmware, NTP, and diagnostic LED status
  3. 03Refuse writes and method calls by default
  4. 04Audit writes, method calls, and file uploads

Use cases

  1. 01Check a PLC's firmware version
  2. 02Review NTP status across PLCs
  3. 03Monitor diagnostic LED states
  4. 04Perform controlled writes after enabling permission

MCP support

The MCP server exposes WAGO PLC parameter-reading capabilities to MCP clients. It is read-only by default; writes and method calls require explicit permission.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"wagoalex-wago-plc": {
"command": "uvx",
"args": [
"wago-plc-mcp-server"
],
"env": {
"TRANSPORT": "<TRANSPORT>",
"WAGO_PLC_HOSTS": "<WAGO_PLC_HOSTS>",
"DEFAULT_PLC_USERNAME": "<DEFAULT_PLC_USERNAME>",
"DEFAULT_PLC_PASSWORD": "<DEFAULT_PLC_PASSWORD>",
"WAGO_TIMEOUT_SECONDS": "<WAGO_TIMEOUT_SECONDS>",
"WAGO_ALLOW_WRITES": "<WAGO_ALLOW_WRITES>",
"AUDIT_LOG_FILE": "<AUDIT_LOG_FILE>"
}
}
}
}
Run commanduvx wago-plc-mcp-server
Environment variables to set
TRANSPORTMCP transport. Fixed to stdio for this package.
WAGO_PLC_HOSTSComma-separated IPs of the WAGO PLCs, reachable from this machine
DEFAULT_PLC_USERNAMEWBM username on the PLCs
DEFAULT_PLC_PASSWORDSecretWBM password, same on all listed PLCs
WAGO_TIMEOUT_SECONDSWDA request timeout. CC100 needs 45 or more, other controllers work with 15
WAGO_ALLOW_WRITEStrue lets the agent change parameters, run methods and upload files. Anything else keeps every PLC read-only
AUDIT_LOG_FILEOptional path for the tamper-evident audit log of writes and refusals

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
pypiwago-plc-mcp-server2.4.4
ocidocker.io/wagoalex/wago-plc-mcp-server:2.4.4

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

wago-plc-mcp-server - bridge WAGO PLCs to AI agents

Docker pulls PyPI License: MPL-2.0

wago-plc-mcp-server

This MCP server connects Claude and other AI assistants to WAGO PLCs. You ask a question in plain English. The assistant gets the answer from the PLC. You do not need scripts or parameter IDs.

Overview demo

Quick start

You need Claude Desktop and a PLC that your computer can reach on the network.

  1. Download wago-plc-mcp-server-<version>.mcpb from the latest release.
  2. In Claude Desktop, go to Settings → Extensions.
  3. Drag the .mcpb file onto the window.
  4. In the form, enter the PLC IP address and the WBM password. Then save the form.
  5. Ask Claude: "List my PLCs".

If the installer does not start on Windows, or if you have many PLCs, see Claude Desktop and Claude Code.

Try these questions

What firmware is running on 192.168.1.10?

Check the NTP status on all PLCs.

Show the diagnostic LED states on all PLCs.

For more examples and screen recordings, see Example questions.

Safe by default

  • The server only reads. It refuses all writes until you select Allow writes and method calls.
  • The server refuses reboot, factory reset, and firmware methods. An administrator can allow one exact method.
  • In GitOps mode, the server refuses file uploads. File uploads do not have a pull-request path yet.
  • An audit log records each write, each method call, and each file upload.

Read, write, and critical write paths from Claude to a WAGO PLC

For the full rules, see How it works.

Next steps

I want to...Read
Connect many PLCs, install the WAGO skill, or watch the demosClaude Desktop and Claude Code
Know what the server does on my PLCsHow it works
Run one server for a teamDeployment
Review each change in a pull request before it goes to a PLCGitOps
Update firmwareFirmware updates
Configure TLS, API keys, and the audit logSecurity
Find all tools and settingsReference
Find an answer to a common questionFAQ

Supported devices: CC100, PFC100 G2, PFC200 G2, PFC300, Edge Controller, WP400, and TP600. For the tested firmware versions, see Supported hardware.

License

Mozilla Public License 2.0

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.