addrbookFor publishers
← The evidence ledger

Evidence row 573822

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 16c7549c-66a3-4235-8eee-d84c73867715
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
8b392271612652c89e9ae50ab013fefc521461ffb85d36c952b4a8e5d912ac8b
Leaf
0x3af0a006ba20403bbcaf6f773b28f8ffd83dff62364c1a28768d155bb7370738

What was observed

{
  "count": 16,
  "tools": [
    {
      "description": "Compute required thread concurrency, pacing delays, ramp-up schedules, and JVM heap recommendations based on target RPS/TPS and SLA response times using Little's Law.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "avgResponseTimeMs": {
            "description": "Expected average response time in milliseconds.",
            "exclusiveMinimum": 0,
            "type": "number"
          },
          "safetyFactor": {
            "description": "Headroom safety buffer multiplier (default: 1.25 = 25% buffer).",
            "minimum": 1,
            "type": "number"
          },
          "targetRps": {
            "description": "Target throughput in requests / transactions per second (RPS/TPS).",
            "exclusiveMinimum": 0,
            "type": "number"
          },
          "testDurationMinutes": {
            "description": "Steady-state test duration in minutes (default: 10).",
            "exclusiveMinimum": 0,
            "type": "number"
          },
          "thinkTimeMs": {
            "description": "Think time / user pause between requests in milliseconds (default: 0).",
            "minimum": 0,
            "type": "number"
          }
        },
        "required": [
          "targetRps",
          "avgResponseTimeMs"
        ],
        "type": "object"
      },
      "name": "calculate_workload_model"
    },
    {
      "description": "Convert one or more cURL commands or HAR (HTTP Archive 1.2) JSON traces into a valid, production-ready Apache JMeter .jmx test plan XML with HTTP Request Defaults, Header Managers, Cookie Managers, timeouts, and assertions. Supports GET, POST, PUT, DELETE, PATCH, and RFC 9838 QUERY methods.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "durationSeconds": {
            "description": "Test duration in seconds (0 = disabled, default: 0).",
            "maximum": 86400,
            "minimum": 0,
            "type": "integer"
          },
          "filterStaticAssets": {
            "description": "Filter out images/css/fonts when parsing HAR (default: true).",
            "type": "boolean"
          },
          "includeAssertions": {
            "description": "Add HTTP 200/201/204 Response Code assertions (default: true).",
            "type": "boolean"
          },
          "includeCookieManager": {
            "description": "Include HTTP Cookie Manager (default: true).",
            "type": "boolean"
          },
          "input": {
            "description": "cURL command string (single, multiline, or batch) or HAR 1.2 JSON text (max 1MB).",
            "maxLength": 1000000,
            "minLength": 1,
            "type": "string"
          },
          "loopCount": {
            "description": "Loop count (-1 for infinite, default: 1).",
            "maximum": 1000000,
            "minimum": -1,
            "type": "integer"
          },
          "parameterizeAuth": {
            "description": "Extract Bearer token into ${AUTH_TOKEN} variable (default: true).",
            "type": "boolean"
          },
          "parameterizeHost": {
            "description": "Extract common host into HTTP Request Defaults and ${BASE_URL} (default: true).",
            "type": "boolean"
          },
          "rampUpSeconds": {
            "description": "Ramp-up time in seconds (default: 1).",
            "maximum": 3600,
            "minimum": 0,
            "type": "integer"
          },
          "testPlanName": {
            "description": "Name of the JMeter Test Plan (default: \"cURL Converted Plan\").",
            "maxLength": 200,
            "type": "string"
          },
          "threads": {
            "description": "Thread concurrency / virtual users (default: 1).",
            "maximum": 50000,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "input"
        ],
        "type": "object"
      },
      "name": "convert_curl_or_har_to_jmx"
    },
    {
      "description": "Convert an OpenAPI 3.0/3.1 or Swagger 2.0 document (JSON or YAML) into a JMeter 5.6.3 .jmx test plan: servers become HTTP Request Defaults/${BASE_URL}, path parameters become User Defined Variables, request bodies are sampled from schemas, bearer/basic/apiKey security becomes ${AUTH_TOKEN}/${BASIC_AUTH}/${API_KEY}, with optional method, tag, and deprecated-operation filters.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "durationSeconds": {
            "description": "Test duration in seconds (0 = disabled, default: 0).",
            "maximum": 86400,
            "minimum": 0,
            "type": "integer"
          },
          "includeAssertions": {
            "description": "Add HTTP 200/201/204 Response Code assertions (default: true).",
            "type": "boolean"
          },
          "includeCookieManager": {
            "description": "Include HTTP Cookie Manager (default: true).",
            "type": "boolean"
          },
          "includeDeprecated": {
            "description": "Include deprecated operations (default: false).",
            "type": "boolean"
          },
          "includeOptionalQueryParams": {
            "description": "Include optional query parameters (default: false).",
            "type": "boolean"
          },
          "input": {
            "description": "OpenAPI 3.x or Swagger 2.0 document as JSON or YAML text (max 1MB).",
            "maxLength": 1000000,
            "minLength": 1,
            "type": "string"
          },
          "loopCount": {
            "description": "Loop count (-1 for infinite, default: 1).",
            "maximum": 1000000,
            "minimum": -1,
            "type": "integer"
          },
          "maxOperations": {
            "description": "Maximum number of operations to convert (default: 500).",
            "maximum": 500,
            "minimum": 1,
            "type": "integer"
          },
          "methods": {
            "description": "HTTP methods to include (default: GET, POST, PUT, PATCH, DELETE).",
            "items": {
              "enum": [
                "GET",
                "POST",
                "PUT",
                "PATCH",
                "DELETE",
                "HEAD",
                "OPTIONS",
                "TRACE"
              ],
              "type": "string"
            },
            "type": "array"
          },
          "parameterizeHost": {
            "description": "Extract the common host into HTTP Request Defaults and ${BASE_URL} (default: true).",
            "type": "boolean"
          },
          "rampUpSeconds": {
            "description": "Ramp-up time in seconds (default: 5).",
            "maximum": 3600,
            "minimum": 0,
            "type": "integer"
          },
          "serverIndex": {
            "description": "Zero-based index of the OpenAPI server to use (default: 0).",
            "maximum": 50,
            "minimum": 0,
            "type": "integer"
          },
          "tags": {
            "description": "Only include operations with one of these tags (\"default\" = untagged). Empty = all.",
            "items": {
              "maxLength": 100,
              "type": "string"
            },
            "maxItems": 100,
            "type": "array"
          },
          "testPlanName": {
            "description": "Name of the JMeter Test Plan.",
            "maxLength": 200,
            "type": "string"
          },
          "threads": {
            "description": "Thread concurrency / virtual users (default: 10).",
            "maximum": 50000,
            "minimum": 1,
            "type": "integer"
          },
          "useExampleValues": {
            "description": "Substitute example/sample values into path params instead of ${var} variables (default: false).",
            "type": "boolean"
          }
        },
        "required": [
          "input"
        ],
        "type": "object"
      },
      "name": "convert_openapi_to_jmx"
    },
    {
      "description": "Generate a ready-to-run Apache JMeter 5.6.3 .jmx practice test plan (either \"solved\" with Boundary/JSON/Header extractors or \"challenge\" with broken hardcoded tokens) targeting the live docs.jmeter.ai/api/sandbox endpoints or local localhost:8787 server.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "flowId": {
            "description": "Practice flow: \"flow1\" (CSRF + Cookie), \"flow2\" (JWT Bearer + Order chain), \"flow3\" (ASP.NET __VIEWSTATE + Header ticket), or \"flow4\" (HTTP 429 & JSON Assertion chaos). Default: \"flow1\".",
            "enum": [
              "flow1",
              "flow2",
              "flow3",
              "flow4"
            ],
            "type": "string"
          },
          "mode": {
            "description": "\"solved\" returns a working correlated .jmx plan; \"challenge\" returns a broken plan with hardcoded recorded tokens for debugging practice. Default: \"solved\".",
            "enum": [
              "solved",
              "challenge"
            ],
            "type": "string"
          },
          "target": {
            "description": "\"edge\" targets https://docs.jmeter.ai/api/sandbox (1-thread debug); \"local\" targets http://localhost:8787/api/sandbox (high-RPS). Default: \"edge\".",
            "enum": [
              "edge",
              "local"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "get_correlation_sandbox"
    },
    {
      "description": "Fetch the full markdown text of one docs.jmeter.ai page. Accepts the page URL (e.g. https://docs.jmeter.ai/topics/api-load-testing/) or a bare path (e.g. topics/api-load-testing).",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "url": {
            "description": "Page URL or path, e.g. https://docs.jmeter.ai/user-manual/functions/ or user-manual/functions",
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "get_jmeter_page"
    },
    {
      "description": "Fetch production-ready, performant Groovy scripts for JMeter JSR223 samplers, preprocessors, and postprocessors (e.g., JWT parsing & expiration, HMAC-SHA256 signing, dynamic header injection, nested JSON array extraction, custom CSV failure logging).",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "query": {
            "description": "Filter by keyword or topic (e.g. \"jwt\", \"hmac\", \"header\", \"json\", \"csv\", \"logging\"). If omitted, returns all recipes.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "get_jsr223_recipe"
    },
    {
      "description": "Statically analyze a Groovy script for a JMeter JSR223 element. Flags Thread.sleep, ${var} interpolation, System.out, BeanShell APIs, per-call Random or Pattern.compile, and bindings such as prev, SampleResult, or sampler that the selected element type does not expose; optionally returns ready-to-paste JMX element XML.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "code": {
            "description": "Groovy script source.",
            "maxLength": 200000,
            "minLength": 1,
            "type": "string"
          },
          "elementType": {
            "description": "(default: JSR223PostProcessor)",
            "enum": [
              "JSR223Sampler",
              "JSR223PreProcessor",
              "JSR223PostProcessor",
              "JSR223Assertion",
              "JSR223Timer",
              "JSR223Listener"
            ],
            "type": "string"
          },
          "includeJmxElement": {
            "description": "Also return the JSR223 element XML with compilation caching enabled (default: true).",
            "type": "boolean"
          },
          "name": {
            "description": "testname for the generated JMX element (default: element label).",
            "maxLength": 120,
            "type": "string"
          },
          "parameters": {
            "description": "Space-separated parameters available through Parameters and args.",
            "maxLength": 2000,
            "type": "string"
          }
        },
        "required": [
          "code"
        ],
        "type": "object"
      },
      "name": "lint_groovy_script"
    },
    {
      "description": "Validate a JMeter test plan XML string or snippet against best practices and performance anti-patterns, and return a structural inventory with thread groups, sampler/listener/assertion counts, HTTP Defaults/Header/Cookie/CSV presence, plugin classes, and JMeter version.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "jmxContent": {
            "description": "JMX XML string or test plan snippet to analyze (max 1MB).",
            "maxLength": 1000000,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "jmxContent"
        ],
        "type": "object"
      },
      "name": "lint_jmx_snippet"
    },
    {
      "description": "Find the dedicated reference page for a JMeter test plan component (e.g. \"HTTP Request\", \"JSON Extractor\", \"Thread Group\") and return its full markdown content with properties, defaults, and related guides.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "name": {
            "description": "Component name, exact or partial (e.g. \"HTTP Request\", \"JSON Extractor\", \"CSV Data Set\").",
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "name": "lookup_component"
    },
    {
      "description": "Get immediate root causes, OS/JVM config fixes, and remediation steps for common JMeter exceptions (e.g. \"BindException\", \"SocketTimeoutException\", \"OutOfMemoryError\", \"NoHttpResponseException\", \"SSLHandshakeException\", \"401/403 after recording\"). When keywords miss, unmatched text is sent to classifier.dev for zero-shot semantic matching (public keyless calls are not stored).",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "classifierApiKey": {
            "description": "Your own classifier.dev API key for the semantic fallback (anonymous quota is shared); never logged.",
            "type": "string"
          },
          "query": {
            "description": "Error message, exception name, or status (e.g. \"bindexception\", \"heap\", \"timeout\", \"401\").",
            "type": "string"
          }
        },
        "required": [
          "query"
        ],
        "type": "object"
      },
      "name": "lookup_error_playbook"
    },
    {
      "description": "Find the dedicated reference page for a built-in JMeter function (e.g. \"__time\", \"__Random\", \"__P\") and return its full markdown content with syntax, parameters, and examples.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "name": {
            "description": "Function name, with or without leading underscores (e.g. \"__time\", \"time\", \"__RandomString\").",
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "name": "lookup_function"
    },
    {
      "description": "Search or lookup curated JMeter properties (e.g. \"httpclient4.idletimeout\", \"jmeter.save.saveservice.*\", \"remote_hosts\", \"summariser\"). Returns category, defaults, and recommendations.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "query": {
            "description": "Property name or keyword to search (e.g. \"ssl\", \"timeout\", \"jtl\", \"influxdb\").",
            "type": "string"
          }
        },
        "required": [
          "query"
        ],
        "type": "object"
      },
      "name": "lookup_jmeter_property"
    },
    {
      "description": "Generate Master-Worker RMI port assignments, user.properties, CLI commands, firewall/security group rules, and Docker Compose manifests for distributed load testing.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "clientRmiLocalPort": {
            "description": "Pinned controller callback port (default: 60000).",
            "maximum": 65535,
            "minimum": 1024,
            "type": "integer"
          },
          "controllerIp": {
            "description": "Controller / Master node IP or hostname (default: \"10.0.0.5\").",
            "type": "string"
          },
          "disableSsl": {
            "description": "Disable RMI SSL (default: false). Only for isolated labs.",
            "type": "boolean"
          },
          "environment": {
            "description": "Target infrastructure environment for firewall/CLI rules (default: \"aws\").",
            "enum": [
              "aws",
              "azure",
              "gcp",
              "linux",
              "docker",
              "k8s"
            ],
            "type": "string"
          },
          "mode": {
            "description": "Sample transmission mode (default: \"StrippedBatch\").",
            "enum": [
              "StrippedBatch",
              "Statistical",
              "Batch",
              "Standard"
            ],
            "type": "string"
          },
          "serverPort": {
            "description": "RMI registry port on workers (default: 1099).",
            "maximum": 65535,
            "minimum": 1024,
            "type": "integer"
          },
          "serverRmiLocalPort": {
            "description": "Pinned worker engine port (default: 50000).",
            "maximum": 65535,
            "minimum": 1024,
            "type": "integer"
          },
          "workerIps": {
            "description": "Comma or space-separated list of worker / injector IP addresses (e.g. \"10.0.1.10, 10.0.1.11, 10.0.1.12\").",
            "type": "string"
          }
        },
        "required": [
          "workerIps"
        ],
        "type": "object"
      },
      "name": "plan_distributed_testing"
    },
    {
      "description": "Search the Apache JMeter documentation on docs.jmeter.ai. Returns the most relevant pages with titles, URLs, and snippets. Use for any question about JMeter test plans, components, functions, properties, distributed testing, reports, or troubleshooting.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "query": {
            "description": "Search query, e.g. \"how to correlate dynamic values\" or \"thread group ramp up\"",
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "query"
        ],
        "type": "object"
      },
      "name": "search_jmeter_docs"
    },
    {
      "description": "Map a run's distinct failure signatures to docs.jmeter.ai error playbooks. Error text is sent to classifier.dev for zero-shot classification (public keyless calls are not stored; obvious secrets are redacted first). Prefer signatures shaped as \"sampler | response code | response message\".",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "classifierApiKey": {
            "description": "Your own classifier.dev API key (anonymous quota is shared); never logged.",
            "type": "string"
          },
          "errors": {
            "description": "Distinct error signatures to triage.",
            "items": {
              "properties": {
                "count": {
                  "description": "How many samples showed this signature (default: 1).",
                  "maximum": 9007199254740991,
                  "minimum": 0,
                  "type": "integer"
                },
                "text": {
                  "description": "One distinct failure signature, ideally \"sampler | response code | response message\".",
                  "maxLength": 2000,
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "text"
              ],
              "type": "object"
            },
            "maxItems": 1000,
            "minItems": 1,
            "type": "array"
          },
          "minConfidence": {
            "description": "Confidence threshold for auto-bucketing a signature to a playbook (default: 0.7).",
            "maximum": 1,
            "minimum": 0,
            "type": "number"
          },
          "tier": {
            "description": "Classifier tier (default: \"fast\"). \"smart\" re-asks only signatures below minConfidence (slower).",
            "enum": [
              "fast",
              "smart"
            ],
            "type": "string"
          }
        },
        "required": [
          "errors"
        ],
        "type": "object"
      },
      "name": "triage_errors"
    },
    {
      "description": "Generate production sysctl.conf, limits.conf, systemd overrides, and Docker/K8s configs tuned for high-concurrency JMeter load testing (fixing ulimit nofile, BindException port exhaustion, somaxconn backlog, and JVM swappiness).",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "concurrency": {
            "description": "Target concurrent connections/threads (default: 10000).",
            "maximum": 500000,
            "minimum": 100,
            "type": "integer"
          },
          "ramGb": {
            "description": "Host machine RAM in GB for TCP buffer sizing (default: 16).",
            "maximum": 512,
            "minimum": 2,
            "type": "integer"
          },
          "role": {
            "description": "Machine role: \"injector\" (JMeter client) or \"target_sut\" (default: \"injector\").",
            "enum": [
              "injector",
              "target_sut"
            ],
            "type": "string"
          },
          "targetDistro": {
            "description": "Linux distro or container target (default: \"ubuntu_debian\").",
            "enum": [
              "ubuntu_debian",
              "rhel_rocky",
              "amazon_linux",
              "docker_k8s"
            ],
            "type": "string"
          },
          "trafficType": {
            "description": "Traffic profile (default: \"http_churn\").",
            "enum": [
              "http_churn",
              "http_keepalive",
              "streaming_ws_grpc"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "tune_linux_os"
    }
  ]
}

What the leaf hashes

{"body":"8b392271612652c89e9ae50ab013fefc521461ffb85d36c952b4a8e5d912ac8b","id":573822,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793141301232062,"prev":null,"subject":"16c7549c-66a3-4235-8eee-d84c73867715","subject_kind":"endpoint"}

Proof

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

  1. 0x3af0e960862330733435798662220f540a86305391de066138dedd58ed1f5690
  2. 0xccee18ad8d97feeb085bc457861b00e385f8d98a2b69e0117efcea5719ce553c
  3. 0x56d526e879c59d7877d496ba3e9f2bc2db6de1707240077fabc33916af635e98
  4. 0xcdd03d3fca9de59a427af1ad394acddc9d6938b0c1ff523575acd5f323093bc0
  5. 0x7a57d07bec1651d6bdb234bcb315748c8fd3fcaa7dbbe9a0a112ec5bb48168d6
  6. 0x24a03b6ab108db26ff8a13e50e0679d71703c03a7c4fb29fea14c45ea49f7bf5
  7. 0xc6cb07ad594209a758a7fbe392e30d7356738663f46f2a95dfc1370991790e69
  8. 0x0e467391f9f87985cb03891f949744e8a99c646c826806124694ed5e4c416a39
  9. 0xa80b3456e1559137d6b4cf7247516fa306209b43a955dee596a19e1e9f2d4792
  10. 0x6bef6d1f9bd06795cf32f34087a242daad9e8a2762ebe687f3b5555470937311
  11. 0x34cd0060c6df900735b6aa88a647d584520104fc04a2c8d5b37d3436121b79cb
  12. 0x4add9ebe2bbf86a7a32e3cec38874af82baf38b21fde64a6952bf3d4124e2c7f
  13. 0x9e70d944564843a0f0d88b623d628ff2e2ac17c172d4ebe0ed141fe8b9f9dae4
  14. 0x42784d9809d120654630ee1b254a1dd90a2bbd3024aa180f1a59bbf53e9316e4
  15. 0x8360ee1105e4d9f9312067cbbfd47c69c5948665ae582b9684a580c8f4e199e1
  16. 0x52efa60e0c3d8525486d2310eb3b6b566c9677c64fd1f819edb072cf101bcbdb
  17. 0x22c1fb9487ee0b9732fa017a0cc321eb27a60c08450d112f755089796e12cb1c
  18. 0xa20d48798a34aba12eb9c7297722982d910f06c148f5e27ac59307422964a585
  19. 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
Day root
0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
Chained
0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
Published
On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4

How to check it · This row as JSON