addrbookFor publishers
← The evidence ledger

Evidence row 42846

Observed , by baseline/1.

Kind
listing
About
source_record mcp_registry:io.github.mhajder/netbox-mcp
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
f6337061bb134e68ff21ea4b6dc55c4507166bd534dc9e0df65a966d3613bef1
Leaf
0x1b18badf95d5a802fb41204fdc90ff5512ed01934de23a4929d1b27d54c883d4

What was observed

{
  "endpoints": [
    [
      "web",
      "https://github.com/mhajder/netbox-mcp"
    ]
  ],
  "name": "NetBox MCP",
  "owner_address": null,
  "raw": {
    "_meta": {
      "io.modelcontextprotocol.registry/official": {
        "isLatest": true,
        "publishedAt": "2026-10-23T20:56:15.368175Z",
        "status": "active",
        "statusChangedAt": "2026-10-23T20:56:15.368175Z",
        "updatedAt": "2026-10-23T20:56:15.368175Z"
      }
    },
    "server": {
      "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
      "description": "MCP server for NetBox DCIM/IPAM with read-only and dry-run modes",
      "name": "io.github.mhajder/netbox-mcp",
      "packages": [
        {
          "environmentVariables": [
            {
              "description": "NetBox base URL (e.g., https://netbox.example.com)",
              "isRequired": true,
              "name": "NETBOX_URL"
            },
            {
              "description": "NetBox API token: v2 (nbt_<key>.<token>, NetBox 4.5+) or legacy v1",
              "isRequired": true,
              "isSecret": true,
              "name": "NETBOX_TOKEN"
            },
            {
              "default": "true",
              "description": "Verify SSL certificates (true/false)",
              "name": "NETBOX_VERIFY_SSL"
            },
            {
              "default": "30",
              "description": "Total time allowed for one NetBox request, retries included (seconds)",
              "name": "NETBOX_TIMEOUT"
            },
            {
              "default": "false",
              "description": "Enable netbox-branching support: branch tools and the 'branch' argument (requires the netbox-branching plugin) (true/false)",
              "name": "NETBOX_BRANCHING_ENABLED"
            },
            {
              "description": "Default netbox-branching branch (name or schema ID) for every call; requires NETBOX_BRANCHING_ENABLED=true",
              "name": "NETBOX_BRANCH"
            },
            {
              "default": "false",
              "description": "Discover plugin object types from /api/core/object-types/ (true/false)",
              "name": "NETBOX_PLUGIN_DISCOVERY"
            },
            {
              "default": "false",
              "description": "Hide all write tools (create, update, delete) (true/false)",
              "name": "READ_ONLY_MODE"
            },
            {
              "default": "false",
              "description": "Write tools only simulate changes and never modify NetBox (true/false)",
              "name": "DRY_RUN_MODE"
            },
            {
              "description": "Comma-separated tool tags to disable (e.g. delete,graphql,branching)",
              "name": "DISABLED_TAGS"
            },
            {
              "default": "INFO",
              "description": "Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)",
              "name": "LOG_LEVEL"
            },
            {
              "description": "Maximum tool response size in bytes (unset = unlimited)",
              "name": "RESPONSE_MAX_SIZE"
            },
            {
              "default": "false",
              "description": "Enable rate limiting",
              "name": "RATE_LIMIT_ENABLED"
            },
            {
              "default": "60",
              "description": "Maximum requests per rate limit window",
              "name": "RATE_LIMIT_MAX_REQUESTS"
            },
            {
              "default": "1",
              "description": "Rate limit window in minutes",
              "name": "RATE_LIMIT_WINDOW_MINUTES"
            },
            {
              "default": "false",
              "description": "Enable FastMCP tool search transform",
              "name": "TOOL_SEARCH_ENABLED"
            },
            {
              "default": "bm25",
              "description": "Tool search strategy (bm25 or regex)",
              "name": "TOOL_SEARCH_STRATEGY"
            },
            {
              "default": "5",
              "description": "Maximum tool search results returned by search_tools",
              "name": "TOOL_SEARCH_MAX_RESULTS"
            }
          ],
          "identifier": "netbox-mcp",
          "registryType": "pypi",
          "runtimeHint": "uvx",
          "transport": {
            "type": "stdio"
          },
          "version": "0.2.1"
        },
        {
          "environmentVariables": [
            {
              "description": "NetBox base URL (e.g., https://netbox.example.com)",
              "isRequired": true,
              "name": "NETBOX_URL"
            },
            {
              "description": "NetBox API token: v2 (nbt_<key>.<token>, NetBox 4.5+) or legacy v1",
              "isRequired": true,
              "isSecret": true,
              "name": "NETBOX_TOKEN"
            },
            {
              "default": "true",
              "description": "Verify SSL certificates (true/false)",
              "name": "NETBOX_VERIFY_SSL"
            },
            {
              "default": "30",
              "description": "Total time allowed for one NetBox request, retries included (seconds)",
              "name": "NETBOX_TIMEOUT"
            },
            {
              "default": "false",
              "description": "Enable netbox-branching support: branch tools and the 'branch' argument (requires the netbox-branching plugin) (true/false)",
              "name": "NETBOX_BRANCHING_ENABLED"
            },
            {
              "description": "Default netbox-branching branch (name or schema ID) for every call; requires NETBOX_BRANCHING_ENABLED=true",
              "name": "NETBOX_BRANCH"
            },
            {
              "default": "false",
              "description": "Discover plugin object types from /api/core/object-types/ (true/false)",
              "name": "NETBOX_PLUGIN_DISCOVERY"
            },
            {
              "default": "false",
              "description": "Hide all write tools (create, update, delete) (true/false)",
              "name": "READ_ONLY_MODE"
            },
            {
              "default": "false",
              "description": "Write tools only simulate changes and never modify NetBox (true/false)",
              "name": "DRY_RUN_MODE"
            },
            {
              "description": "Comma-separated tool tags to disable (e.g. delete,graphql,branching)",
              "name": "DISABLED_TAGS"
            },
            {
              "default": "INFO",
              "description": "Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)",
              "name": "LOG_LEVEL"
            },
            {
              "description": "Maximum tool response size in bytes (unset = unlimited)",
              "name": "RESPONSE_MAX_SIZE"
            },
            {
              "default": "false",
              "description": "Enable rate limiting",
              "name": "RATE_LIMIT_ENABLED"
            },
            {
              "default": "60",
              "description": "Maximum requests per rate limit window",
              "name": "RATE_LIMIT_MAX_REQUESTS"
            },
            {
              "default": "1",
              "description": "Rate limit window in minutes",
              "name": "RATE_LIMIT_WINDOW_MINUTES"
            },
            {
              "default": "false",
              "description": "Enable FastMCP tool search transform",
              "name": "TOOL_SEARCH_ENABLED"
            },
            {
              "default": "bm25",
              "description": "Tool search strategy (bm25 or regex)",
              "name": "TOOL_SEARCH_STRATEGY"
            },
            {
              "default": "5",
              "description": "Maximum tool search results returned by search_tools",
              "name": "TOOL_SEARCH_MAX_RESULTS"
            },
            {
              "default": "8000",
              "description": "Port for HTTP server (default: 8000)",
              "name": "MCP_HTTP_PORT"
            },
            {
              "description": "MCP transport type: stdio, sse, or http (alias: streamable-http)",
              "name": "MCP_TRANSPORT",
              "value": "http"
            }
          ],
          "identifier": "netbox-mcp",
          "registryType": "pypi",
          "runtimeHint": "uvx",
          "transport": {
            "type": "streamable-http",
            "url": "http://localhost:{MCP_HTTP_PORT}/mcp"
          },
          "version": "0.2.1"
        },
        {
          "environmentVariables": [
            {
              "description": "NetBox base URL (e.g., https://netbox.example.com)",
              "isRequired": true,
              "name": "NETBOX_URL"
            },
            {
              "description": "NetBox API token: v2 (nbt_<key>.<token>, NetBox 4.5+) or legacy v1",
              "isRequired": true,
              "isSecret": true,
              "name": "NETBOX_TOKEN"
            },
            {
              "default": "true",
              "description": "Verify SSL certificates (true/false)",
              "name": "NETBOX_VERIFY_SSL"
            },
            {
              "default": "30",
              "description": "Total time allowed for one NetBox request, retries included (seconds)",
              "name": "NETBOX_TIMEOUT"
            },
            {
              "default": "false",
              "description": "Enable netbox-branching support: branch tools and the 'branch' argument (requires the netbox-branching plugin) (true/false)",
              "name": "NETBOX_BRANCHING_ENABLED"
            },
            {
              "description": "Default netbox-branching branch (name or schema ID) for every call; requires NETBOX_BRANCHING_ENABLED=true",
              "name": "NETBOX_BRANCH"
            },
            {
              "default": "false",
              "description": "Discover plugin object types from /api/core/object-types/ (true/false)",
              "name": "NETBOX_PLUGIN_DISCOVERY"
            },
            {
              "default": "false",
              "description": "Hide all write tools (create, update, delete) (true/false)",
              "name": "READ_ONLY_MODE"
            },
            {
              "default": "false",
              "description": "Write tools only simulate changes and never modify NetBox (true/false)",
              "name": "DRY_RUN_MODE"
            },
            {
              "description": "Comma-separated tool tags to disable (e.g. delete,graphql,branching)",
              "name": "DISABLED_TAGS"
            },
            {
              "default": "INFO",
              "description": "Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)",
              "name": "LOG_LEVEL"
            },
            {
              "description": "Maximum tool response size in bytes (unset = unlimited)",
              "name": "RESPONSE_MAX_SIZE"
            },
            {
              "default": "false",
              "description": "Enable rate limiting",
              "name": "RATE_LIMIT_ENABLED"
            },
            {
              "default": "60",
              "description": "Maximum requests per rate limit window",
              "name": "RATE_LIMIT_MAX_REQUESTS"
            },
            {
              "default": "1",
              "description": "Rate limit window in minutes",
              "name": "RATE_LIMIT_WINDOW_MINUTES"
            },
            {
              "default": "false",
              "description": "Enable FastMCP tool search transform",
              "name": "TOOL_SEARCH_ENABLED"
            },
            {
              "default": "bm25",
              "description": "Tool search strategy (bm25 or regex)",
              "name": "TOOL_SEARCH_STRATEGY"
            },
            {
              "default": "5",
              "description": "Maximum tool search results returned by search_tools",
              "name": "TOOL_SEARCH_MAX_RESULTS"
            },
            {
              "default": "8000",
              "description": "Port for HTTP server (default: 8000)",
              "name": "MCP_HTTP_PORT"
            }
          ],
          "identifier": "ghcr.io/mhajder/netbox-mcp:0.2.1",
          "registryType": "oci",
          "runtimeArguments": [
            {
              "description": "Port mapping for HTTP transport",
              "isRequired": true,
              "name": "-p",
              "type": "named",
              "value": "{MCP_HTTP_PORT}:8000"
            }
          ],
          "transport": {
            "type": "streamable-http",
            "url": "http://localhost:{MCP_HTTP_PORT}/mcp"
          }
        }
      ],
      "repository": {
        "source": "github",
        "url": "https://github.com/mhajder/netbox-mcp"
      },
      "title": "NetBox MCP",
      "version": "0.2.1",
      "websiteUrl": "https://github.com/mhajder/netbox-mcp"
    }
  },
  "source": "mcp_registry",
  "summary": "MCP server for NetBox DCIM/IPAM with read-only and dry-run modes"
}

What the leaf hashes

{"body":"f6337061bb134e68ff21ea4b6dc55c4507166bd534dc9e0df65a966d3613bef1","id":42846,"kind":"listing","method":"baseline/1","observed_us":1793025401642007,"prev":null,"subject":"mcp_registry:io.github.mhajder/netbox-mcp","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. 0x1b1881cf8d8e7167d0d83828de12c28268f091adc00837983dcc122fbd182104
  2. 0x020a67ee73138a4ebf76e839085d24c12a41e43b2038e095b3e6cc4e6a4792b0
  3. 0x7efdd5c1e4d84340bc302d9c176d5af64b59e9d0324e131f76878b1fee9b11c9
  4. 0x4232024029775d8345560de837314cadcd8a9e4a2c2f7f23795bac670fedf7ce
  5. 0x9280d745a5e35b0c4aaf0c8bbe26098fc009740d43e6207834601bbfa7361188
  6. 0x89b3cd94a106c44d332a2421074625f625de24bbe56d2c05916b520d18e79e75
  7. 0x44412c5f2d9ff6739a22ce84b06a5a9cd0bdb839d08828acb6037c571ae49549
  8. 0xcdc8e486c32e6d31a532431e16f64007660978ea222b4e285d4ffd27fe62eed3
  9. 0x97449e605b0b8c3f1158a3f63484426bc862547d46b75f80b2a28b85bef68126
  10. 0x850c26c367ed4b0c237a13380d2cdbeae58800e68a9d29b45c6c1d339228de2a
  11. 0x3f914e3a1f6c506299e42b0c551da50ec7ac2c0f0e69260eab2262111b4eb14b
  12. 0x7ab2e7902b312a74cfdbc32b2906ced29b1fb9dc4280b5378e8eb181ad88686e
  13. 0xe00c7829e46541e49a308807d357db902e06eff941a833217a8f0dbccd3964f1
  14. 0x770e4376196188c7fc9ec40f8e218dc0d1cb92bba5fe0425a0edce27ca9a997f
  15. 0x60582ab4b41e72eb70eb0bce07fbf0fb4d2b62a8bad5be50f5d16d511adc746c
  16. 0xc6a4d7899a0f442958e26505011190b7cff2483611c1b94eba9043e0ba9ac36e
  17. 0x8c756542e482157df0c36464d75c937b845e4423dbbcfad08f0cf8d5a16b9a13
  18. 0x20704208aa6923d6b2450ef74ede87a6e0265d46447926038fe9506e9e154b2d
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON