MCP.Market

WAGO PLC MCP server

by WagoAlex·io.github.WagoAlex/wago-plc-mcp-server·v2.4.4·3 stars

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

B83/100grade B
What users say
No reviews yet
Be the first
Safety scan
B83/100

full report

Adoption
Growing

3 stars

Reviews

Write one

Nobody 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 posts

Read from the package source without running it. The installed server may list more.

  • create_filewrite action

    Allocate a file_id for uploading content into a file_id-typed parameter.

  • create_watchlistwrite action

    Create a server-side watchlist of parameters for efficient repeated polling.

  • delete_method_runwrite action

    Free a server-side run result before it expires on its own. Optional housekeeping, not required for correctness.

  • delete_watchlistwrite action

    Delete a watchlist to free server resources before timeout.

  • describe_plc

    Get capability summary for a PLC: counts + feature names. Cheap, cached.

  • download_file

    Download a file's content as base64. Pairs with a parameter whose dataType is file_id.

  • find_methods

    Search method IDs by substring/fuzzy match. Returns up to `limit` matches (default 20).

  • find_parameters

    Search parameter IDs by substring/fuzzy match. Returns up to `limit` matches (default 20, max 255).

  • get_device

    Get a device resource plus the features it exposes (one call).

  • get_enum_definition

    Get an enum definition's cases (value → stringValue). Useful to inspect an enum's full case list directly.

  • get_feature

    Get a feature plus its composition: nested features, contained parameter/method definitions (one call).

  • get_file_metadata

    HEAD a file_id — size/content-type without downloading the body.

  • get_method

    Get method metadata with inline inArgs/outArgs signatures. One call gives the full schema needed for invoke_method.

  • get_method_runwrite action

    Poll an async method run. Use after invoke_method(wait=False) to check status.

  • get_parameter

    Read a single parameter value. Resolves enum values to human-readable labels.

  • get_parameter_definition

    Get a parameter's definition: writeable, userSetting, dataType, related enum — without reading its value.

  • get_parameter_instance

    Get one class-parameter instance: its device, own parameters, and methods (one call).

  • get_parameter_referenced_instances

    For an instance_identity_ref-typed parameter: the class instances that reference it.

  • get_parameters_bulk

    Read one parameter from multiple PLCs in parallel — one call instead of N.

  • get_plc_audit_log

    Return recent audit log entries, newest first.

  • invoke_method

    Invoke a method. Pass `arguments` as a flat dict {name: value}.

  • list_method_runs

    List past runs of a method still held server-side (audit/inspection use).

  • list_parameter_instances

    List instance numbers of a class-typed parameter (dataType 'instantiations'). Use get_parameter_instance for detail.

  • list_plcs

    List all reachable WAGO PLCs. Use first to find a target IP.

  • list_watchlists

    List watchlist IDs still active server-side (e.g. after a restart, to find orphans).

  • read_watchlist

    Read current values from an existing watchlist. Resets the timeout.

  • set_parameterwrite action

    Write a single parameter. Prefer set_parameters for more than one — same PATCH-per-call cost either way.

  • set_parameterswrite action

    Write multiple parameters in one PATCH call. Pre-validates writeability from cache.

  • upload_filewrite action

    Upload 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

no findings
  • 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
Overall 83/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

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
Add to Cursor

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.

  1. Download wago-plc-mcp-server-.mcpb from the latest release.
  2. In Claude Desktop, go to Settings → Extensions.
  3. Drag the .mcpb file onto the window.
  4. In the form, enter the PLC IP address and the WBM password. Then save the form.
  5. 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.