addrbookFor publishers
← The evidence ledger

Evidence row 32101

Observed , by baseline/1.

Kind
listing
About
source_record mcp_registry:io.github.WagoAlex/wago-plc-mcp-server
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
a636fc16f2869f6903fa0c292af5bce39e32668e6d2e1bfe7b1486cde4c5555b
Leaf
0xbdbd56006060802d06921d3f3d2b77dc5825cf62b1d3dde2f1fdd1f62e945d56

What was observed

{
  "endpoints": [
    [
      "web",
      "https://github.com/WagoAlex/wago-plc-mcp-server"
    ]
  ],
  "name": "WAGO PLC",
  "owner_address": null,
  "raw": {
    "_meta": {
      "io.modelcontextprotocol.registry/official": {
        "isLatest": true,
        "publishedAt": "2026-09-21T12:19:36.674164Z",
        "status": "active",
        "statusChangedAt": "2026-09-21T12:19:36.674164Z",
        "updatedAt": "2026-09-21T12:19:36.674164Z"
      }
    },
    "server": {
      "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
      "description": "Read and monitor WAGO PLC parameters over the WDA REST API. Read-only unless writes are allowed.",
      "name": "io.github.WagoAlex/wago-plc-mcp-server",
      "packages": [
        {
          "environmentVariables": [
            {
              "description": "MCP transport. Fixed to stdio for this package.",
              "isRequired": true,
              "name": "TRANSPORT",
              "value": "stdio"
            },
            {
              "description": "Comma-separated IPs of the WAGO PLCs, reachable from this machine",
              "isRequired": true,
              "name": "WAGO_PLC_HOSTS",
              "placeholder": "192.168.1.10,192.168.1.11"
            },
            {
              "default": "admin",
              "description": "WBM username on the PLCs",
              "isRequired": true,
              "name": "DEFAULT_PLC_USERNAME"
            },
            {
              "description": "WBM password, same on all listed PLCs",
              "isRequired": true,
              "isSecret": true,
              "name": "DEFAULT_PLC_PASSWORD"
            },
            {
              "default": "45",
              "description": "WDA request timeout. CC100 needs 45 or more, other controllers work with 15",
              "format": "number",
              "name": "WAGO_TIMEOUT_SECONDS"
            },
            {
              "choices": [
                "false",
                "true"
              ],
              "default": "false",
              "description": "true lets the agent change parameters, run methods and upload files. Anything else keeps every PLC read-only",
              "format": "boolean",
              "isRequired": true,
              "name": "WAGO_ALLOW_WRITES"
            },
            {
              "description": "Optional path for the tamper-evident audit log of writes and refusals",
              "format": "filepath",
              "name": "AUDIT_LOG_FILE"
            }
          ],
          "identifier": "wago-plc-mcp-server",
          "registryType": "pypi",
          "runtimeHint": "uvx",
          "transport": {
            "type": "stdio"
          },
          "version": "2.4.4"
        },
        {
          "environmentVariables": [
            {
              "description": "MCP transport. Fixed to stdio for this package.",
              "isRequired": true,
              "name": "TRANSPORT",
              "value": "stdio"
            },
            {
              "description": "Comma-separated IPs of the WAGO PLCs, reachable from this machine",
              "isRequired": true,
              "name": "WAGO_PLC_HOSTS",
              "placeholder": "192.168.1.10,192.168.1.11"
            },
            {
              "default": "admin",
              "description": "WBM username on the PLCs",
              "isRequired": true,
              "name": "DEFAULT_PLC_USERNAME"
            },
            {
              "description": "WBM password, same on all listed PLCs",
              "isRequired": true,
              "isSecret": true,
              "name": "DEFAULT_PLC_PASSWORD"
            },
            {
              "default": "45",
              "description": "WDA request timeout. CC100 needs 45 or more, other controllers work with 15",
              "format": "number",
              "name": "WAGO_TIMEOUT_SECONDS"
            },
            {
              "choices": [
                "false",
                "true"
              ],
              "default": "false",
              "description": "true lets the agent change parameters, run methods and upload files. Anything else keeps every PLC read-only",
              "format": "boolean",
              "isRequired": true,
              "name": "WAGO_ALLOW_WRITES"
            },
            {
              "description": "Optional path for the tamper-evident audit log of writes and refusals",
              "format": "filepath",
              "name": "AUDIT_LOG_FILE"
            }
          ],
          "identifier": "docker.io/wagoalex/wago-plc-mcp-server:2.4.4",
          "registryType": "oci",
          "runtimeArguments": [
            {
              "description": "PLC subnets are routed via the host network",
              "name": "--network",
              "type": "named",
              "value": "host"
            }
          ],
          "runtimeHint": "docker",
          "transport": {
            "type": "stdio"
          }
        }
      ],
      "repository": {
        "source": "github",
        "url": "https://github.com/WagoAlex/wago-plc-mcp-server"
      },
      "title": "WAGO PLC",
      "version": "2.4.4",
      "websiteUrl": "https://github.com/WagoAlex/wago-plc-mcp-server"
    }
  },
  "source": "mcp_registry",
  "summary": "Read and monitor WAGO PLC parameters over the WDA REST API. Read-only unless writes are allowed."
}

What the leaf hashes

{"body":"a636fc16f2869f6903fa0c292af5bce39e32668e6d2e1bfe7b1486cde4c5555b","id":32101,"kind":"listing","method":"baseline/1","observed_us":1793025365813410,"prev":null,"subject":"mcp_registry:io.github.WagoAlex/wago-plc-mcp-server","subject_kind":"source_record"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).

  1. 0xbdbdd061ff096017b8856ebc0742e953b884aad95630ee15cc166bf842d53128
  2. 0x39a2fe9ab6a90f90d2b1748c4cdd11bb72449240f7458edaa336c5e2c0bf46ba
  3. 0x3df797ee711e52b51fc3b004b2d2125820a9926eb27a7de62ce15d3f327cd80d
  4. 0x17e9c9cba2a17f1a3cd06e312ad8737b6d98d5d37228931be37402815bf9575a
  5. 0x6bf834529a5b9dd3399aed1b1a3ac428c5763d95d50b432e3797e0057ccbf795
  6. 0xe9014bbbb13d07220923ffab5c69dfaeac12e113c39ddf01fd478c00624b6dc0
  7. 0xe04c50bd64cb687fb9eadce3d6f680327fce85798c40ba0703ba18f9465da440
  8. 0xa693bb9295d036baeb4b498fe727f2f0a582085884999078e1fe0316576e7b26
  9. 0x9526bcec5203a2d2bf4d8ced6bfa4e5bdea2a8d30f09b2614941f3f6d1c6bd91
  10. 0xa8048983031bd787175feb9b6005110e63644ce412e11f8e1c15af8a960bfe20
  11. 0x135102b1595b48b3b1604ed9b55766b9654dc2e33631a8be15cb316d09a36075
  12. 0xa6f71fd6c3a59323bf7c5386a54935b14c555d8c717289cc73700f56d86994cd
  13. 0xd5b5bb5812612371a70171b2252d90e95bb0581ea5a3be198122adc8442e4f79
  14. 0xf692ce2b0a640ec9f75aa960e5fb1c2c7091a04e24881798735752c19014e519
  15. 0x9f68b5e15459cb62b8c0cd4c124fa61c74147b4a5755a200fbecd21a581635d1
  16. 0x123ec8bee20ddc55223eeef5a4f4d6c4b6416515adbb911c56759f5cde56e452
  17. 0xd0651cb9bc8155eb52b5247d506e74b8a935057dc190ba52091702ac25ed3a40
  18. 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON