WAGO PLC for VS Code
io.github.wagoalex/wago-plc-mcp-server
Read and monitor WAGO PLC parameters over the WDA REST API. Read-only unless writes are allowed.
client:VS Code
transport:stdio
runtime:pypi
Install WAGO PLC in VS Code
.vscode/mcp.json
{
"inputs": [
{
"type": "promptString",
"id": "transport",
"description": "TRANSPORT",
"password": true
},
{
"type": "promptString",
"id": "wago-plc-hosts",
"description": "WAGO_PLC_HOSTS",
"password": true
},
{
"type": "promptString",
"id": "default-plc-username",
"description": "DEFAULT_PLC_USERNAME",
"password": true
},
{
"type": "promptString",
"id": "default-plc-password",
"description": "DEFAULT_PLC_PASSWORD",
"password": true
},
{
"type": "promptString",
"id": "wago-timeout-seconds",
"description": "WAGO_TIMEOUT_SECONDS",
"password": true
},
{
"type": "promptString",
"id": "wago-allow-writes",
"description": "WAGO_ALLOW_WRITES",
"password": true
},
{
"type": "promptString",
"id": "audit-log-file",
"description": "AUDIT_LOG_FILE",
"password": true
}
],
"servers": {
"wago-plc-mcp-server": {
"type": "stdio",
"command": "uvx",
"args": [
"wago-plc-mcp-server"
],
"env": {
"TRANSPORT": "${input:transport}",
"WAGO_PLC_HOSTS": "${input:wago-plc-hosts}",
"DEFAULT_PLC_USERNAME": "${input:default-plc-username}",
"DEFAULT_PLC_PASSWORD": "${input:default-plc-password}",
"WAGO_TIMEOUT_SECONDS": "${input:wago-timeout-seconds}",
"WAGO_ALLOW_WRITES": "${input:wago-allow-writes}",
"AUDIT_LOG_FILE": "${input:audit-log-file}"
}
}
}
}
VS Code prompts for each input the first time the server starts, so no secret is written to the file. VS Code docs