WAGO PLC

io.github.WagoAlexPublished by GitHub account WagoAlexv2.4.6Updated Nov 5, 2026

Read and monitor WAGO PLC parameters over the WDA REST API. Read-only unless writes are allowed.

Overview

AI-generated overview

Connects an AI assistant to WAGO PLCs over the WDA REST API so it can read and monitor controller parameters in plain language.

What you can do
  • Read and monitor PLC parameters and status over the WDA REST API, such as firmware versions, NTP status and diagnostic LED states
  • Query several PLCs at once from a comma-separated host list
  • Optionally change parameters, run methods and upload files when writes are explicitly enabled
  • Refuse reboot, factory reset and firmware methods unless an administrator allows one exact method
  • Record writes, method calls and file uploads in an optional audit log
When to use it
Useful when you want to ask questions about WAGO controllers in plain English instead of writing scripts or looking up parameter IDs, for example checking firmware, time sync or diagnostics across a plant's PLCs.
Requirements
Runs locally over stdio, as a uvx package or Docker image, or as a Claude Desktop extension. Needs network access to the PLCs, WAGO_PLC_HOSTS with their IP addresses, DEFAULT_PLC_USERNAME and DEFAULT_PLC_PASSWORD for the WBM login, TRANSPORT fixed to stdio, and WAGO_ALLOW_WRITES set to true only if writes are wanted. WAGO_TIMEOUT_SECONDS may need 45 or more for CC100.
Before you install
The WBM password is supplied in DEFAULT_PLC_PASSWORD and the same credential is used for all listed PLCs. Setting WAGO_ALLOW_WRITES to true lets the assistant change parameters, run methods and upload files on live controllers; keep it read-only unless needed. File uploads are refused in GitOps mode, and an audit log path can be set with AUDIT_LOG_FILE.

Installation

In SourceWeft

  1. Open WAGO PLC in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

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

[Docker pulls] [PyPI] [License: MPL-2.0] [Docs: GitHub Pages]

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. Install the .mcpb file:
    • Linux: Double-click the file.
    • Windows and macOS: Drag the file onto Settings → Extensions in Claude Desktop.
  3. In the form, enter the PLC IP address and the WBM password. Then save the form.
  4. 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
Learn the internal operation step by stepLearning page (Deutsch)
Run one server for a teamDeployment
Review each change in a pull request before it goes to a PLCGitOps
Update firmwareFirmware updates
See what a firmware update needs on one pageFirmware update overview (Deutsch)
See all HTML pages, in English and GermanProject pages
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

Source: README.md at commit f4625ee

Tools

0
SourceWeft started this package once in an isolated sandbox, without credentials, to list its tools. That failed: the server did not answer in time.

Version history

5
  1. v2.4.6LatestNov 5, 2026
  2. v2.4.4Sep 21, 2026
  3. v2.4.3Sep 18, 2026
  4. v2.4.1Sep 18, 2026
  5. v2.4.0Sep 16, 2026

Score

40% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.