WAGO PLC

Official registry Other

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

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

PYPI package wago-plc-mcp-server
Claude Code
claude mcp add wago-plc -e 'TRANSPORT=<TRANSPORT>' -e 'WAGO_PLC_HOSTS=<WAGO_PLC_HOSTS>' -e 'DEFAULT_PLC_USERNAME=admin' -e 'DEFAULT_PLC_PASSWORD=<your default_plc_password>' -e 'WAGO_TIMEOUT_SECONDS=45' -e 'WAGO_ALLOW_WRITES=false' -e 'AUDIT_LOG_FILE=<AUDIT_LOG_FILE>' -- uvx wago-plc-mcp-server==2.4.4
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "wago-plc": {
            "command": "uvx",
            "args": [
                "wago-plc-mcp-server==2.4.4"
            ],
            "env": {
                "TRANSPORT": "<TRANSPORT>",
                "WAGO_PLC_HOSTS": "<WAGO_PLC_HOSTS>",
                "DEFAULT_PLC_USERNAME": "admin",
                "DEFAULT_PLC_PASSWORD": "<your default_plc_password>",
                "WAGO_TIMEOUT_SECONDS": "45",
                "WAGO_ALLOW_WRITES": "false",
                "AUDIT_LOG_FILE": "<AUDIT_LOG_FILE>"
            }
        }
    }
}

Environment variables

  • TRANSPORT required MCP transport. Fixed to stdio for this package.
  • WAGO_PLC_HOSTS required Comma-separated IPs of the WAGO PLCs, reachable from this machine
  • DEFAULT_PLC_USERNAME required WBM username on the PLCs
  • DEFAULT_PLC_PASSWORD required secret WBM password, same on all listed PLCs
  • WAGO_TIMEOUT_SECONDS WDA request timeout. CC100 needs 45 or more, other controllers work with 15
  • WAGO_ALLOW_WRITES required true lets the agent change parameters, run methods and upload files. Anything else keeps every PLC read-only
  • AUDIT_LOG_FILE Optional path for the tamper-evident audit log of writes and refusals
OCI package docker.io/wagoalex/wago-plc-mcp-server:2.4.4
Claude Code
claude mcp add wago-plc -e 'TRANSPORT=<TRANSPORT>' -e 'WAGO_PLC_HOSTS=<WAGO_PLC_HOSTS>' -e 'DEFAULT_PLC_USERNAME=admin' -e 'DEFAULT_PLC_PASSWORD=<your default_plc_password>' -e 'WAGO_TIMEOUT_SECONDS=45' -e 'WAGO_ALLOW_WRITES=false' -e 'AUDIT_LOG_FILE=<AUDIT_LOG_FILE>' -- docker run -i --rm docker.io/wagoalex/wago-plc-mcp-server:2.4.4
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "wago-plc": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "docker.io/wagoalex/wago-plc-mcp-server:2.4.4"
            ],
            "env": {
                "TRANSPORT": "<TRANSPORT>",
                "WAGO_PLC_HOSTS": "<WAGO_PLC_HOSTS>",
                "DEFAULT_PLC_USERNAME": "admin",
                "DEFAULT_PLC_PASSWORD": "<your default_plc_password>",
                "WAGO_TIMEOUT_SECONDS": "45",
                "WAGO_ALLOW_WRITES": "false",
                "AUDIT_LOG_FILE": "<AUDIT_LOG_FILE>"
            }
        }
    }
}

Environment variables

  • TRANSPORT required MCP transport. Fixed to stdio for this package.
  • WAGO_PLC_HOSTS required Comma-separated IPs of the WAGO PLCs, reachable from this machine
  • DEFAULT_PLC_USERNAME required WBM username on the PLCs
  • DEFAULT_PLC_PASSWORD required secret WBM password, same on all listed PLCs
  • WAGO_TIMEOUT_SECONDS WDA request timeout. CC100 needs 45 or more, other controllers work with 15
  • WAGO_ALLOW_WRITES required true lets the agent change parameters, run methods and upload files. Anything else keeps every PLC read-only
  • AUDIT_LOG_FILE Optional path for the tamper-evident audit log of writes and refusals

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. wago-plc-mcp-server
  2. Quick start
  3. Try these questions
  4. Safe by default
  5. Next steps
  6. License

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.

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.

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

Frequently asked questions

What is WAGO PLC?

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

How do I install WAGO PLC?

It runs on your machine. In Claude Code: claude mcp add wago-plc -e 'TRANSPORT=<TRANSPORT>' -e 'WAGO_PLC_HOSTS=<WAGO_PLC_HOSTS>' -e 'DEFAULT_PLC_USERNAME=admin' -e 'DEFAULT_PLC_PASSWORD=<your default_plc_password>' -e 'WAGO_TIMEOUT_SECONDS=45' -e 'WAGO_ALLOW_WRITES=false' -e 'AUDIT_LOG_FILE=<AUDIT_LOG_FILE>' -- uvx wago-plc-mcp-server==2.4.4. For other clients, paste the JSON configuration from this page into their MCP settings.

Does WAGO PLC need an API key?

Yes. It expects TRANSPORT, WAGO_PLC_HOSTS, DEFAULT_PLC_USERNAME, DEFAULT_PLC_PASSWORD, WAGO_ALLOW_WRITES, which you set in its configuration.

Is WAGO PLC open source?

Its code is public on GitHub, but the repository does not declare a standard license.

Who maintains WAGO PLC?

It is published by WagoAlex. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.