addrbookFor publishers
← The evidence ledger

Evidence row 277850

Observed , by sync.mcp_registry/1.

Kind
listing
About
source_record mcp_registry:io.github.mechubsec/rustjunosmcp
Recorded
Previous row
#224247
Body SHA-256
a8637d9fddc97cfaacf8bded4bd174a777aa7a50c1ee7d348a06738b3af317aa
Leaf
0xa0d7d819693e23abe620f4d965b5e4ab301d78eb2a4fc88a078666050687617d

What was observed

{
  "endpoints": [
    [
      "web",
      "https://github.com/mechubsec/rustjunosmcp"
    ]
  ],
  "name": "rust-junosmcp",
  "owner_address": null,
  "raw": {
    "_meta": {
      "io.modelcontextprotocol.registry/official": {
        "isLatest": true,
        "publishedAt": "2026-10-26T18:30:25.641256Z",
        "status": "active",
        "statusChangedAt": "2026-10-26T18:30:25.641256Z",
        "updatedAt": "2026-10-26T18:30:25.641256Z"
      }
    },
    "server": {
      "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
      "description": "Juniper Junos/SRX MCP server: scoped, audited, two-person change control. Rust.",
      "name": "io.github.mechubsec/rustjunosmcp",
      "packages": [
        {
          "identifier": "ghcr.io/mechubsec/rustjunosmcp:2.4.0",
          "packageArguments": [
            {
              "isRequired": true,
              "name": "--transport",
              "type": "named",
              "value": "stdio"
            }
          ],
          "registryType": "oci",
          "runtimeArguments": [
            {
              "isRequired": true,
              "type": "positional",
              "value": "--rm"
            },
            {
              "isRequired": true,
              "type": "positional",
              "value": "-i"
            },
            {
              "isRequired": true,
              "name": "-v",
              "type": "named",
              "value": "{devices_file}:/etc/jmcp/devices.json:ro",
              "variables": {
                "devices_file": {
                  "description": "Absolute host path to devices.json (Juniper/junos-mcp-server inventory format)",
                  "format": "filepath",
                  "isRequired": true
                }
              }
            },
            {
              "isRequired": true,
              "name": "-v",
              "type": "named",
              "value": "{keys_dir}:/etc/jmcp/keys:ro",
              "variables": {
                "keys_dir": {
                  "description": "Absolute host directory holding SSH private keys referenced by devices.json",
                  "format": "filepath",
                  "isRequired": true
                }
              }
            },
            {
              "isRequired": true,
              "name": "-v",
              "type": "named",
              "value": "{state_dir}:/var/lib/jmcp",
              "variables": {
                "state_dir": {
                  "description": "Absolute host directory for persistent state (known_hosts, leases, staging); must be owned by UID 65532",
                  "format": "filepath",
                  "isRequired": true
                }
              }
            }
          ],
          "runtimeHint": "docker",
          "transport": {
            "type": "stdio"
          }
        }
      ],
      "repository": {
        "source": "github",
        "url": "https://github.com/mechubsec/rustjunosmcp"
      },
      "title": "rust-junosmcp",
      "version": "2.4.0",
      "websiteUrl": "https://github.com/mechubsec/rustjunosmcp"
    }
  },
  "source": "mcp_registry",
  "summary": "Juniper Junos/SRX MCP server: scoped, audited, two-person change control. Rust."
}

What the leaf hashes

{"body":"a8637d9fddc97cfaacf8bded4bd174a777aa7a50c1ee7d348a06738b3af317aa","id":277850,"kind":"listing","method":"sync.mcp_registry/1","observed_us":1793042043603168,"prev":224247,"subject":"mcp_registry:io.github.mechubsec/rustjunosmcp","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. 0xa0d7e1353f8e05af511c2bdc8a5fc32ee5fb5406284fe19d95ed3b020890f9c1
  2. 0xeaaebdcab796dac75a63c0286f2ed3526e30cc7f49eeda975078c7bda28434b7
  3. 0x9d899a1b8c7a326933db52bf8682a4d964e5a0d527cbb772cb14fda8f04cec8b
  4. 0x62fa3890371756573b196038122967728569298d38794796290dd87f9ef7f4a5
  5. 0xf5dad7d59dcc00d9c0cfb5985466bea3716836873e158bfe543c2e187a55a885
  6. 0xfd72b85094f9d3f588db9383f67595b1c98674c2e40657c1bd7b4ecd6fe781a6
  7. 0x78bb66f8a6df4d5cf64a515c7e107f8bfe8cd13dafb9c30ada28df3d9d31c409
  8. 0x51df6236b7cdcdae2b83e1f403b6b31ad753cbf16b6b0f07df2d49788fe551d0
  9. 0x656efeb7d96e50aeb0381af9e9cce10bc5892a86ec74eee8952a09201c5f9ffd
  10. 0x848cf5e604d5f0c62cc02d3abe512164430820fceefd529d003cbca06e431809
  11. 0x6e2c6fb1ec16c0d8a0fa917725bdfc512e7ed9f39e77d64f0a911d30e68a27de
  12. 0x95576cc3dd18642c859f679cefa1cf80bfc6c690b065916c3585b14e8ef4b1b3
  13. 0xf8d3e004d9a208d2c5e82ab676956d80f8a3c78387c61dad15a3a8269efee0d8
  14. 0x6713795704ddd9c528d421fadd9cc96b0200a4ddbba84f88e718d4968dde888b
  15. 0x62a900133713919f4eed33d8336876b7a6d538233b8a4f3ed03b29aa44f5bad0
  16. 0x1ac20d30773e1f4f2f811540e9a99b5cca9177c9e2e029acc0d80cf3f1d11f0f
  17. 0xd21942ae3214eff88e08ab04884fd4b11958b51af9a0741b7668e2d07a2c56c9
  18. 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON