← The evidence ledger
Evidence row 557419
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 5b2333ac-de38-49dc-8224-45b52eaa0149
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 7c64ba2416b7b13735aa85162a4c658ebdd2510712a08afa89c3d266b14f141c
- Leaf
- 0x26011c14d909d544f44f1667a4cf10b0be8f5fef802c886a2ec82dd34eb74239
What was observed
{
"count": 15,
"tools": [
{
"description": "Permanently deletes a deployment and its files.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"deployment": {
"description": "Deployment hostname to delete (e.g. \"happy-cat-abc1234.shipstatic.com\")",
"type": "string"
}
},
"required": [
"deployment"
],
"type": "object"
},
"name": "deployments_delete"
},
{
"description": "Get deployment details including URL, status, file count, size, labels, and password protection state.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"deployment": {
"description": "Deployment hostname (e.g. \"happy-cat-abc1234.shipstatic.com\"). Returned by deployments_upload or deployments_list.",
"type": "string"
}
},
"required": [
"deployment"
],
"type": "object"
},
"name": "deployments_get"
},
{
"description": "List all deployments with their URLs, status, labels, and password protection state. The response's `cursor` is null on the last page; pass it back as `cursor` to fetch the next.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"cursor": {
"description": "Opaque position from the previous response's `cursor` field; omit for the first page.",
"type": "string"
},
"limit": {
"description": "Maximum number of items to return in one page. Omit for the server default.",
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
}
},
"type": "object"
},
"name": "deployments_list"
},
{
"description": "Update deployment labels. Replaces all existing labels.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"deployment": {
"description": "Deployment hostname (e.g. \"happy-cat-abc1234.shipstatic.com\"). Use deployments_list to find deployments.",
"type": "string"
},
"labels": {
"description": "Labels to set. Replaces all existing labels. Pass empty array to clear.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"deployment",
"labels"
],
"type": "object"
},
"name": "deployments_set"
},
{
"description": "Deploy a static site to a live URL: free, no account or API key required.\n\n**File content is plain text by default.** Pass HTML/CSS/JS/JSON/SVG/etc. directly in each file's `content` as a regular string. Only set `encoding: \"base64\"` per-file for binary content (images, fonts) — do not base64-encode text.\n\nReturns the live URL. Without a connected account, the response also includes a one-time claim URL, and the site expires in 3 days unless claimed. Pass `password` to make the site private.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"files": {
"description": "Files that make up the site. The site root is implied by these paths.",
"items": {
"properties": {
"content": {
"description": "File content as a plain text string. For HTML, CSS, JS, JSON, SVG, plain text — pass directly with no encoding step. For binary files (images, fonts) ONLY, set this entry's `encoding: \"base64\"` and pass base64-encoded bytes.",
"type": "string"
},
"encoding": {
"description": "Defaults to `\"utf-8\"` (raw text). Set to `\"base64\"` ONLY for binary files. Never base64-encode text content — pass it as a plain string.",
"enum": [
"utf-8",
"base64"
],
"type": "string"
},
"path": {
"description": "Relative path within the site (e.g. \"index.html\", \"assets/app.css\"). No leading slash; no parent-folder wrapping.",
"type": "string"
}
},
"required": [
"path",
"content"
],
"type": "object"
},
"type": "array"
},
"idempotencyKey": {
"description": "Makes this deploy replayable instead of repeatable. A deploy is not naturally idempotent: if a call times out you cannot tell \"it never landed\" from \"it landed and the response was lost\", and retrying creates a second deployment. Send the same key on the retry and you get back the deployment the first try made, if it went live in the last 24 hours. A key works only within the account that sent it: without an account it is ignored, and a retry deploys again. Key the ATTEMPT (a run id, a commit sha, a uuid minted before the first try), never one minted fresh on each retry, which would defeat the point.",
"type": "string"
},
"labels": {
"description": "Labels for organizing deployments (e.g. [\"env:production\", \"v1.2\"]). Each is a word, or a key and a value split by one \":\". Lowercase, 3-63 chars, allows . _ - inside a word. Up to 10.",
"items": {
"type": "string"
},
"type": "array"
},
"password": {
"description": "Optional password to gate the deployment behind an unlock prompt (6–128 characters; whitespace significant). Visitors must enter this password before viewing the site, including on any custom domains pointing at it.",
"type": "string"
},
"ttl": {
"description": "Seconds until this deployment expires and the platform reclaims it; omit for one that never does. Only for authenticated deploys — an anonymous deployment already expires on the platform's schedule, and a requested ttl on one is refused. A deployment carrying a ttl cannot be linked to any domain: deploy without one if the site needs a domain.",
"type": "number"
}
},
"required": [
"files"
],
"type": "object"
},
"name": "deployments_upload"
},
{
"description": "Permanently deletes a domain.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"domain": {
"description": "Domain name to delete (e.g. \"www.example.com\")",
"type": "string"
}
},
"required": [
"domain"
],
"type": "object"
},
"name": "domains_delete"
},
{
"description": "Returns the DNS provider recorded for the domain, if known (e.g. Cloudflare, Namecheap): where its DNS records are configured. Custom domains only, and only while the domain is unverified; once its DNS is right there is nothing left to locate.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"domain": {
"description": "Domain name (e.g. \"www.example.com\"). Must be a domain previously created with domains_set.",
"type": "string"
}
},
"required": [
"domain"
],
"type": "object"
},
"name": "domains_dns"
},
{
"description": "Get domain details including URL, linked deployment, labels, and `status`: the one word saying what the domain needs from its owner (`unverified`, `unlinked`, `live`, `paused`).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"domain": {
"description": "Domain name (e.g. \"www.example.com\"). Use domains_list to find names.",
"type": "string"
}
},
"required": [
"domain"
],
"type": "object"
},
"name": "domains_get"
},
{
"description": "List all domains with their URLs, linked deployment, and `status`. The response's `cursor` is null on the last page; pass it back as `cursor` to fetch the next.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"cursor": {
"description": "Opaque position from the previous response's `cursor` field; omit for the first page.",
"type": "string"
},
"limit": {
"description": "Maximum number of items to return in one page. Omit for the server default.",
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
}
},
"type": "object"
},
"name": "domains_list"
},
{
"description": "Returns the DNS records to configure at the domain's DNS provider. Call after domains_set. Custom domains only: a ShipStatic domain has no records to configure.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"domain": {
"description": "Domain name. Must be a domain previously created with domains_set.",
"type": "string"
}
},
"required": [
"domain"
],
"type": "object"
},
"name": "domains_records"
},
{
"description": "Create or update a domain: a ShipStatic domain (e.g. \"yourname.shipstatic.com\"), live as soon as a deployment is linked, or a custom domain (e.g. \"www.example.com\"), which needs DNS records first. Can reserve a name (omit deployment), link it to a deployment, switch deployments, or update labels. For a custom domain, domains_records then returns the DNS records to configure.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"deployment": {
"description": "Deployment to serve on this domain (e.g. \"happy-cat-abc1234.shipstatic.com\"). Omit to reserve the domain without linking.",
"type": "string"
},
"domain": {
"description": "Domain name: a ShipStatic domain (e.g. \"yourname.shipstatic.com\") or a custom domain (e.g. \"www.example.com\")",
"type": "string"
},
"labels": {
"description": "Labels for organizing domains (e.g. [\"production\"]).",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"domain"
],
"type": "object"
},
"name": "domains_set"
},
{
"description": "Returns a shareable DNS setup URL that needs no API key, for whoever manages the domain's DNS. Custom domains only, and only while the domain is unverified; a verified domain has no setup left to share.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"domain": {
"description": "Domain name to generate a share link for. Must be a domain previously created with domains_set.",
"type": "string"
}
},
"required": [
"domain"
],
"type": "object"
},
"name": "domains_share"
},
{
"description": "Check if a domain name is valid and available before creating it. Returns the normalized form and availability.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"domain": {
"description": "Domain name to check (e.g. \"yourname.shipstatic.com\" or \"www.example.com\"). Call before domains_set to check availability.",
"type": "string"
}
},
"required": [
"domain"
],
"type": "object"
},
"name": "domains_validate"
},
{
"description": "Trigger DNS verification for a custom domain. Call after the user has configured DNS records from domains_records. Custom domains only, and refused once the domain is verified: read domains_get instead. Verification is asynchronous: read the domain again with domains_get to learn the verdict, since its `status` has not moved yet when this returns. A verified domain serves nothing until a deployment is linked with domains_set.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"domain": {
"description": "Domain name to verify DNS for. Must be a domain previously created with domains_set.",
"type": "string"
}
},
"required": [
"domain"
],
"type": "object"
},
"name": "domains_verify"
},
{
"description": "Returns your email and name, and the account's plan, usage and caps.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "whoami"
}
]
}What the leaf hashes
{"body":"7c64ba2416b7b13735aa85162a4c658ebdd2510712a08afa89c3d266b14f141c","id":557419,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793134545485983,"prev":null,"subject":"5b2333ac-de38-49dc-8224-45b52eaa0149","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (273461 rows).
- 0x2600f7dd8884e5e97c734c75181b0e3a61f7ab712803acc41637582da43189a2
- 0x752de6a4859a5962bc8b4e0eb7b2ffd3f00717b763026f1707e49275d19f24fb
- 0x219a15349c6c3427035e5e0ad474bc7bb336cfd8dba14de9a027ba5b28fbb193
- 0x5ff8a31e4c02451901ed052b58fe5bce408449585134ab9973481a477c9e6347
- 0xcd76a36517bcdf1854087038312d739d7d4c2b2343b4a06f5dd70382c1b69c51
- 0x3bf4f764b9ed9cef0d37634874ba9fc309c5495b23d01ba13f52dcf2c29ae031
- 0x6c5d3264645cf18b4fda339342267897b91a79875a34113e5d5154afba0af8fb
- 0x4a5358559c081164f0b7f9bf5f4e50c2bf8ab88fba1b5647f70b261c466507ba
- 0x573b78390978cfad6f776afa7e56c307de67e1663da8c72f36b9c136a7f5836e
- 0xd2b46af5d576579f388a5f8e3d4ee40ea1d1a94cdd99f416479167bfe3be5f5a
- 0xb74d1e1417c2953e5b3c2385126d77946e4effdefe4584289b6f7f7b0a99d30c
- 0x442ef05dbe7931d22c60e72d459fdb2874e7d0eab89c16f41f0a865bf55610d6
- 0x1a710d4f8e6092d584b581d8599ff9183c0008f9275cf0601c925b43b4e84ae6
- 0xe8ee6f6ed50253c5ee2d1aa85a4b1a38ce94bca7f3b72fd1850f496152dbe285
- 0xa383a1cfe9b3f6af67eb4c7642564b9424d46d7fca90e7ba175d549f8b67dd0c
- 0x52efa60e0c3d8525486d2310eb3b6b566c9677c64fd1f819edb072cf101bcbdb
- 0x22c1fb9487ee0b9732fa017a0cc321eb27a60c08450d112f755089796e12cb1c
- 0xa20d48798a34aba12eb9c7297722982d910f06c148f5e27ac59307422964a585
- 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
- Day root
- 0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
- Chained
- 0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
- Published
- On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4