addrbookFor publishers
← 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).

  1. 0x74f98cbc631394903195fc10661764b471623a89519545141db7514d98326103
  2. 0x3e1578a942d5a79d78664c3d0b3b3ff217c4942809740f8e2c42d56316272b25
  3. 0x47ed59603a231dcb07925d11f822894ae5374b3a1403afba48676c05f8cd9154
  4. 0x1c0d886c82276018dd6362a62725da2cf352bf9c0987932e47409972e55c0037
  5. 0xc27800a5e2bf6b93b8b221d85b3ff56e06aaf30119ad143b27e02e0765611496
  6. 0x412042e930c7768b36072bc0fa11339748254303860079a68285c58a64869df2
  7. 0xdb5f73af6be58bfff9b55f7b66e7f71b94be33f8b69bcb0fa40fa250f4d6e07f
  8. 0xfd173bf0d162e6e6031a6d5397e7f5fc236c2cdf57ae590fbf5714ac84d093e1
  9. 0xba7de18e3db1800578378224c00ca26d423b0f97dd49933e4ee71497ec6ad08e
  10. 0x5c556491116c854e5d6a098ecf659f83d1609c9931538e01910eedcdf5460968
  11. 0xbadb694e30e3b4990c80e04bb35fb64efec74cc8e401fd0ef8cb0e7b20c88505
  12. 0x58a1b7d7965722efb70d69acfb10b39e77f817864b8d4b4069d33ff29884a3bd
  13. 0x4094bd5bc2ab60e4518d1ee8a13455a69d7484ea62ecdca2618d0f39d3403503
  14. 0x9848c068b1371232529d2b5738fdc45b854c57da041b69ea7c9e112b14e2d9d1
  15. 0x275720ecabb68df33eee92ae4fd70572a8d952d6c61c061c2869cfc3217aa5c5
  16. 0x23cf9bb4337ee8be7fcae368fd69d24c62c11fb45882127b4cd919bb96a19996
  17. 0x0e01aa9525097570a6edaf32bfc959de57bf5c24317cf10c0716affea85ca60d
  18. 0xa20d48798a34aba12eb9c7297722982d910f06c148f5e27ac59307422964a585
  19. 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
Day root
0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
Chained
0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
Published
On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4

How to check it · This row as JSON