← The evidence ledger
Evidence row 569518
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 49ece8e8-6f2a-4069-990f-43ef62f44360
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 74bf814ace6094181ee284d569f82acd03ac798bef5ed2801ad0cbd6ac6fb748
- Leaf
- 0xfe4516d9a9b6fd506ee27bc85e5ce86ad14e42b3db326dca339d16b41581cda0
What was observed
{
"count": 15,
"tools": [
{
"description": "The account's recent calls and outcomes; pass next as before for older ones. Without a key: signed_in:false.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"before": {
"maxLength": 100,
"type": "string"
},
"limit": {
"maximum": 50,
"minimum": 1,
"type": "integer"
}
},
"type": "object"
},
"name": "activity"
},
{
"description": "Input schema, limits and examples of one ComputeFirst catalog tool, by id and version.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"id": {
"maxLength": 100,
"pattern": "^[a-z0-9_-]+$",
"type": "string"
},
"version": {
"maxLength": 100,
"type": "string"
}
},
"required": [
"id",
"version"
],
"type": "object"
},
"name": "describe"
},
{
"description": "Run one ComputeFirst catalog tool by id and version with its JSON input. Returns the deterministic result and an unmeasured savings receipt. Limits: computefirst.net/docs#limits.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"id": {
"maxLength": 100,
"pattern": "^[a-z0-9_-]+$",
"type": "string"
},
"input": {
"type": "object"
},
"model": {
"description": "Optional: your model id, only so savings can be shown per model",
"maxLength": 256,
"type": "string"
},
"version": {
"maxLength": 100,
"type": "string"
}
},
"required": [
"id",
"version",
"input"
],
"type": "object"
},
"name": "execute"
},
{
"description": "Run 1–20 ComputeFirst catalog tools in one request. Optional bindings fill an input key from an earlier result (JSON Pointer); include_result:false omits an intermediate. Steps after a failed dependency are skipped; nothing is retried automatically. Each success is one execution. Inputs, results and response: 256 KiB each. A factory work budget can skip an item with batch_work_limit; finance and exact decimal power/root/expression tools use the full factory allowance. Send additional factory operations separately. Split refused work; successful items are never retried automatically.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"model": {
"description": "Optional: your model id, only so savings can be shown per model",
"maxLength": 256,
"type": "string"
},
"operations": {
"items": {
"additionalProperties": false,
"properties": {
"bindings": {
"description": "Fill distinct top-level input keys from earlier successful results; keys must be absent from input.",
"items": {
"additionalProperties": false,
"properties": {
"from": {
"description": "Zero-based earlier operation index; no forward/self references.",
"maximum": 19,
"minimum": 0,
"type": "integer"
},
"key": {
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"path": {
"description": "RFC 6901 JSON Pointer into that operation result, not its receipt. Empty selects the whole result.",
"maxLength": 1024,
"type": "string"
}
},
"required": [
"key",
"from",
"path"
],
"type": "object"
},
"maxItems": 16,
"type": "array"
},
"id": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[a-z0-9_-]+$",
"type": "string"
},
"include_result": {
"default": true,
"description": "False returns a success receipt only; the bounded result remains available to later bindings and consent-gated audit. Omission does not bypass the batch work budget.",
"type": "boolean"
},
"input": {
"type": "object"
},
"version": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[a-zA-Z0-9.+_-]+$",
"type": "string"
}
},
"required": [
"id",
"version",
"input"
],
"type": "object"
},
"maxItems": 20,
"minItems": 1,
"type": "array"
}
},
"required": [
"operations"
],
"type": "object"
},
"name": "execute_batch"
},
{
"description": "Tell ComputeFirst what helped or went wrong (a missing tool fits request_tool). A stable request_id makes retries safe. Leave out secrets and raw data.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"category": {
"enum": [
"missing_capability",
"useful",
"wrong_result",
"hard_to_use",
"other"
],
"type": "string"
},
"execution_ref": {
"maxLength": 100,
"type": "string"
},
"message": {
"maxLength": 1000,
"minLength": 1,
"type": "string"
},
"request_id": {
"maxLength": 100,
"minLength": 1,
"type": "string"
}
},
"required": [
"category",
"message",
"request_id"
],
"type": "object"
},
"name": "feedback"
},
{
"description": "Tools saved in the account's library (id, version, note). Without a key: signed_in:false and no tools.",
"inputSchema": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "list_saved_tools"
},
{
"description": "The signed-in account: keys, privileges and tool-request status. Without a key: signed_in:false and the optional extras.",
"inputSchema": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "profile"
},
{
"description": "Remove a tool id and version from the account's library. Without a key nothing changes.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"id": {
"maxLength": 100,
"pattern": "^[a-z0-9_-]+$",
"type": "string"
},
"version": {
"maxLength": 100,
"type": "string"
}
},
"required": [
"id",
"version"
],
"type": "object"
},
"name": "remove_saved_tool"
},
{
"description": "Optional, for the person: your model id and, if known, your own estimate of the tokens a call saved (estimated_tokens_saved). Returns its dollar value at public list prices; unknown stays null. A measured comparison adds task_id, baseline_id, baseline, actual, whole_task:true, execution_ref.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"actual": {
"required": [
"input",
"cached_input",
"output"
],
"type": "object"
},
"baseline": {
"required": [
"input",
"cached_input",
"output"
],
"type": "object"
},
"baseline_id": {
"maxLength": 100,
"type": "string"
},
"estimated_tokens_saved": {
"additionalProperties": false,
"properties": {
"input": {
"minimum": 0,
"type": "integer"
},
"output": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"input",
"output"
],
"type": "object"
},
"execution_ref": {
"maxLength": 100,
"type": "string"
},
"model": {
"maxLength": 100,
"type": "string"
},
"provider": {
"maxLength": 40,
"type": "string"
},
"task_id": {
"maxLength": 100,
"type": "string"
},
"whole_task": {
"const": true
}
},
"required": [
"model"
],
"type": "object"
},
"name": "report_savings"
},
{
"description": "Ask for a tool that does not exist yet: the task, optionally example input and output. Optional contact_email (with email_consent:true), only if the person wants one email when it ships. Leave out secrets.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"contact_email": {
"maxLength": 254,
"type": "string"
},
"description": {
"maxLength": 4096,
"minLength": 1,
"type": "string"
},
"email_consent": {
"type": "boolean"
},
"example_input": {
"maxLength": 4096,
"type": "string"
},
"example_output": {
"maxLength": 4096,
"type": "string"
}
},
"required": [
"description"
],
"type": "object"
},
"name": "request_tool"
},
{
"description": "Save a tool id and version to the account's library, with an optional note (saving again replaces the note). Without a key nothing is saved.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"id": {
"maxLength": 100,
"pattern": "^[a-z0-9_-]+$",
"type": "string"
},
"note": {
"maxLength": 200,
"type": "string"
},
"version": {
"maxLength": 100,
"type": "string"
}
},
"required": [
"id",
"version"
],
"type": "object"
},
"name": "save_tool"
},
{
"description": "Savings totals, optionally for one model: with a key, the account's measured and estimated totals; otherwise community verified totals. Unmeasured is not zero.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"model": {
"maxLength": 100,
"type": "string"
}
},
"type": "object"
},
"name": "savings"
},
{
"description": "Search the ComputeFirst catalog (computefirst.net/tools) with an English task. Returns up to 5 tools (3 by default) with id, version and a 0–1 score; a confident first match includes its input contract. No match: request_tool can ask for one.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"include_contract": {
"default": true,
"type": "boolean"
},
"limit": {
"maximum": 5,
"minimum": 1,
"type": "integer"
},
"query": {
"maxLength": 256,
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "search"
},
{
"description": "Only when the person explicitly asks for a free account (consent:true): creates one for their email (unverified) and returns an agent key once, for saved tools, history, personal savings and a higher limit. The person stores the key in their client settings; do not repeat it in the conversation. newsletter:true only if they ask.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"consent": {
"const": true
},
"email": {
"maxLength": 254,
"type": "string"
},
"newsletter": {
"type": "boolean"
}
},
"required": [
"email",
"consent"
],
"type": "object"
},
"name": "sign_in"
},
{
"description": "Subscribe an email to new-tool announcements, only when the person asks for them (consent:true). Every email has an unsubscribe link.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"consent": {
"const": true
},
"email": {
"maxLength": 254,
"type": "string"
}
},
"required": [
"email",
"consent"
],
"type": "object"
},
"name": "subscribe"
}
]
}What the leaf hashes
{"body":"74bf814ace6094181ee284d569f82acd03ac798bef5ed2801ad0cbd6ac6fb748","id":569518,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793139390738527,"prev":null,"subject":"49ece8e8-6f2a-4069-990f-43ef62f44360","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (273461 rows).
- 0xfe45c334697e90e7503b723f0f5eb45f85682e06dd87f14a5886b66ca1794dc0
- 0x729d719eb07039965a4e5e063005d7d443c84e8ea43eea2ecf71023da85ba8fa
- 0x6d5e71abdcf1cb4c724513c330ebaeb1da2a7e85dbf4c870f5f41ed3c78e26a6
- 0x2955a5cd46acedcd7fabed52f99aaaa35e472458feb8eda929727945a235b482
- 0x58efbb14d8e1a99b6f1d1c1df35ecef150e7433dfe240c9f14121f1e395cf500
- 0xb907a4ec0586dd0a0cefad98ff24d1ef86688e5a1882b45f543674499c27de68
- 0xd46f9ce3fed1634fce4334f8a09b7e2f41485f5a8233d18914b89df60d772a99
- 0x84629a590cac6718077bcc7d2089a1e768480cb830fdf4f3f9b7cacbf483e22e
- 0x646286a2b9eda62688dbbdd7d3da965327bef104b64e9428c88e035818cdfee3
- 0x3ca3e31ae9036bcc0149e8dd5233b4994fe6dfd315128f7a458e0a9bddcd0124
- 0x2e46f3f4a54c5bd4593fdcffcdac06f2162a9caae3cbf2922131682671bb12a1
- 0x405c03a710a7150f5182f236dbd76258bf856f8cdf3ac954821ac082524f65da
- 0x56e872147e60f01cdcee33340b018a7ad7be91ec5b5daef0d2c629c3ca13cbd8
- 0xb5b652bba4a5afca56c21031d89b1c06361563aaf54ccc8541c296ceeb2b66fa
- Day root
- 0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
- Chained
- 0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
- Published
- On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4