addrbookFor publishers
← The evidence ledger

Evidence row 275521

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 1965a3c9-e475-4048-993a-844037428f7b
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
a18fd7d3229362cd89e4ac22a152731cd74cea8eefd67c125fba87848e1d2ca3
Leaf
0xa21b2fe1d0e8223098464054a6b5e55d1d42cb16574a5fe32f6534577b308bbb

What was observed

{
  "count": 8,
  "tools": [
    {
      "description": "Export the current WorkPaper JSON document for persistence, review, or handoff to another agent. Does not write files by itself.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "includeConfig": {
            "default": true,
            "description": "Include workbook configuration metadata in the exported JSON. Defaults to true.",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "name": "export_workpaper_document"
    },
    {
      "description": "Return the formatted display string for one cell. Use when an agent needs what a user would see, not the raw numeric value.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "address": {
            "description": "Single A1 cell address such as B3.",
            "type": "string"
          },
          "sheetName": {
            "description": "Existing sheet name.",
            "type": "string"
          }
        },
        "required": [
          "sheetName",
          "address"
        ],
        "type": "object"
      },
      "name": "get_cell_display_value"
    },
    {
      "description": "Discover sheet names and used dimensions before reading or editing a WorkPaper. Returns metadata only; use read_range or read_cell for values.",
      "inputSchema": {
        "additionalProperties": false,
        "type": "object"
      },
      "name": "list_sheets"
    },
    {
      "description": "Read one cell with calculated value, display text, formula text, formula diagnostics, and serialized content. Use after set_cell_contents to verify readback.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "address": {
            "description": "Single A1 cell address such as B3.",
            "type": "string"
          },
          "sheetName": {
            "description": "Existing sheet name.",
            "type": "string"
          }
        },
        "required": [
          "sheetName",
          "address"
        ],
        "type": "object"
      },
      "name": "read_cell"
    },
    {
      "description": "Read calculated values plus serialized formulas/inputs for an A1 range. Use for audit readback after edits; use read_cell for one address.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "range": {
            "description": "A1 range such as Summary!A1:B5. If omitted from the range, pass sheetName separately.",
            "type": "string"
          },
          "sheetName": {
            "description": "Default sheet name when range omits a sheet name, for example Summary.",
            "type": "string"
          }
        },
        "required": [
          "range"
        ],
        "type": "object"
      },
      "name": "read_range"
    },
    {
      "description": "Write raw content to one cell and recalculate dependents in memory only. Start with --writable when the edit should persist to JSON.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "address": {
            "description": "Single A1 cell address such as B3. Ranges are not accepted.",
            "type": "string"
          },
          "sheetName": {
            "description": "Existing sheet name, for example Inputs.",
            "type": "string"
          },
          "value": {
            "description": "Raw cell content. Formula strings must start with =; plain strings are stored as literals. Strict MCP hosts such as Semantic Kernel require a single parameter type, so pass evaluated numbers/booleans as formulas such as =0.4 or =TRUE(). The server still accepts JSON number, boolean, or null arguments from clients that support them.",
            "type": "string"
          }
        },
        "required": [
          "sheetName",
          "address",
          "value"
        ],
        "type": "object"
      },
      "name": "set_cell_contents"
    },
    {
      "description": "Write raw content to one cell, recalculate dependents, read a dependent range in the same tool call, and return persistence proof. Use this for stateless MCP clients such as hosted Open WebUI integrations.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "address": {
            "description": "Single A1 cell address to edit, such as B3. Ranges are not accepted.",
            "type": "string"
          },
          "readbackRange": {
            "description": "Dependent A1 range to read before and after the edit, for example Summary!A1:B5.",
            "type": "string"
          },
          "readbackSheetName": {
            "description": "Default sheet name when readbackRange omits a sheet name.",
            "type": "string"
          },
          "sheetName": {
            "description": "Existing sheet name for the cell to edit, for example Inputs.",
            "type": "string"
          },
          "value": {
            "description": "Raw cell content. Formula strings must start with =; plain strings are stored as literals. Strict MCP hosts require a single parameter type, so pass evaluated numbers/booleans as formulas such as =0.4 or =TRUE(). The server still accepts JSON number, boolean, or null arguments from clients that support them.",
            "type": "string"
          }
        },
        "required": [
          "sheetName",
          "address",
          "value",
          "readbackRange"
        ],
        "type": "object"
      },
      "name": "set_cell_contents_and_readback"
    },
    {
      "description": "Validate formula syntax with the WorkPaper parser before writing it to a cell. This checks syntax only; use set_cell_contents plus readback to evaluate.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "formula": {
            "description": "Formula string including the leading =, for example =SUM(Inputs!B2:B4).",
            "type": "string"
          }
        },
        "required": [
          "formula"
        ],
        "type": "object"
      },
      "name": "validate_formula"
    }
  ]
}

What the leaf hashes

{"body":"a18fd7d3229362cd89e4ac22a152731cd74cea8eefd67c125fba87848e1d2ca3","id":275521,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793040644057998,"prev":null,"subject":"1965a3c9-e475-4048-993a-844037428f7b","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. 0xa21b309f24a5d4c9696afb424d11e0e4f8c1e447e5db286ebbcd27b911311cf5
  2. 0xed1de41779f1f7e881691a72964d13134d11eda1b182e8fa83d032bf74cd820e
  3. 0x56141d01fb84d81c64b3decce41523b27fcf4d7f80626989b6a21d74265fc47d
  4. 0x0255f51f4e6b1cdea853d0f6a76d25820804353121311a94deabd6c461afccb3
  5. 0xd778039b5d8ee04d3e5a81001069bbadfa668eda3a14ec79dc169d21da6fb6da
  6. 0xf98677dfba386cea541930208c02d06511aea521656bff42a9e7558de7f88555
  7. 0x788c57d109431ec1a76a770860e75fad14a40b194b75933df299b2b09a4fc9a1
  8. 0xb104c63de98cbe0b76cce50eadd477bf25a1ed10e6e37171bcda64d9c1628e4a
  9. 0xe67eecaf696e494561ce621c14fc42e62336d45f7309ad0195e652382fb489a9
  10. 0x9f737f37530f83ae6928a14e73e114762b12b3c82ceb7028bdaf78f27b288ea9
  11. 0x9ca444fcd24e94bee95de2e8d69f385e59ecdaff6c1b017632bff037809c381b
  12. 0x95576cc3dd18642c859f679cefa1cf80bfc6c690b065916c3585b14e8ef4b1b3
  13. 0xf8d3e004d9a208d2c5e82ab676956d80f8a3c78387c61dad15a3a8269efee0d8
  14. 0x6713795704ddd9c528d421fadd9cc96b0200a4ddbba84f88e718d4968dde888b
  15. 0x62a900133713919f4eed33d8336876b7a6d538233b8a4f3ed03b29aa44f5bad0
  16. 0x1ac20d30773e1f4f2f811540e9a99b5cca9177c9e2e029acc0d80cf3f1d11f0f
  17. 0xd21942ae3214eff88e08ab04884fd4b11958b51af9a0741b7668e2d07a2c56c9
  18. 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON