WAGO PLC MCP server
io.github.WagoAlex/wago-plc-mcp-server·v2.4.4·3 starsRead and monitor WAGO PLC parameters over the WDA REST API. Read-only unless writes are allowed.
3 stars
Reviews
Write oneNobody has reviewed WAGO PLC yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
WAGO PLC tools (29, 8 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
create_filewrite actionAllocate a file_id for uploading content into a file_id-typed parameter.
create_watchlistwrite actionCreate a server-side watchlist of parameters for efficient repeated polling.
delete_method_runwrite actionFree a server-side run result before it expires on its own. Optional housekeeping, not required for correctness.
delete_watchlistwrite actionDelete a watchlist to free server resources before timeout.
describe_plcGet capability summary for a PLC: counts + feature names. Cheap, cached.
download_fileDownload a file's content as base64. Pairs with a parameter whose dataType is file_id.
find_methodsSearch method IDs by substring/fuzzy match. Returns up to `limit` matches (default 20).
find_parametersSearch parameter IDs by substring/fuzzy match. Returns up to `limit` matches (default 20, max 255).
get_deviceGet a device resource plus the features it exposes (one call).
get_enum_definitionGet an enum definition's cases (value → stringValue). Useful to inspect an enum's full case list directly.
get_featureGet a feature plus its composition: nested features, contained parameter/method definitions (one call).
get_file_metadataHEAD a file_id — size/content-type without downloading the body.
get_methodGet method metadata with inline inArgs/outArgs signatures. One call gives the full schema needed for invoke_method.
get_method_runwrite actionPoll an async method run. Use after invoke_method(wait=False) to check status.
get_parameterRead a single parameter value. Resolves enum values to human-readable labels.
get_parameter_definitionGet a parameter's definition: writeable, userSetting, dataType, related enum — without reading its value.
get_parameter_instanceGet one class-parameter instance: its device, own parameters, and methods (one call).
get_parameter_referenced_instancesFor an instance_identity_ref-typed parameter: the class instances that reference it.
get_parameters_bulkRead one parameter from multiple PLCs in parallel — one call instead of N.
get_plc_audit_logReturn recent audit log entries, newest first.
invoke_methodInvoke a method. Pass `arguments` as a flat dict {name: value}.
list_method_runsList past runs of a method still held server-side (audit/inspection use).
list_parameter_instancesList instance numbers of a class-typed parameter (dataType 'instantiations'). Use get_parameter_instance for detail.
list_plcsList all reachable WAGO PLCs. Use first to find a target IP.
list_watchlistsList watchlist IDs still active server-side (e.g. after a restart, to find orphans).
read_watchlistRead current values from an existing watchlist. Resets the timeout.
set_parameterwrite actionWrite a single parameter. Prefer set_parameters for more than one — same PATCH-per-call cost either way.
set_parameterswrite actionWrite multiple parameters in one PATCH call. Pre-validates writeability from cache.
upload_filewrite actionUpload whole file content (base64-encoded) to a file_id from create_file.
Public scan report
scanner v0.1.10 · 2026-10-02 · same rubric, same numbers if you re-run it
- Code scan13 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenancelast push 3 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How WAGO PLC compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 83/100
- higher than 65% of 48,255 servers
- Tools
- 29
- the typical server has 7
- Tools that change things
- 28%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 3
- more than 80% of 28,688 servers
What its tools let an agent do: 20 read · 3 create · 3 change · 2 delete · 1 run or deploy
Release history: 3 versions in the registry since 2026-09-16, latest 2026-09-21, typically one every 3 days.
Install WAGO PLC in Claude Code, Cursor or VS Code
claude mcp add wago-plc-mcp-server -- uvx wago-plc-mcp-server
What the publisher says
From the WAGO PLC repository's README, as published. We do not edit it. Read it on GitHub
<!-- mcp-name: io.github.WagoAlex/wago-plc-mcp-server -->
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-.mcpb from the latest release.
- In Claude Desktop, go to Settings → Extensions.
- Drag the .mcpb file 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.
- An audit log records each write and each method call.
For the full rules, see How it works.
Next steps
Supported devices: CC100, PFC100 G2, PFC200 G2, PFC300, Edge Controller, WP400, and TP600. For the tested firmware versions, see Supported hardware.
License
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
WAGO PLC: common questions
- Is WAGO PLC MCP server safe?
- Mostly: it is graded B (83/100). Read the WAGO PLC safety report
- How do I install WAGO PLC?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does WAGO PLC need an API key?
- Yes. The registry entry asks for
DEFAULT_PLC_PASSWORD. - Is WAGO PLC maintained?
- The last commit was 35 days ago (2026-09-30). The latest release is v2.4.4.
- How does WAGO PLC compare with other MCP servers?
- safety score 83/100 (higher than 65% of 48,255 servers); tools 29 (the typical server has 7); tools that change things 28% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.