addrbookFor publishers
← The evidence ledger

Evidence row 42847

Observed , by baseline/1.

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

What was observed

{
  "endpoints": [
    [
      "web",
      "https://github.com/mhajder/oxidized-mcp"
    ]
  ],
  "name": "Oxidized MCP",
  "owner_address": null,
  "raw": {
    "_meta": {
      "io.modelcontextprotocol.registry/official": {
        "isLatest": true,
        "publishedAt": "2026-10-23T20:53:22.159175Z",
        "status": "active",
        "statusChangedAt": "2026-10-23T20:53:22.159175Z",
        "updatedAt": "2026-10-23T20:53:22.159175Z"
      }
    },
    "server": {
      "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
      "description": "MCP server for Oxidized network device configuration backups",
      "name": "io.github.mhajder/oxidized-mcp",
      "packages": [
        {
          "environmentVariables": [
            {
              "description": "Oxidized web base URL (e.g., http://localhost:8888)",
              "isRequired": true,
              "name": "OXIDIZED_URL"
            },
            {
              "description": "HTTP Basic auth username (e.g., for a reverse proxy in front of oxidized-web)",
              "name": "OXIDIZED_USERNAME"
            },
            {
              "description": "HTTP Basic auth password",
              "isSecret": true,
              "name": "OXIDIZED_PASSWORD"
            },
            {
              "default": "true",
              "description": "Verify SSL certificates (true/false)",
              "name": "OXIDIZED_VERIFY_SSL"
            },
            {
              "default": "30",
              "description": "Request timeout in seconds",
              "name": "OXIDIZED_TIMEOUT"
            },
            {
              "default": "300",
              "description": "Timeout in seconds for configuration searches (oxidized-web reads every stored configuration)",
              "name": "OXIDIZED_SEARCH_TIMEOUT"
            },
            {
              "default": "true",
              "description": "Redact node vars (may contain device credentials) in tool output",
              "name": "OXIDIZED_REDACT_NODE_VARS"
            },
            {
              "default": "false",
              "description": "Enable read-only mode to restrict write operations",
              "name": "READ_ONLY_MODE"
            },
            {
              "description": "Comma-separated list of tags to disable tools for",
              "name": "OXIDIZED_DISABLED_TAGS"
            },
            {
              "default": "INFO",
              "description": "Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)",
              "name": "LOG_LEVEL"
            },
            {
              "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": "oxidized-mcp",
          "registryType": "pypi",
          "runtimeHint": "uvx",
          "transport": {
            "type": "stdio"
          },
          "version": "0.2.1"
        },
        {
          "environmentVariables": [
            {
              "description": "Oxidized web base URL (e.g., http://localhost:8888)",
              "isRequired": true,
              "name": "OXIDIZED_URL"
            },
            {
              "description": "HTTP Basic auth username (e.g., for a reverse proxy in front of oxidized-web)",
              "name": "OXIDIZED_USERNAME"
            },
            {
              "description": "HTTP Basic auth password",
              "isSecret": true,
              "name": "OXIDIZED_PASSWORD"
            },
            {
              "default": "true",
              "description": "Verify SSL certificates (true/false)",
              "name": "OXIDIZED_VERIFY_SSL"
            },
            {
              "default": "30",
              "description": "Request timeout in seconds",
              "name": "OXIDIZED_TIMEOUT"
            },
            {
              "default": "300",
              "description": "Timeout in seconds for configuration searches (oxidized-web reads every stored configuration)",
              "name": "OXIDIZED_SEARCH_TIMEOUT"
            },
            {
              "default": "true",
              "description": "Redact node vars (may contain device credentials) in tool output",
              "name": "OXIDIZED_REDACT_NODE_VARS"
            },
            {
              "default": "false",
              "description": "Enable read-only mode to restrict write operations",
              "name": "READ_ONLY_MODE"
            },
            {
              "description": "Comma-separated list of tags to disable tools for",
              "name": "OXIDIZED_DISABLED_TAGS"
            },
            {
              "default": "INFO",
              "description": "Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)",
              "name": "LOG_LEVEL"
            },
            {
              "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": "oxidized-mcp",
          "registryType": "pypi",
          "runtimeHint": "uvx",
          "transport": {
            "type": "streamable-http",
            "url": "http://localhost:{MCP_HTTP_PORT}/mcp"
          },
          "version": "0.2.1"
        },
        {
          "environmentVariables": [
            {
              "description": "Oxidized web base URL (e.g., http://localhost:8888)",
              "isRequired": true,
              "name": "OXIDIZED_URL"
            },
            {
              "description": "HTTP Basic auth username (e.g., for a reverse proxy in front of oxidized-web)",
              "name": "OXIDIZED_USERNAME"
            },
            {
              "description": "HTTP Basic auth password",
              "isSecret": true,
              "name": "OXIDIZED_PASSWORD"
            },
            {
              "default": "true",
              "description": "Verify SSL certificates (true/false)",
              "name": "OXIDIZED_VERIFY_SSL"
            },
            {
              "default": "30",
              "description": "Request timeout in seconds",
              "name": "OXIDIZED_TIMEOUT"
            },
            {
              "default": "300",
              "description": "Timeout in seconds for configuration searches (oxidized-web reads every stored configuration)",
              "name": "OXIDIZED_SEARCH_TIMEOUT"
            },
            {
              "default": "true",
              "description": "Redact node vars (may contain device credentials) in tool output",
              "name": "OXIDIZED_REDACT_NODE_VARS"
            },
            {
              "default": "false",
              "description": "Enable read-only mode to restrict write operations",
              "name": "READ_ONLY_MODE"
            },
            {
              "description": "Comma-separated list of tags to disable tools for",
              "name": "OXIDIZED_DISABLED_TAGS"
            },
            {
              "default": "INFO",
              "description": "Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)",
              "name": "LOG_LEVEL"
            },
            {
              "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/oxidized-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/oxidized-mcp"
      },
      "title": "Oxidized MCP",
      "version": "0.2.1",
      "websiteUrl": "https://github.com/mhajder/oxidized-mcp"
    }
  },
  "source": "mcp_registry",
  "summary": "MCP server for Oxidized network device configuration backups"
}

What the leaf hashes

{"body":"ff718fb5a148dcdb39d44e816a83b144f3962c68a563a7f919b092369f3eb6dc","id":42847,"kind":"listing","method":"baseline/1","observed_us":1793025401643951,"prev":null,"subject":"mcp_registry:io.github.mhajder/oxidized-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. 0xc920623e19ce91a6159740b67893332380d25c68677c6868fab24b147128b3ec
  2. 0x51f2f4621e4dcafbc8a8878ee6a55bff9b83e403d13d805b93212cba4083ec0f
  3. 0x4945369e7383c2f826b00cf91583651a1c1cad2aae46ff7b4c77551b002ae708
  4. 0x7800c536f17ceb9ff7f3dce276e0d67f753c460910a0cfcae2b8757ddb2c9b06
  5. 0xbdd44dfc8e7c671d190c39818117fef16cd34252a2f3b7887fbaf3b3669015ac
  6. 0xec6e2d9955dedf371b2ee4287bfe7f9c183c9bfeff4a472489d212b365da1905
  7. 0xe43e6ce7f0e28703f1fc35560d02c5de7767e0f29f3873809c8fe1b121487c01
  8. 0xedf048a7129802fe6ff04c72cd970e679894951d81960b4725a4f19a7ae3df7f
  9. 0xd1fc9ad5227f21ee916f082e331cad10f4f5affee6de03744f1c759d645076a6
  10. 0xaf49c58b07f643adc422bcd56cf09b773ac862513c92c8ec09dac6240a88a8cc
  11. 0xde080106ffe5b9071b2505ae31b17f7da4d3a9c7f4f4d9819f700d720702beeb
  12. 0xde09984239f27618a13932caf48f5d39831fc5021500b0581dce0dabd570bd6e
  13. 0x72e35aac89ebca631656c2b1aecbdc094807d9807f12c22a6ddf35cc1f5e21d6
  14. 0x5b20d8aab05225a3497eadcce89d2e2a586a510fb31334793d3f46f88f0157c5
  15. 0xe94ca5b798e9899ad611e57835af42266e20f53f44977e487d81365e30972beb
  16. 0x703f95866af09c5e5d6ead7411e9a10f964a41a2aff64d4a55ff0053c023a023
  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