← The evidence ledger
Evidence row 567609
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint edf6926c-c2d2-4cae-9574-5f38f2478e54
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 3078d2ce3e59a8e697fc56642b53f8609d5b6674c588b67d78a23046c1c5b2ac
- Leaf
- 0x84e04c99f467dd2c85524eae85d2542537a2e1c5c5ddac36b136cfa7b237fad8
What was observed
{
"count": 44,
"tools": [
{
"description": "Fetch a URL and return content plus a signed receipt binding url, status, content hash and time.",
"inputSchema": {
"properties": {
"include_content": {
"type": "boolean"
},
"url": {
"description": "URL to fetch",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "attested_fetch"
},
{
"description": "Cancel a resource early.",
"inputSchema": {
"properties": {
"id": {
"description": "",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "cancel_resource"
},
{
"description": "Check whether a human approved or denied your request.",
"inputSchema": {
"properties": {
"id": {
"description": "approval id",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "check_approval"
},
{
"description": "Check in to a dead-man switch so it does not fire.",
"inputSchema": {
"properties": {
"id": {
"description": "dead-man switch id",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "checkin_deadman"
},
{
"description": "Idempotency firewall: claim an operation id exactly once across runs.",
"inputSchema": {
"properties": {
"id": {
"description": "firewall id",
"type": "string"
},
"operation_id": {
"description": "",
"type": "string"
}
},
"required": [
"id",
"operation_id"
],
"type": "object"
},
"name": "claim_operation"
},
{
"description": "Collect buffered messages from an inbox, bin, front door or form.",
"inputSchema": {
"properties": {
"all": {
"description": "include already-collected",
"type": "boolean"
},
"id": {
"description": "resource id",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "collect_messages"
},
{
"description": "Increment a counter atomically.",
"inputSchema": {
"properties": {
"by": {
"description": "",
"type": "number"
},
"id": {
"description": "",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "counter_incr"
},
{
"description": "Create a crash checkpoint store.",
"inputSchema": {
"properties": {
"days": {
"description": "",
"type": "number"
}
},
"required": [],
"type": "object"
},
"name": "create_checkpoint"
},
{
"description": "Create an atomic counter.",
"inputSchema": {
"properties": {
"days": {
"description": "",
"type": "number"
},
"start": {
"description": "",
"type": "number"
}
},
"required": [],
"type": "object"
},
"name": "create_counter"
},
{
"description": "Dead-man switch: if you stop checking in, we fire your alert webhook.",
"inputSchema": {
"properties": {
"apprise_url": {
"description": "optional human notification target",
"type": "string"
},
"days": {
"description": "",
"type": "number"
},
"interval_seconds": {
"description": "max time between check-ins",
"type": "number"
},
"url": {
"description": "alert webhook",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "create_deadman"
},
{
"description": "Dump up to 100 items now; we deliver them to your webhook at a fixed rate.",
"inputSchema": {
"properties": {
"items": {
"description": "items to drip",
"type": "array"
},
"rate_seconds": {
"description": "",
"type": "number"
},
"url": {
"description": "webhook",
"type": "string"
}
},
"required": [
"url",
"items"
],
"type": "object"
},
"name": "create_drip"
},
{
"description": "Escalation chain: webhook, then after N seconds the next step, until acknowledged.",
"inputSchema": {
"properties": {
"days": {
"description": "",
"type": "number"
},
"steps": {
"description": "steps: {webhook, apprise_url, wait_seconds}",
"type": "array"
},
"subject": {
"description": "",
"type": "string"
}
},
"required": [
"steps"
],
"type": "object"
},
"name": "create_escalation"
},
{
"description": "Durable front door: buffers webhooks and forwards them to your gateway with retry-until-ack.",
"inputSchema": {
"properties": {
"days": {
"description": "",
"type": "number"
},
"replay_hours": {
"description": "",
"type": "number"
},
"target": {
"description": "your gateway URL",
"type": "string"
}
},
"required": [
"target"
],
"type": "object"
},
"name": "create_frontdoor"
},
{
"description": "Create an idempotency/replay firewall.",
"inputSchema": {
"properties": {
"days": {
"description": "",
"type": "number"
}
},
"required": [],
"type": "object"
},
"name": "create_idempotency"
},
{
"description": "Public URL that buffers inbound webhooks until you collect them.",
"inputSchema": {
"properties": {
"days": {
"description": "prepaid days",
"type": "number"
},
"label": {
"description": "",
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "create_inbox"
},
{
"description": "Create an expiring share link with click stats.",
"inputSchema": {
"properties": {
"days": {
"description": "",
"type": "number"
},
"target": {
"description": "destination URL",
"type": "string"
}
},
"required": [
"target"
],
"type": "object"
},
"name": "create_link"
},
{
"description": "Pull-based work queue with leases; timed-out leases requeue.",
"inputSchema": {
"properties": {
"days": {
"description": "",
"type": "number"
},
"lease_seconds": {
"description": "",
"type": "number"
},
"max_attempts": {
"description": "",
"type": "number"
}
},
"required": [],
"type": "object"
},
"name": "create_queue"
},
{
"description": "Recurring webhook on a cron expression until the prepaid days run out.",
"inputSchema": {
"properties": {
"cron": {
"description": "cron expression, e.g. 0 7 * * *",
"type": "string"
},
"days": {
"description": "prepaid days",
"type": "number"
},
"payload": {
"description": "",
"type": "object"
},
"url": {
"description": "webhook URL",
"type": "string"
}
},
"required": [
"cron",
"url"
],
"type": "object"
},
"name": "create_schedule"
},
{
"description": "Mint a spend-capped child token for a sub-agent.",
"inputSchema": {
"properties": {
"cap_usd": {
"description": "hard spend cap",
"type": "number"
},
"days": {
"description": "",
"type": "number"
},
"label": {
"description": "",
"type": "string"
}
},
"required": [
"cap_usd"
],
"type": "object"
},
"name": "create_subtoken"
},
{
"description": "Create a key-value namespace with TTL that survives your runs.",
"inputSchema": {
"properties": {
"days": {
"description": "",
"type": "number"
},
"label": {
"description": "",
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "create_vault"
},
{
"description": "Schedule a webhook call at a future time (one-shot). Your agent can die; the call still happens.",
"inputSchema": {
"properties": {
"at": {
"description": "ISO-8601 time to fire",
"type": "string"
},
"payload": {
"description": "JSON to include",
"type": "object"
},
"url": {
"description": "webhook URL to call",
"type": "string"
}
},
"required": [
"at",
"url"
],
"type": "object"
},
"name": "create_wakeup"
},
{
"description": "Watch something and fire your webhook when it changes. Types: change, keyword, regex, structured, drift, redirect, sitemap, staleness, rss, dns, port, cert, heartbeat.",
"inputSchema": {
"properties": {
"confirmations": {
"description": "fire only after N consecutive hits",
"type": "number"
},
"days": {
"description": "",
"type": "number"
},
"domain": {
"description": "for cert watch",
"type": "string"
},
"host": {
"description": "",
"type": "string"
},
"interval_seconds": {
"description": "",
"type": "number"
},
"json": {
"type": "boolean"
},
"keyword": {
"description": "",
"type": "string"
},
"name": {
"description": "DNS name",
"type": "string"
},
"pattern": {
"description": "regex",
"type": "string"
},
"percent": {
"description": "drift threshold",
"type": "number"
},
"port": {
"description": "",
"type": "number"
},
"record": {
"description": "DNS record type",
"type": "string"
},
"selector": {
"description": "CSS selector or JSON path",
"type": "string"
},
"type": {
"description": "watch type",
"type": "string"
},
"url": {
"description": "URL to watch",
"type": "string"
},
"webhook": {
"description": "called on change",
"type": "string"
}
},
"required": [
"type",
"webhook"
],
"type": "object"
},
"name": "create_watch"
},
{
"description": "Check the balance of your prepaid credit token.",
"inputSchema": {
"properties": {},
"required": [],
"type": "object"
},
"name": "credit_balance"
},
{
"description": "Hand over a payload now; we POST it to the target at a future moment.",
"inputSchema": {
"properties": {
"at": {
"description": "ISO-8601",
"type": "string"
},
"payload": {
"description": "",
"type": "object"
},
"url": {
"description": "target URL",
"type": "string"
}
},
"required": [
"at",
"url"
],
"type": "object"
},
"name": "delayed_delivery"
},
{
"description": "Export everything under a resource before it expires.",
"inputSchema": {
"properties": {
"id": {
"description": "",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "export_resource"
},
{
"description": "Extend a resource TTL by paying again.",
"inputSchema": {
"properties": {
"days": {
"description": "",
"type": "number"
},
"id": {
"description": "",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "extend_resource"
},
{
"description": "Status of any resource you hold the management token for.",
"inputSchema": {
"properties": {
"id": {
"description": "",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "get_resource"
},
{
"description": "POST a payload to a URL, retried with backoff until it succeeds.",
"inputSchema": {
"properties": {
"payload": {
"description": "",
"type": "object"
},
"url": {
"description": "target",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "guaranteed_delivery"
},
{
"description": "Read a value from a vault.",
"inputSchema": {
"properties": {
"id": {
"description": "vault id",
"type": "string"
},
"key": {
"description": "",
"type": "string"
}
},
"required": [
"id",
"key"
],
"type": "object"
},
"name": "kv_get"
},
{
"description": "List keys in a vault.",
"inputSchema": {
"properties": {
"id": {
"description": "vault id",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "kv_list"
},
{
"description": "Store a value in a vault (max 1 MB).",
"inputSchema": {
"properties": {
"id": {
"description": "vault id",
"type": "string"
},
"key": {
"description": "",
"type": "string"
},
"value": {
"description": "",
"type": "string"
}
},
"required": [
"id",
"key",
"value"
],
"type": "object"
},
"name": "kv_set"
},
{
"description": "Machine-readable price list for every ZenVault service, in USD.",
"inputSchema": {
"properties": {},
"required": [],
"type": "object"
},
"name": "list_prices"
},
{
"description": "Load the latest saved checkpoint state.",
"inputSchema": {
"properties": {
"id": {
"description": "",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "load_checkpoint"
},
{
"description": "Signed proof that a hash (or your data) existed at this moment.",
"inputSchema": {
"properties": {
"data": {
"description": "raw data to hash instead",
"type": "string"
},
"note": {
"description": "",
"type": "string"
},
"sha256": {
"description": "hex digest",
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "notarize"
},
{
"description": "Send a message to a human on Telegram, Discord, Slack, ntfy, email and 100+ other services (apprise URL is used once, never stored).",
"inputSchema": {
"properties": {
"apprise_url": {
"description": "apprise target URL",
"type": "string"
},
"body": {
"description": "message",
"type": "string"
},
"title": {
"description": "",
"type": "string"
}
},
"required": [
"apprise_url",
"body"
],
"type": "object"
},
"name": "notify_human"
},
{
"description": "Publish an HTML page at name.zenvault.eu for N days.",
"inputSchema": {
"properties": {
"days": {
"description": "",
"type": "number"
},
"html": {
"description": "page HTML",
"type": "string"
},
"name": {
"description": "subdomain name",
"type": "string"
}
},
"required": [
"html"
],
"type": "object"
},
"name": "publish_page"
},
{
"description": "Acknowledge (or nack) a leased job.",
"inputSchema": {
"properties": {
"action": {
"enum": [
"ack",
"nack"
],
"type": "string"
},
"id": {
"description": "queue id",
"type": "string"
},
"job_id": {
"description": "",
"type": "string"
}
},
"required": [
"id",
"job_id"
],
"type": "object"
},
"name": "queue_ack"
},
{
"description": "Lease the next job from a queue.",
"inputSchema": {
"properties": {
"id": {
"description": "queue id",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "queue_lease"
},
{
"description": "Push a job onto a queue.",
"inputSchema": {
"properties": {
"body": {
"description": "job payload",
"type": "string"
},
"id": {
"description": "queue id",
"type": "string"
}
},
"required": [
"id",
"body"
],
"type": "object"
},
"name": "queue_push"
},
{
"description": "Ask a human to approve or deny an action; returns a URL for them and a signed verdict for you. Times out as denied.",
"inputSchema": {
"properties": {
"action": {
"description": "what you want to do",
"type": "string"
},
"apprise_url": {
"description": "ping the human here",
"type": "string"
},
"detail": {
"description": "context for the human",
"type": "string"
},
"timeout_seconds": {
"description": "",
"type": "number"
},
"webhook": {
"description": "called with the verdict",
"type": "string"
}
},
"required": [
"action"
],
"type": "object"
},
"name": "request_approval"
},
{
"description": "Tell the operator what ZenVault is missing. Free.",
"inputSchema": {
"properties": {
"what": {
"description": "what you need",
"type": "string"
},
"why": {
"description": "why",
"type": "string"
},
"would_pay": {
"description": "would you pay, how much",
"type": "string"
}
},
"required": [
"what"
],
"type": "object"
},
"name": "request_feature"
},
{
"description": "Save run state so you can resume after a crash.",
"inputSchema": {
"properties": {
"id": {
"description": "checkpoint id",
"type": "string"
},
"state": {
"description": "serialized state",
"type": "string"
}
},
"required": [
"id",
"state"
],
"type": "object"
},
"name": "save_checkpoint"
},
{
"description": "Store a value that self-destructs on first read; returns a one-time read URL.",
"inputSchema": {
"properties": {
"days": {
"description": "",
"type": "number"
},
"value": {
"description": "",
"type": "string"
}
},
"required": [
"value"
],
"type": "object"
},
"name": "store_secret"
},
{
"description": "Check a watch: last value, checks, fires.",
"inputSchema": {
"properties": {
"id": {
"description": "",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "watch_status"
}
]
}What the leaf hashes
{"body":"3078d2ce3e59a8e697fc56642b53f8609d5b6674c588b67d78a23046c1c5b2ac","id":567609,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793138782759093,"prev":null,"subject":"edf6926c-c2d2-4cae-9574-5f38f2478e54","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (273461 rows).
- 0x84e046a77f7de3bf81e0d80d2fd59a062146d4c67a12e6b046f21c6ebc87779d
- 0x363b4982325d56091adebfadf718fd6b3e942228b030dc4444dc4bf2c0ffc5ef
- 0x593b3f12db509b4706e668b1d9c889e4e4252ec28aec76a1e7a67c5c04c2b5e1
- 0xcd6b14bfca4d5954b6e454313a4d5306baca536d3572e78a2dda6689a0d9d93d
- 0x8b57a451161fa751b2c2c26f4e9424ab238d552eb430037b57dcc158d21fae18
- 0xec345f66306af5c022df8b938c7bd1e9731bdd73d0db1dfad0d736763aadb554
- 0xc4297a0ef6f5819f15bb260895e31a923ced9bf649aa41ca735c3c3ffe31e873
- 0x49001885db61b0a5a1c0db185c463829b7153e00448a4e2eeee8be21c82145fc
- 0xd6818ed34f8640f1cde35b2508fb74de773e5c140ad2d7fd4e3a49d9b6dba653
- 0x4dfa5367319512a91b443abf8bb6aae56edeb75a5934d2d6e335582f367220c2
- 0xad994cee2d6f21e3bdb657e22472462ec0aaf283ebff1e0bba45d6f624c7e640
- 0xfe1f74bbe32292598f931fa103e4afbd12a8e628c1b49eb8ec0da417a917061f
- 0x07d414626f116f3edc6ddb34183ed02538c3a805fec6db00f9d764f8fd595d04
- 0x4964f0806efde5ed25f60da2b45d78cd2e0f07d67e64aad2822f6016ad973c47
- 0x3c500ec3d3edf0c74b87a6ca8fcd77656bfbe03db3d478bd0c184d0c88839c6b
- 0xfecf3d4646dd4984a13dd715499e842c3fde63692336d97394c2bfd8e877ca5d
- 0xf30fddbf4811226c58e8f0daf36fddd79fc5f1356b592bb1d99a8061ddbabe66
- 0x2bf8151e5f157dd183b9de6fa00469551932a7a6e3f33a694895000ac9061197
- 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
- Day root
- 0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
- Chained
- 0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
- Published
- On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4