Read and monitor WAGO PLC parameters over the WDA REST API. Read-only unless writes are allowed.
Connect Runs on your machine
claude mcp add wago-plc-mcp-server -e TRANSPORT=<TRANSPORT> -e WAGO_PLC_HOSTS=<WAGO_PLC_HOSTS> -e DEFAULT_PLC_USERNAME=<DEFAULT_PLC_USERNAME> -e DEFAULT_PLC_PASSWORD=<DEFAULT_PLC_PASSWORD> -e WAGO_TIMEOUT_SECONDS=<WAGO_TIMEOUT_SECONDS> -e WAGO_ALLOW_WRITES=<WAGO_ALLOW_WRITES> -e AUDIT_LOG_FILE=<AUDIT_LOG_FILE> -- uvx wago-plc-mcp-server==2.4.7
{
"mcpServers": {
"wago-plc-mcp-server": {
"command": "uvx",
"args": [
"wago-plc-mcp-server==2.4.7"
],
"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>"
}
}
}
}
{
"mcpServers": {
"wago-plc-mcp-server": {
"command": "uvx",
"args": [
"wago-plc-mcp-server==2.4.7"
],
"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>"
}
}
}
}
{
"servers": {
"wago-plc-mcp-server": {
"type": "stdio",
"command": "uvx",
"args": [
"wago-plc-mcp-server==2.4.7"
],
"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>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
TRANSPORTRequired | MCP transport. Fixed to stdio for this package. |
WAGO_PLC_HOSTSRequired | Comma-separated IPs of the WAGO PLCs, reachable from this machine |
DEFAULT_PLC_USERNAMERequired | WBM username on the PLCs |
DEFAULT_PLC_PASSWORDRequired, secret | WBM password, same on all listed PLCs |
WAGO_TIMEOUT_SECONDSOptional | WDA request timeout. CC100 needs 45 or more, other controllers work with 15 |
WAGO_ALLOW_WRITESRequired | true lets the agent change parameters, run methods and upload files. Anything else keeps every PLC read-only |
AUDIT_LOG_FILEOptional | Optional path for the tamper-evident audit log of writes and refusals |
Details
| Package | [email protected] (PYPI, stdio) |
| Package | docker.io/wagoalex/wago-plc-mcp-server:2.4.7 (OCI, stdio) |
| First published | 12 Nov 2026 |
| Last updated | 12 Nov 2026 |
| Registry name | io.github.WagoAlex/wago-plc-mcp-server |
More other servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
