← The evidence ledger
Evidence row 579306
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint c6ef4c42-9eb9-4a60-9d52-d9ef52ae3710
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 23fd3738c80f7b32bedd7d4374fc2a93cfb73412c923c80b717670dd5d70369f
- Leaf
- 0x5df4a5e3d8243ec0534e0c4b44cbb7bfa67bf0f53b6a306c804b299e26193a31
What was observed
{
"count": 6,
"tools": [
{
"description": "Submit an HTTP call to a third-party API for reliable asynchronous execution. klanex validates the payload (optionally against payload_schema), stores credentials encrypted, executes with automatic retries/backoff/circuit breakers, and keeps an audit trail — you submit once and never retry transient failures yourself.\n\nCall this instead of making a direct HTTP request whenever the call has side effects (payments, messages, tickets, writes) or the target may be flaky. Prefer connection_id over headers for credentials. Always set idempotency_key for side-effecting calls so resubmitting can never double-execute. Set wait_seconds to block for the result; otherwise poll get_execution with the returned execution_id.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"connection_id": {
"description": "ID of a stored credential connection (con_...) to authenticate the call; see list_connections",
"type": "string"
},
"headers": {
"additionalProperties": {
"type": "string"
},
"description": "request headers, typically third-party credentials; encrypted at rest and never readable back. Prefer connection_id so secrets never pass through your context",
"type": "object"
},
"idempotency_key": {
"description": "stable key (max 255 chars) making this submit safe to retry; the same key returns the original execution instead of creating a new one. Always set this for side-effecting calls",
"type": "string"
},
"max_attempts": {
"description": "maximum delivery attempts, 1-10 (default 5)",
"type": "integer"
},
"method": {
"description": "HTTP method: GET, POST, PUT, PATCH, or DELETE (default POST)",
"type": "string"
},
"payload": {
"description": "JSON body to send to the target"
},
"payload_schema": {
"description": "JSON Schema to validate payload against before anything executes; mismatches are rejected synchronously with a correction hint"
},
"requires_approval": {
"description": "pause for a human approve/reject decision before anything executes; use for destructive or high-stakes actions",
"type": "boolean"
},
"seal_url": {
"description": "set true when the URL itself is a secret (webhook URL, presigned URL); it is encrypted and reads back redacted",
"type": "boolean"
},
"timeout_ms": {
"description": "per-attempt timeout in milliseconds (default 30000)",
"type": "integer"
},
"url": {
"description": "absolute http(s) URL of the target endpoint",
"type": "string"
},
"wait_seconds": {
"description": "block up to this many seconds (max 55) for a terminal result instead of returning immediately after queueing",
"type": "integer"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "execute"
},
{
"description": "Fetch the current state of an execution by ID: status (PENDING_APPROVAL|QUEUED|RUNNING|RETRYING|SUCCEEDED|FAILED), attempts, the target response on success, or a classified error on failure. Retryable failures need no action from you — klanex is still retrying. Header values always read back REDACTED.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"execution_id": {
"description": "the execution ID (exe_...)",
"type": "string"
}
},
"required": [
"execution_id"
],
"type": "object"
},
"name": "get_execution"
},
{
"description": "Report the account's plan and execution usage for the current calendar month: used, included_executions, remaining, and whether overage is allowed. Check this before large batches to avoid hitting a hard quota.",
"inputSchema": {
"additionalProperties": false,
"type": "object"
},
"name": "get_usage"
},
{
"description": "List the account's stored credential connections (token vault). Reference a ready connection by its ID in execute's connection_id instead of passing raw headers — the credential is injected at execution time and never passes through your context. Secrets are never returned.",
"inputSchema": {
"additionalProperties": false,
"type": "object"
},
"name": "list_connections"
},
{
"description": "List this account's executions, newest first, optionally filtered by status or a created_at time range. Returns next_cursor when a page is full; pass it back as cursor for the next page.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cursor": {
"description": "opaque next_cursor value from a previous page",
"type": "string"
},
"limit": {
"description": "page size, 1-100 (default 20)",
"type": "integer"
},
"since": {
"description": "only executions created at or after this RFC3339 timestamp",
"type": "string"
},
"status": {
"description": "filter by status: QUEUED, RUNNING, RETRYING, SUCCEEDED, or FAILED",
"type": "string"
},
"until": {
"description": "only executions created before this RFC3339 timestamp",
"type": "string"
}
},
"type": "object"
},
"name": "list_executions"
},
{
"description": "Re-run a terminal (SUCCEEDED or FAILED) execution as a brand-new execution: same target, byte-exact original payload, same sealed credentials, fresh attempt counter. This is the outage-recovery path — failed calls can be re-executed without regenerating the payload. Each call creates a new execution (deliberately not idempotent).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"execution_id": {
"description": "the execution ID (exe_...)",
"type": "string"
}
},
"required": [
"execution_id"
],
"type": "object"
},
"name": "replay_execution"
}
]
}What the leaf hashes
{"body":"23fd3738c80f7b32bedd7d4374fc2a93cfb73412c923c80b717670dd5d70369f","id":579306,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793143384111088,"prev":null,"subject":"c6ef4c42-9eb9-4a60-9d52-d9ef52ae3710","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (273461 rows).
- 0x5df49766e2102c08c1cf5b49e159e02acf76856d80ebb6c892a45dc89d32abba
- 0x33ccc7d305508d007c17fd86f1cb85d43baed3dcd110356e6d6784357ed4e5d8
- 0xdb7619b1ffd87548dd93a2684d7a1e73d80abb4a3f4e908d1f4afc90a687b88c
- 0xd6dc4225575d9f6007ce505b463e086b605e0bf4ab2e2c5328ecfaf62fed6425
- 0x3da50bc01ff28c0e672be71d92e6c3f86549bd0a6bb80478cadf7e8ce996c10d
- 0x48f40db16ef4fada9cd99165a1a26022b0b6b717da609c31bbe25d293c4c36a0
- 0x96e7965b4e030219fd028a28f179c6e0f13e3be01370f5e42b604882535dd2cc
- 0x0ed4faa8db2a87ca743a2466c81a422d1e26894fb5f57bccb6d7dba876dc2419
- 0xb879de1851a04867df9d307210f78e9ec78da2c4977c95f801700b4d2ce8a84e
- 0x4c809ee5c098ea4ab0c676ab9598d1571f69c85b9cc2be67f31fb007be058b56
- 0x6a8800f5c72539b8ecaf35e93ccea9609b976b2b3da75c06b7295d8e7d5f176e
- 0x548136c1e3ccb412bb6e8b0e92df8bd9db651531331fa2a46332b9c2956172f5
- 0xeaf6b21867367f85a965f982b6593c42eafe4fdf74e94b675523a6478de49a54
- 0x4277e02be0b5d91d78bc2247e37d402572474ba896c2e8f45765c8dc4e244d36
- 0x6f00f0da417f4126951ba8ba9b7962c847e91f5c61364ad9ad47e5f979698a60
- 0x23cf9bb4337ee8be7fcae368fd69d24c62c11fb45882127b4cd919bb96a19996
- 0x0e01aa9525097570a6edaf32bfc959de57bf5c24317cf10c0716affea85ca60d
- 0xa20d48798a34aba12eb9c7297722982d910f06c148f5e27ac59307422964a585
- 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
- Day root
- 0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
- Chained
- 0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
- Published
- On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4