mcpbeat Sign in

WAGO PLC MCP Server

local only

WAGO PLC runs on your own machine — the client starts it, so there is no endpoint to ping. Last commit 16 Sep 2026.

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

Installs / week
pypi · wago-plc-mcp-server
3
Stars
0 open issues
16 Sep 2026
Last commit
no recent releases
License
Python

What the code does

We read the source, 18 h ago · rules 3dff92dd89df

Evidence

Things with no honest explanation: a promise that contradicts the code, code that runs at install time while hiding what it does, data leaving the machine.

Claims read-only, but the code runs commands fwupdate/authz.py:59, fwupdate/fleet.py:57
    r = subprocess.run(
Capabilities

What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.

    r = subprocess.run(
Builds a database query by concatenation fwupdate/docker-compose.yml:10
    container_name: wago-fwupdate
    network_mode: host
    environment:
      PLC_IP: ${PLC_IP}

Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.

We found things in this code

Code changes quietly between releases, and nobody reads the diff of a dependency. We do, on every release — watch WAGO PLC and you get told the day something new turns up.

Three servers free · no card

Connect this server

This server runs on your own machine — install it with the package manager and the client starts it for you. Package name taken from the official registry entry.

run in your terminal
claude mcp add wago-plc-mcp-server -- uvx wago-plc-mcp-server
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "wago-plc-mcp-server": {
      "args": [
        "wago-plc-mcp-server"
      ],
      "command": "uvx"
    }
  }
}
~/.codex/config.toml
[mcp_servers.wago-plc-mcp-server]
command = "uvx"
args = ["wago-plc-mcp-server"]
.cursor/mcp.json
{
  "mcpServers": {
    "wago-plc-mcp-server": {
      "args": [
        "wago-plc-mcp-server"
      ],
      "command": "uvx"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "wago-plc-mcp-server": {
      "args": [
        "wago-plc-mcp-server"
      ],
      "command": "uvx"
    }
  }
}

This one needs environment variables set before it will start: TRANSPORT (MCP transport. Fixed to stdio for this package.), WAGO_PLC_HOSTS (Comma-separated IPs of the WAGO PLCs, reachable from this machine), DEFAULT_PLC_USERNAME (WBM username on the PLCs), DEFAULT_PLC_PASSWORD (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 (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). The author declared them in the registry entry; get the values from the project itself.

Alternatives to WAGO PLC

same job, measured the same way
VMware Monitor
by vmware-skills

Read-only VMware vCenter/ESXi monitoring, 32 MCP tools; vSphere calls allowlist-gated in tests.

local only
whatmount — TV and monitor mount facts
by whatmount

VESA pattern, dimensions and weight per TV or monitor model, from the makers' manuals. Read-only.

3 tools answering
Ictbroadcast MCP
by ictinnovations

Monitor ICTBroadcast outbound campaigns, and start and stop them when writes are on.

26 installs/wk local only
Ictdialer MCP
by ictinnovations

Monitor ICTDialer outbound auto-dialer campaigns, and start and stop them when writes are on.

24 installs/wk local only
Ictcontact MCP
by ictinnovations

Monitor ICTContact / ICTDialer outbound campaigns, and start and stop them when writes are on.

26 installs/wk local only
Hyperping
by hyperping

Uptime, API and server monitoring with outages, reporting, on-call and status pages.

26 tools answering
Uptimeify
by uptimeify

Free anonymous website, DNS, email and TLS checks, plus monitor read and opt-in write access.

20 tools answering
Wachete
by wachete

Create, read and monitor Wachete website-change wachets for a signed-in user.

answering

WAGO PLC — questions

Answers built from our own checks of this server.

Why is there no uptime for WAGO PLC?
WAGO PLC runs on your own machine over stdio — there is no network address to reach, so uptime cannot be measured for it by anyone. What can be measured is adoption: the pypi package wago-plc-mcp-server.
How do I connect WAGO PLC?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It runs locally, so the command pulls wago-plc-mcp-server straight from pypi; nothing to host, nothing to sign up for.
Is WAGO PLC open source?
We cannot say either way: written in Python and 3 stars on GitHub, but we could not determine the licence, and without one the code is not open source by default.