← 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).
- 0xbdbdd061ff096017b8856ebc0742e953b884aad95630ee15cc166bf842d53128
- 0x39a2fe9ab6a90f90d2b1748c4cdd11bb72449240f7458edaa336c5e2c0bf46ba
- 0x3df797ee711e52b51fc3b004b2d2125820a9926eb27a7de62ce15d3f327cd80d
- 0x17e9c9cba2a17f1a3cd06e312ad8737b6d98d5d37228931be37402815bf9575a
- 0x6bf834529a5b9dd3399aed1b1a3ac428c5763d95d50b432e3797e0057ccbf795
- 0xe9014bbbb13d07220923ffab5c69dfaeac12e113c39ddf01fd478c00624b6dc0
- 0xe04c50bd64cb687fb9eadce3d6f680327fce85798c40ba0703ba18f9465da440
- 0xa693bb9295d036baeb4b498fe727f2f0a582085884999078e1fe0316576e7b26
- 0x9526bcec5203a2d2bf4d8ced6bfa4e5bdea2a8d30f09b2614941f3f6d1c6bd91
- 0xa8048983031bd787175feb9b6005110e63644ce412e11f8e1c15af8a960bfe20
- 0x135102b1595b48b3b1604ed9b55766b9654dc2e33631a8be15cb316d09a36075
- 0xa6f71fd6c3a59323bf7c5386a54935b14c555d8c717289cc73700f56d86994cd
- 0xd5b5bb5812612371a70171b2252d90e95bb0581ea5a3be198122adc8442e4f79
- 0xf692ce2b0a640ec9f75aa960e5fb1c2c7091a04e24881798735752c19014e519
- 0x9f68b5e15459cb62b8c0cd4c124fa61c74147b4a5755a200fbecd21a581635d1
- 0x123ec8bee20ddc55223eeef5a4f4d6c4b6416515adbb911c56759f5cde56e452
- 0xd0651cb9bc8155eb52b5247d506e74b8a935057dc190ba52091702ac25ed3a40
- 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
- 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
- Day root
- 0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
- Chained
- 0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
- Published
- On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae