← The evidence ledger
Evidence row 566457
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 02ce77f2-687a-4316-abe2-57410280ad7b
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 464a34b16a5564a1c0a11bf55e19a2f56b00d229dc460bb5591c8e7fb7408245
- Leaf
- 0x74f9ceb3afe0ff01e9dede1aebbd3682ad9277751a658afba3f317860ff4848f
What was observed
{
"count": 37,
"tools": [
{
"description": "Add the account of a person with a Vivere login to a team. Joining a team that has pages takes a seat.",
"inputSchema": {
"properties": {
"email": {
"description": "Their login email",
"type": "string"
},
"team_id": {
"description": "Team id",
"type": "integer"
}
},
"required": [
"team_id",
"email"
],
"type": "object"
},
"name": "add_team_member"
},
{
"description": "Report on a heartbeat monitor: 'success' after a completed run (resets the deadline), 'start' when a run begins, 'fail' when it failed. Include a short message; it is kept as the run log.",
"inputSchema": {
"properties": {
"cache_read_tokens": {
"description": "Optional: cache read input tokens",
"type": "integer"
},
"cache_write_tokens": {
"description": "Optional: cache creation input tokens",
"type": "integer"
},
"cost_usd": {
"description": "Optional: what the run cost in US dollars, e.g. 0.042",
"type": "number"
},
"input_tokens": {
"description": "Optional: input tokens the run used",
"type": "integer"
},
"items": {
"description": "Optional: how many items the run handled (tickets, rows, emails)",
"type": "integer"
},
"message": {
"description": "Optional summary or error text to store with the run",
"type": "string"
},
"model": {
"description": "Optional: the model the run used, e.g. claude-sonnet-4-5",
"type": "string"
},
"monitor_id": {
"description": "Monitor id (the last path segment of the ping URL)",
"type": "string"
},
"output_tokens": {
"description": "Optional: output tokens the run used",
"type": "integer"
},
"status": {
"description": "Default success",
"enum": [
"success",
"start",
"fail"
],
"type": "string"
}
},
"required": [
"monitor_id"
],
"type": "object"
},
"name": "check_in"
},
{
"description": "Add an alert channel. Settings by kind: email {to}; webhook {url, secret}; slack {url}; discord {url}; telegram {token, chat_id}; ntfy {url, token}. Slack, Discord, Telegram and ntfy need a paid plan.",
"inputSchema": {
"properties": {
"config": {
"additionalProperties": {
"type": "string"
},
"description": "The kind's settings",
"type": "object"
},
"kind": {
"enum": [
"email",
"webhook",
"slack",
"discord",
"telegram",
"ntfy"
],
"type": "string"
},
"name": {
"description": "Channel name",
"type": "string"
}
},
"required": [
"kind",
"name",
"config"
],
"type": "object"
},
"name": "create_channel"
},
{
"description": "Create a heartbeat monitor (default) or an HTTP check on the account's first page or on page_id, which may be a page shared with this account as editor. Returns the monitor and, for heartbeats, the ping URL to call after each run.",
"inputSchema": {
"properties": {
"cron": {
"description": "Heartbeat alternative to period: five-field cron expression, e.g. '0 2 * * *'.",
"type": "string"
},
"grace": {
"description": "Heartbeat: how late a check-in may be before alerting, e.g. 15m. Default 15m.",
"type": "string"
},
"interval": {
"description": "HTTP check: how often to request it, e.g. 5m.",
"type": "string"
},
"kind": {
"description": "heartbeat (the job pings us) or http (we request a URL)",
"enum": [
"heartbeat",
"http"
],
"type": "string"
},
"name": {
"description": "Human name, e.g. 'nightly report agent'",
"type": "string"
},
"page_id": {
"description": "Page to put it on (from list_pages). Default: the account's first page.",
"type": "integer"
},
"period": {
"description": "Heartbeat: expected time between successful check-ins, e.g. 30m, 1h, 1d. Default 1h.",
"type": "string"
},
"tags": {
"description": "Optional space-separated tags.",
"type": "string"
},
"timezone": {
"description": "IANA timezone for the cron expression, e.g. Asia/Seoul. Default UTC.",
"type": "string"
},
"url": {
"description": "HTTP check: the public URL to request.",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "create_monitor"
},
{
"description": "Add a page to group monitors under, within the plan's pages. Its slug is its public address, made from the title when not given.",
"inputSchema": {
"properties": {
"slug": {
"description": "Lowercase letters, digits and dashes",
"type": "string"
},
"title": {
"description": "Page title",
"type": "string"
}
},
"required": [
"title"
],
"type": "object"
},
"name": "create_page"
},
{
"description": "Make a tracking pixel, within the plan's pixels. Returns the <img> tag to paste into a page or an email.",
"inputSchema": {
"properties": {
"name": {
"description": "Pixel name",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "create_pixel"
},
{
"description": "Make a team, on the Team plan.",
"inputSchema": {
"properties": {
"name": {
"description": "Team name",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "create_team"
},
{
"description": "Delete an alert channel. Monitors stop sending alerts to it.",
"inputSchema": {
"properties": {
"channel_id": {
"description": "Channel id",
"type": "integer"
}
},
"required": [
"channel_id"
],
"type": "object"
},
"name": "delete_channel"
},
{
"description": "Delete a monitor and all its history. This cannot be undone; pause_monitor stops alerts without losing anything.",
"inputSchema": {
"properties": {
"id": {
"description": "Monitor id",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "delete_monitor"
},
{
"description": "Delete one of your pages. Only an empty page that is not your first can go.",
"inputSchema": {
"properties": {
"page_id": {
"description": "Page id",
"type": "integer"
}
},
"required": [
"page_id"
],
"type": "object"
},
"name": "delete_page"
},
{
"description": "Delete a pixel and every load it recorded.",
"inputSchema": {
"properties": {
"pixel_id": {
"description": "Pixel id",
"type": "string"
}
},
"required": [
"pixel_id"
],
"type": "object"
},
"name": "delete_pixel"
},
{
"description": "Delete a team. Its members lose the pages it gave them.",
"inputSchema": {
"properties": {
"team_id": {
"description": "Team id",
"type": "integer"
}
},
"required": [
"team_id"
],
"type": "object"
},
"name": "delete_team"
},
{
"description": "Which account this key belongs to, its plan's limits and what it uses of them, and what this key may do: its permission on each resource (none, read or write) and the pages it is limited to, if any.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "get_account"
},
{
"description": "Get one monitor by id, including its ping URL for heartbeat monitors, or by page_id and slug, which also works on a page shared to view.",
"inputSchema": {
"properties": {
"id": {
"description": "Monitor id, for monitors this account owns or edits",
"type": "string"
},
"page_id": {
"description": "Page id, with slug",
"type": "integer"
},
"slug": {
"description": "Monitor slug, with page_id",
"type": "string"
}
},
"type": "object"
},
"name": "get_monitor"
},
{
"description": "One page: its public address, monitors and, on your own pages, who it is shared with and as what.",
"inputSchema": {
"properties": {
"page_id": {
"description": "Page id",
"type": "integer"
}
},
"required": [
"page_id"
],
"type": "object"
},
"name": "get_page"
},
{
"description": "One pixel and its newest loads: when, from which page, browser, language and platform.",
"inputSchema": {
"properties": {
"limit": {
"description": "How many loads, 1 to 200; default 50",
"type": "integer"
},
"pixel_id": {
"description": "Pixel id",
"type": "string"
}
},
"required": [
"pixel_id"
],
"type": "object"
},
"name": "get_pixel"
},
{
"description": "One run with the output it sent (the log), where it came from and what it cost.",
"inputSchema": {
"properties": {
"run_id": {
"description": "Run id, from list_runs",
"type": "integer"
}
},
"required": [
"run_id"
],
"type": "object"
},
"name": "get_run"
},
{
"description": "One team: its members and the pages shared with it.",
"inputSchema": {
"properties": {
"team_id": {
"description": "Team id",
"type": "integer"
}
},
"required": [
"team_id"
],
"type": "object"
},
"name": "get_team"
},
{
"description": "Your alert channels. Secret settings are never shown; secrets_set names the ones that have a value.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "list_channels"
},
{
"description": "Status changes across the account's own monitors, newest first.",
"inputSchema": {
"properties": {
"limit": {
"description": "How many, 1 to 200; default 50",
"type": "integer"
}
},
"type": "object"
},
"name": "list_events"
},
{
"description": "One monitor's status changes (up, down, late, paused), newest first.",
"inputSchema": {
"properties": {
"id": {
"description": "Monitor id",
"type": "string"
},
"limit": {
"description": "How many, 1 to 200; default 50",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "list_monitor_events"
},
{
"description": "List the monitors on every page this account can see, or on one page, with status, page and access. Monitors on a page shared to view have no id; address them by page_id and slug.",
"inputSchema": {
"properties": {
"page_id": {
"description": "Only this page (from list_pages)",
"type": "integer"
},
"query": {
"description": "Only monitors whose name, tags or HTTP target contain every one of these words",
"type": "string"
},
"tag": {
"description": "Only monitors with this tag",
"type": "string"
}
},
"type": "object"
},
"name": "list_monitors"
},
{
"description": "List the pages this account can see: its own, then pages other accounts share with it, each with the access it has there (owner, editor or viewer) and how many monitors are on it and down.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "list_pages"
},
{
"description": "Your tracking pixels, with the tag to paste and how often each has loaded.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "list_pixels"
},
{
"description": "A heartbeat monitor's newest runs with their outcome, duration, exit code and any model, tokens and cost they reported, plus what its runs cost over 30 days.",
"inputSchema": {
"properties": {
"id": {
"description": "Monitor id",
"type": "string"
},
"limit": {
"description": "How many, 1 to 200; default 50",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "list_runs"
},
{
"description": "Your teams, with how many members and pages each has.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "list_teams"
},
{
"description": "Turn off Public on every monitor on one of your pages, which takes its public status page down.",
"inputSchema": {
"properties": {
"page_id": {
"description": "Page id",
"type": "integer"
}
},
"required": [
"page_id"
],
"type": "object"
},
"name": "make_page_private"
},
{
"description": "Pause a monitor so it stops alerting until resumed or pinged again.",
"inputSchema": {
"properties": {
"id": {
"description": "Monitor id",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "pause_monitor"
},
{
"description": "Take an account out of a team.",
"inputSchema": {
"properties": {
"account_id": {
"description": "The member's account id, from get_team",
"type": "integer"
},
"team_id": {
"description": "Team id",
"type": "integer"
}
},
"required": [
"team_id",
"account_id"
],
"type": "object"
},
"name": "remove_team_member"
},
{
"description": "Rename a team.",
"inputSchema": {
"properties": {
"name": {
"description": "New name",
"type": "string"
},
"team_id": {
"description": "Team id",
"type": "integer"
}
},
"required": [
"team_id",
"name"
],
"type": "object"
},
"name": "rename_team"
},
{
"description": "Resume a paused monitor.",
"inputSchema": {
"properties": {
"id": {
"description": "Monitor id",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "resume_monitor"
},
{
"description": "Share one of your pages with the account of a person who has a Vivere login (email) or with one of your teams (team_id), as viewer or editor, or change the role they have. Needs a paid plan, a free seat for anybody new, and the Team plan for teams.",
"inputSchema": {
"properties": {
"email": {
"description": "The person's login email",
"type": "string"
},
"page_id": {
"description": "Page id",
"type": "integer"
},
"role": {
"description": "viewer sees status and history; editor can also add, change and delete monitors and route their alerts",
"enum": [
"viewer",
"editor"
],
"type": "string"
},
"team_id": {
"description": "Or a team id, from list_teams",
"type": "integer"
}
},
"required": [
"page_id",
"role"
],
"type": "object"
},
"name": "share_page"
},
{
"description": "Send a test alert to a channel.",
"inputSchema": {
"properties": {
"channel_id": {
"description": "Channel id",
"type": "integer"
}
},
"required": [
"channel_id"
],
"type": "object"
},
"name": "test_channel"
},
{
"description": "Stop sharing one of your pages with an account (account_id, from get_page) or a team (team_id). Their alert channels come off its monitors.",
"inputSchema": {
"properties": {
"account_id": {
"description": "The account to stop sharing with",
"type": "integer"
},
"page_id": {
"description": "Page id",
"type": "integer"
},
"team_id": {
"description": "Or the team",
"type": "integer"
}
},
"required": [
"page_id"
],
"type": "object"
},
"name": "unshare_page"
},
{
"description": "Rename a channel or change its settings. Settings left out keep their value.",
"inputSchema": {
"properties": {
"channel_id": {
"description": "Channel id",
"type": "integer"
},
"config": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"name": {
"description": "New name",
"type": "string"
}
},
"required": [
"channel_id"
],
"type": "object"
},
"name": "update_channel"
},
{
"description": "Change a monitor. Only the fields given change; its kind cannot. Setting cron switches a heartbeat to a cron schedule and setting period switches it back. Only the page's owner can move it, with page_id, to another of their own pages.",
"inputSchema": {
"properties": {
"channels": {
"description": "Alert channel ids (from list_channels); replaces the ones you can see",
"items": {
"type": "integer"
},
"type": "array"
},
"cost_alert_usd": {
"description": "Alert when one run costs more than this; 0 turns it off",
"type": "number"
},
"cron": {
"description": "Five-field cron expression; empty switches back to period",
"type": "string"
},
"description": {
"description": "Notes",
"type": "string"
},
"expected_status": {
"description": "HTTP status to expect; 0 accepts any 2xx or 3xx",
"type": "integer"
},
"fail_threshold": {
"description": "Failed checks in a row before it is down, 1 to 10",
"type": "integer"
},
"grace": {
"description": "Heartbeat grace, e.g. 15m",
"type": "string"
},
"id": {
"description": "Monitor id",
"type": "string"
},
"interval": {
"description": "HTTP check interval, e.g. 5m",
"type": "string"
},
"keyword": {
"description": "Text the response must contain",
"type": "string"
},
"method": {
"description": "GET, HEAD or POST",
"type": "string"
},
"name": {
"description": "New name",
"type": "string"
},
"page_id": {
"description": "Move it to this page (owner only)",
"type": "integer"
},
"period": {
"description": "Heartbeat period, e.g. 1h",
"type": "string"
},
"public": {
"description": "Show it on the page's public status page",
"type": "boolean"
},
"tags": {
"description": "Space-separated tags",
"type": "string"
},
"timeout": {
"description": "Seconds, 1 to 60",
"type": "integer"
},
"timezone": {
"description": "IANA timezone for cron",
"type": "string"
},
"url": {
"description": "HTTP check URL",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "update_monitor"
},
{
"description": "Rename one of your pages or change its slug, which moves its public address.",
"inputSchema": {
"properties": {
"page_id": {
"description": "Page id",
"type": "integer"
},
"slug": {
"description": "New slug",
"type": "string"
},
"title": {
"description": "New title",
"type": "string"
}
},
"required": [
"page_id"
],
"type": "object"
},
"name": "update_page"
}
]
}What the leaf hashes
{"body":"464a34b16a5564a1c0a11bf55e19a2f56b00d229dc460bb5591c8e7fb7408245","id":566457,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793138446513730,"prev":null,"subject":"02ce77f2-687a-4316-abe2-57410280ad7b","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (273461 rows).
- 0x74f98cbc631394903195fc10661764b471623a89519545141db7514d98326103
- 0x3e1578a942d5a79d78664c3d0b3b3ff217c4942809740f8e2c42d56316272b25
- 0x47ed59603a231dcb07925d11f822894ae5374b3a1403afba48676c05f8cd9154
- 0x1c0d886c82276018dd6362a62725da2cf352bf9c0987932e47409972e55c0037
- 0xc27800a5e2bf6b93b8b221d85b3ff56e06aaf30119ad143b27e02e0765611496
- 0x412042e930c7768b36072bc0fa11339748254303860079a68285c58a64869df2
- 0xdb5f73af6be58bfff9b55f7b66e7f71b94be33f8b69bcb0fa40fa250f4d6e07f
- 0xfd173bf0d162e6e6031a6d5397e7f5fc236c2cdf57ae590fbf5714ac84d093e1
- 0xba7de18e3db1800578378224c00ca26d423b0f97dd49933e4ee71497ec6ad08e
- 0x5c556491116c854e5d6a098ecf659f83d1609c9931538e01910eedcdf5460968
- 0xbadb694e30e3b4990c80e04bb35fb64efec74cc8e401fd0ef8cb0e7b20c88505
- 0x58a1b7d7965722efb70d69acfb10b39e77f817864b8d4b4069d33ff29884a3bd
- 0x4094bd5bc2ab60e4518d1ee8a13455a69d7484ea62ecdca2618d0f39d3403503
- 0x9848c068b1371232529d2b5738fdc45b854c57da041b69ea7c9e112b14e2d9d1
- 0x275720ecabb68df33eee92ae4fd70572a8d952d6c61c061c2869cfc3217aa5c5
- 0x23cf9bb4337ee8be7fcae368fd69d24c62c11fb45882127b4cd919bb96a19996
- 0x0e01aa9525097570a6edaf32bfc959de57bf5c24317cf10c0716affea85ca60d
- 0xa20d48798a34aba12eb9c7297722982d910f06c148f5e27ac59307422964a585
- 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
- Day root
- 0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
- Chained
- 0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
- Published
- On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4