addrbookFor publishers
← The evidence ledger

Evidence row 258138

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 4f651fa8-6fd7-4443-a00a-5d35e6599fe6
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
e30f4c46cb45f79c751be4cf1135fc1d8fca9faec13fc71de0e38138401a9b07
Leaf
0xfc73a8addfd0b5e5a7dda33ba18fc6f6b0bd2aca60ae5702dc11ec498d73ee8b

What was observed

{
  "count": 5,
  "tools": [
    {
      "description": "Compare two OpenAPI spec versions to detect breaking changes: removed paths/operations, new required parameters, removed response codes, operationId renames.",
      "inputSchema": {
        "properties": {
          "spec_new": {
            "description": "New spec version",
            "type": "object"
          },
          "spec_old": {
            "description": "Previous spec version",
            "type": "object"
          }
        },
        "required": [
          "spec_old",
          "spec_new"
        ],
        "type": "object"
      },
      "name": "check_breaking_changes"
    },
    {
      "description": "Compare a real HTTP request/response against an OpenAPI spec contract. Returns per-field violations.",
      "inputSchema": {
        "properties": {
          "request": {
            "description": "HTTP request to validate",
            "properties": {
              "body": {
                "description": "Request body",
                "type": "object"
              },
              "contentType": {
                "description": "Content-Type (default: application/json)",
                "type": "string"
              },
              "method": {
                "description": "HTTP method",
                "type": "string"
              },
              "params": {
                "properties": {
                  "path": {
                    "type": "object"
                  },
                  "query": {
                    "type": "object"
                  }
                },
                "type": "object"
              },
              "path": {
                "description": "Request path (e.g. /users/123)",
                "type": "string"
              }
            },
            "required": [
              "method",
              "path"
            ],
            "type": "object"
          },
          "response": {
            "description": "HTTP response to validate (optional)",
            "properties": {
              "body": {
                "type": "object"
              },
              "contentType": {
                "type": "string"
              },
              "statusCode": {
                "type": "integer"
              }
            },
            "type": "object"
          },
          "spec": {
            "description": "OpenAPI spec JSON object",
            "type": "object"
          }
        },
        "required": [
          "spec",
          "request"
        ],
        "type": "object"
      },
      "name": "diff_request_response"
    },
    {
      "description": "Generate mock response data from an OpenAPI spec. Uses examples, defaults, formats, and type heuristics.",
      "inputSchema": {
        "properties": {
          "method": {
            "description": "HTTP method (used with path)",
            "type": "string"
          },
          "path": {
            "description": "Target path (optional; generates all if omitted)",
            "type": "string"
          },
          "spec": {
            "description": "OpenAPI spec JSON object",
            "type": "object"
          },
          "statusCode": {
            "default": "200",
            "description": "Response status code (default: 200)",
            "type": "string"
          }
        },
        "required": [
          "spec"
        ],
        "type": "object"
      },
      "name": "generate_mock_from_spec"
    },
    {
      "description": "Lint an API spec for quality and best practice compliance. Rules: operation-id-kebab-case, response-success-required, tags-defined, no-empty-description, security-defined.",
      "inputSchema": {
        "properties": {
          "rules": {
            "description": "Rules to apply (defaults to all)",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "spec": {
            "description": "OpenAPI spec JSON object",
            "type": "object"
          }
        },
        "required": [
          "spec"
        ],
        "type": "object"
      },
      "name": "lint_api_schema"
    },
    {
      "description": "Validate an OpenAPI 3.x or AsyncAPI spec JSON. Returns structural errors, missing required fields, and warnings.",
      "inputSchema": {
        "properties": {
          "spec": {
            "description": "OpenAPI or AsyncAPI spec as a JSON object",
            "type": "object"
          },
          "strict": {
            "default": false,
            "description": "Treat warnings as errors (default: false)",
            "type": "boolean"
          }
        },
        "required": [
          "spec"
        ],
        "type": "object"
      },
      "name": "validate_openapi_spec"
    }
  ]
}

What the leaf hashes

{"body":"e30f4c46cb45f79c751be4cf1135fc1d8fca9faec13fc71de0e38138401a9b07","id":258138,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793029950095753,"prev":null,"subject":"4f651fa8-6fd7-4443-a00a-5d35e6599fe6","subject_kind":"endpoint"}

Proof

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

  1. 0xfc73a2648260a9a33fd550279caf78c050b63dd85ad45025f67f265ddd616cee
  2. 0x0eb6b2f7113ac6856d670d64150f227480fc00d96724af59492f8af180bf17cd
  3. 0x67461f08419f7530191ed9d0a9b741a9bd64b962ea194b3f9f1757b9d82faa90
  4. 0x7ef2cb34e463ecd27d5a4f472722877be0686cc34c14a9289982383052e405b9
  5. 0xba769b0ff1e9d8769c67191623809081625324b62a7e6bce7e2c5955cfea65ab
  6. 0x70378ea586ecb48ede58ce330cbae74ab341755499de3219b45ce05a5ff59aaf
  7. 0xf85d246b45d880e41b5c02aa2abab2ee364be0491b7132fda197fb4a16d4c60f
  8. 0x8db6b774b2dfc8c1179ffa99ffbed3aa8c9d3a16517531c3539e3c34842666ce
  9. 0x136ba120fe1689e63adfe97318f101db112c5f8bc417737f0dd8694087327526
  10. 0x3a8d3d4169cff276684d88a4f127811b670ead57557bd0903bd3af277772b2c1
  11. 0x51bc8fcd224b36d2c60fa49f46f383ee8328191b9e73209ce8018f2612c3d42f
  12. 0xf8173f36b7a27e1bb0f6961a49501bba1d99349c5e11449d0d557fbaa910be0a
  13. 0xbee644d57738676bfb20eb90d6021f364bf883a8d54f8d17e9dc4749b4074c3d
  14. 0x44945ea9ad8b24e723ad5a8fd6d014024a49531783f74ff9229c2ab6930e84c8
  15. 0x68d296b1e00b4899fb83c3fba36fffaefa311eac2903067dbebfe776a12b4a9a
  16. 0x5fb5dda563336cd1bc1b9f44c52b76237ae72ed2145cb9290f39f304ca7dd678
  17. 0x74a0a08e4e7ab9aa5bfbead33dec7e1c7e8e364cff69a63720d764bbe987aadc
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON