WAGO PLC
Read and monitor WAGO PLC parameters over the WDA REST API. Read-only unless writes are allowed.
Installation
Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).
wago-plc-mcp-serverclaude 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
{
"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>"
}
}
}
}
Variables d'environnement
TRANSPORTobligatoire MCP transport. Fixed to stdio for this package.WAGO_PLC_HOSTSobligatoire Comma-separated IPs of the WAGO PLCs, reachable from this machineDEFAULT_PLC_USERNAMEobligatoire WBM username on the PLCsDEFAULT_PLC_PASSWORDobligatoire secret WBM password, same on all listed PLCsWAGO_TIMEOUT_SECONDSWDA request timeout. CC100 needs 45 or more, other controllers work with 15WAGO_ALLOW_WRITESobligatoire true lets the agent change parameters, run methods and upload files. Anything else keeps every PLC read-onlyAUDIT_LOG_FILEOptional path for the tamper-evident audit log of writes and refusals
docker.io/wagoalex/wago-plc-mcp-server:2.4.4claude 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
{
"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>"
}
}
}
}
Variables d'environnement
TRANSPORTobligatoire MCP transport. Fixed to stdio for this package.WAGO_PLC_HOSTSobligatoire Comma-separated IPs of the WAGO PLCs, reachable from this machineDEFAULT_PLC_USERNAMEobligatoire WBM username on the PLCsDEFAULT_PLC_PASSWORDobligatoire secret WBM password, same on all listed PLCsWAGO_TIMEOUT_SECONDSWDA request timeout. CC100 needs 45 or more, other controllers work with 15WAGO_ALLOW_WRITESobligatoire true lets the agent change parameters, run methods and upload files. Anything else keeps every PLC read-onlyAUDIT_LOG_FILEOptional path for the tamper-evident audit log of writes and refusals
Documentation
Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.
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.
- Download
wago-plc-mcp-server-<version>.mcpbfrom the latest release. - In Claude Desktop, go to Settings → Extensions.
- Drag the
.mcpbfile onto the window. - In the form, enter the PLC IP address and the WBM password. Then save the form.
- 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 demos | Claude Desktop and Claude Code |
| Know what the server does on my PLCs | How it works |
| Run one server for a team | Deployment |
| Review each change in a pull request before it goes to a PLC | GitOps |
| Update firmware | Firmware updates |
| Configure TLS, API keys, and the audit log | Security |
| Find all tools and settings | Reference |
| Find an answer to a common question | FAQ |
Supported devices: CC100, PFC100 G2, PFC200 G2, PFC300, Edge Controller, WP400, and TP600. For the tested firmware versions, see Supported hardware.
License
Questions fréquentes
Qu'est-ce que WAGO PLC ?
Read and monitor WAGO PLC parameters over the WDA REST API. Read-only unless writes are allowed.
Comment installer WAGO PLC ?
Il s'exécute sur votre machine. Dans 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. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.
Faut-il une clé API pour WAGO PLC ?
Oui. Il attend TRANSPORT, WAGO_PLC_HOSTS, DEFAULT_PLC_USERNAME, DEFAULT_PLC_PASSWORD, WAGO_ALLOW_WRITES, à renseigner dans sa configuration.
WAGO PLC est-il open source ?
Son code est public sur GitHub, mais le dépôt ne déclare pas de licence standard.
Qui maintient WAGO PLC ?
Il est publié par WagoAlex. AI.tn le référence sans le maintenir ni le recommander.
Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.