← The evidence ledger
Evidence row 563067
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 523db119-aa63-42cf-ab25-96508870a805
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- d47c27ad34a42cf931771749debf5d8d9c083ea3b7a11862127ad8d4bd7e8e4f
- Leaf
- 0x93573b289f091542516350aa23970cebb8c4e75f1f64b61c71a3be0a3c5a9428
What was observed
{
"count": 3,
"tools": [
{
"description": "Analyze Postgres SQL/migrations for destructive operations, locking risk, correctness traps (NULL handling that silently returns wrong results), anti-patterns, and query cost. Returns a deterministic verdict (ok/warn/block) with findings. Pass the optional `schema` argument (your CREATE TABLE/INDEX DDL) to also get EXPLAIN-based cost analysis run on a throwaway scratch Postgres — no separate tool or DB connection needed.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"dialect": {
"const": "postgres",
"type": "string"
},
"rowCountHints": {
"additionalProperties": {
"type": "number"
},
"description": "Optional map of table name to estimated row count for realistic cost estimates.",
"type": "object"
},
"schema": {
"description": "Optional CREATE TABLE/INDEX DDL. Providing it enables EXPLAIN-based cost analysis (seq scans on large tables, etc.) on a throwaway scratch Postgres; omit it for static safety analysis only.",
"type": "string"
},
"sql": {
"description": "The SQL to analyze (one or more statements).",
"type": "string"
}
},
"required": [
"sql"
],
"type": "object"
},
"name": "analyze_sql"
},
{
"description": "Return the custom org policy set currently stored for your Pro key — the same rules analyze_sql enforces on top of the built-ins. Read-only; returns an empty list if none are set. Use set_policies to change them.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "get_policies"
},
{
"description": "Replace the stored custom org policy set for your Pro key (this is also how you update or clear them: send the full new set to update, or an empty array to remove all). Each policy blocks or warns on an operation against matching tables (e.g. no DELETE on payments). Policies are declarative data — validated, never executed — and apply transparently to every later analyze_sql call made with this key. Use get_policies to read the current set.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"policies": {
"description": "The full policy set (replaces any previously stored set; max 50).",
"items": {
"additionalProperties": false,
"properties": {
"action": {
"enum": [
"block",
"warn"
],
"type": "string"
},
"message": {
"description": "Optional human message shown in the finding.",
"type": "string"
},
"operations": {
"description": "Operations this rule applies to.",
"items": {
"enum": [
"select",
"insert",
"update",
"delete",
"truncate",
"drop",
"alter"
],
"type": "string"
},
"type": "array"
},
"table": {
"description": "Exact table name or glob, e.g. \"payments\", \"audit_*\", \"*\".",
"type": "string"
}
},
"required": [
"table",
"operations",
"action"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"policies"
],
"type": "object"
},
"name": "set_policies"
}
]
}What the leaf hashes
{"body":"d47c27ad34a42cf931771749debf5d8d9c083ea3b7a11862127ad8d4bd7e8e4f","id":563067,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793137592080276,"prev":null,"subject":"523db119-aa63-42cf-ab25-96508870a805","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (273461 rows).
- 0x93572f2a337cedcd88bbf5894e949649b694a28e0b1afb50ffdf3502a68e79ba
- 0x7cce18afbee18f573db87c925da40bdfa48fd4a6e3b9a6d0b99713ead4a2b6b9
- 0x364b4129698c5caf7dbd61f9b9e4cfd9c149700c78c0681b09ee6765b44234e5
- 0xc66b77b9392978a86f35daa8ca8abe4d549de8003d254754be364091f6657a78
- 0x3f6b1259adcf12035b66f3024e74b57afdf7a8fef71a9c2c9b622bb5ad10c066
- 0xa51b773826185db80773f0eaca5b586b820ffd111fcd1920b2cf07cade82d5b3
- 0x4088c97339ac21761d883b600082b8a13207e721d1ec4b3a88b4bedfe3a36533
- 0x941b616d14475d08c4f703234fc7e4a6b064fe2386df1d94f6381fba233298b4
- 0x5f7cab3b760fce47b9437889ee0d1ab04f2245d92b890c40ec06253603022f00
- 0x001e2fbd0c3e79f4abf52eea92556b3364585e138443456e12c92a9bbc0e53a3
- 0x223b6ff70aa897a0d2181f63f8038457f6caafaff29251cc49e8dd36940a8514
- 0x21b50531db6db8c65523fd5559cda8006afb66474d66107f3c29e6cd41ec3fbe
- 0x59c5c792b40d9054ce2b84a60af97fa54f2e1a2a369a6a52dc3f45de41128e97
- 0xa3c9c760ee424c178bab782711c2b9d3e15a80a6fde99165972cb75b306bb8b4
- 0xb4f7223140c8a36cb87a63d77cf617086d9968dc4658f03e102571ebe06e9ed6
- 0xfecf3d4646dd4984a13dd715499e842c3fde63692336d97394c2bfd8e877ca5d
- 0xf30fddbf4811226c58e8f0daf36fddd79fc5f1356b592bb1d99a8061ddbabe66
- 0x2bf8151e5f157dd183b9de6fa00469551932a7a6e3f33a694895000ac9061197
- 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
- Day root
- 0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
- Chained
- 0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
- Published
- On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4