addrbookFor publishers
← The evidence ledger

Evidence row 1747592

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 080c4af8-c878-4a5d-b870-7f7c166e4e93
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
fd86fb020a0c4a374d4380f5f295439917f64901c10b9c7dc968d4a41d952de5
Leaf
0x0684657dfe1d5eb29542826bc035e2de854ecad93d71f64f9c30c660e1b2528c

What was observed

{
  "count": 5,
  "tools": [
    {
      "description": "Check whether a Wordy Page web address slug (https://wordy.page/<slug>/) is valid and available, and return a normalized slug suggestion.",
      "inputSchema": {
        "properties": {
          "slug": {
            "description": "Desired web address slug (3-40 lowercase letters, numbers, or single hyphens) or a site name to normalize into a slug.",
            "type": "string"
          }
        },
        "required": [
          "slug"
        ],
        "type": "object"
      },
      "name": "check_slug"
    },
    {
      "description": "Create a new single-page or multi-page website or update an existing site on wordy.page. Supports up to 10 pages per site, simple Light or Dark mode (`theme`: \"light\" or \"dark\"), one Unsplash header image per page (`photo` on the home page and on each section, which also renders a 50%-opacity blurred full-viewport background), plain-text formatting limited to ALL CAPS blue light-bold highlights (do NOT use **bold** Markdown asterisks) and space/tab indentation (blank lines stay blank, no <hr> dividers), safe plain-text HTML/code escaping, automatic URL/email linking, and an optional contact form on any page (`cf: true` on the home page or a section; Email + Message only). If authenticated with a matching session_token, publishes immediately (`status: \"live\"`); otherwise emails a one-tap verification/publish link to `owner_email` (`status: \"Verify email\"`).",
      "inputSchema": {
        "properties": {
          "description": {
            "description": "Home page body text (max 20,000 chars). Formatting is plain text with ONLY two features: indentation (leading spaces/tabs are preserved) and ALL CAPS (contiguous sequences of 2+ uppercase letters render blue and lightly bold; do NOT use **bold** asterisks). Each \\n is a line break and blank lines (\\n\\n) simply stay blank lines (no <hr> dividers). Plain URLs, emails and [anchor](https://...) links are auto-linked; HTML is escaped. Images are NOT placed in text: give each page one header image with its `photo` field.",
            "type": "string"
          },
          "from_slug": {
            "description": "Optional old slug if renaming/moving an existing site you own to a new slug.",
            "type": "string"
          },
          "heading": {
            "description": "Home page heading (H1, max 80 characters).",
            "type": "string"
          },
          "login_token": {
            "description": "Optional 32-character one-time token from an emailed `https://wordy.page/pages?login=<token>` link to redeem and authenticate right away.",
            "type": "string"
          },
          "owner_email": {
            "description": "Owner email address (receives the one-tap verification link and any contact form messages; never displayed publicly).",
            "type": "string"
          },
          "photo": {
            "description": "Optional single header image for the home page: an Unsplash photo id from `search_photos`. Renders below the page name and above the text, with photographer credit. One image per page.",
            "type": "string"
          },
          "sections": {
            "description": "Optional additional sub-pages (up to 9 extra pages, home + 9 = 10 pages total, each given its own URL `/<slug>/<page-slug>/` and navigation menu item).",
            "items": {
              "properties": {
                "cf": {
                  "default": false,
                  "description": "Include a contact form (Email + Message only) at the bottom of this page; messages are emailed to the owner.",
                  "type": "boolean"
                },
                "heading": {
                  "description": "Sub-page name (max 80 chars).",
                  "type": "string"
                },
                "photo": {
                  "description": "Optional single header image for this page (Unsplash photo id from `search_photos`).",
                  "type": "string"
                },
                "text": {
                  "description": "Sub-page body text (max 20,000 chars; same plain-text rules as `description`: only indentation and ALL CAPS formatting).",
                  "type": "string"
                }
              },
              "required": [
                "heading",
                "text"
              ],
              "type": "object"
            },
            "maxItems": 9,
            "type": "array"
          },
          "session_token": {
            "description": "Optional 30-day session token (`st`) if already authenticated for `owner_email`.",
            "type": "string"
          },
          "slug": {
            "description": "Target web address slug (3-40 chars, lowercase letters/digits/hyphens), published at https://wordy.page/<slug>/.",
            "type": "string"
          },
          "theme": {
            "default": "light",
            "description": "Visual theme (\"light\" or \"dark\").",
            "enum": [
              "light",
              "dark"
            ],
            "type": "string"
          },
          "title": {
            "description": "Site name displayed in the sticky top header bar (max 36 characters; stacks up to 2 lines on mobile without changing header height, and clicks back to the first home page).",
            "type": "string"
          }
        },
        "required": [
          "slug",
          "owner_email",
          "title",
          "heading",
          "description"
        ],
        "type": "object"
      },
      "name": "create_or_update_page"
    },
    {
      "description": "Read the structured JSON metadata and content (site_name, theme, home page, sections/sub-pages with their header photos, updated timestamp, and live URLs) of an existing published site on wordy.page.",
      "inputSchema": {
        "properties": {
          "slug": {
            "description": "The slug of the published site on wordy.page (e.g., \"sample\").",
            "type": "string"
          }
        },
        "required": [
          "slug"
        ],
        "type": "object"
      },
      "name": "get_page"
    },
    {
      "description": "List sites owned by the authenticated session (when session_token or `st` or Authorization/X-PQ-Session is provided), or list official public sample sites on wordy.page.",
      "inputSchema": {
        "properties": {
          "session_token": {
            "description": "Optional session token (`st`) returned after email link verification to list your own pages.",
            "type": "string"
          },
          "st": {
            "description": "Alias for `session_token`.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "list_pages"
    },
    {
      "description": "Search Unsplash photos via Wordy Page and optionally register a chosen photo ID so you can use it as a page header image (`photo` / `sections[].photo` in `create_or_update_page`; one image per page).",
      "inputSchema": {
        "properties": {
          "page": {
            "default": 1,
            "description": "Page number (1 to 5, default 1).",
            "type": "integer"
          },
          "pick_first": {
            "default": true,
            "description": "If true (default), automatically registers the top photo result with Unsplash so its id is immediately ready to use as a page `photo`.",
            "type": "boolean"
          },
          "query": {
            "description": "Search keywords (e.g., \"coastal sunset\", \"coffee shop\", \"modern architecture\").",
            "type": "string"
          }
        },
        "required": [
          "query"
        ],
        "type": "object"
      },
      "name": "search_photos"
    }
  ]
}

What the leaf hashes

{"body":"fd86fb020a0c4a374d4380f5f295439917f64901c10b9c7dc968d4a41d952de5","id":1747592,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793516638749494,"prev":null,"subject":"080c4af8-c878-4a5d-b870-7f7c166e4e93","subject_kind":"endpoint"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (302406 rows).

  1. 0x068437c4ec8bb4eb9056b48fec7cb0e1d9df4dbb27fbc9e3a725796efb45bf32
  2. 0xe062c7325a084f535f432e821e006617d80f3f50d43b7ef9554b150239038729
  3. 0xcadce5aa868a52b98ffea956dd69f9f15ad8cce6b8c1a577259c8d1da165d70c
  4. 0x5c0ec9d31745b8a7a79f2e1552864a2cee12dd9f185bf03df5e105d40c2e848f
  5. 0xe819b0af532a5050a9262fa8521744fb5c52389d84bf79d34ec3195e96e27cce
  6. 0xc87679f381c1e1556f12fa4789ac49605ee3b68997829e021f3188c27fcaaf09
  7. 0x212667a2253a57c9dca30d24b6ddee8a8b87ceb908e5a61277ea5e4a217087ad
  8. 0x49e3cb39621c411c74a1c9708b8bf5a2891a32312ad93abedd857635c02f418c
  9. 0x37c484a87bef91fe289984d3eb87bc736f1ad342afb284f9e92c7fcf24fb1a26
  10. 0xdbba0866ba18310c5d8d9e0a04ca30f304b6f4893dea189a657fb3aa6212bf5d
  11. 0x1933507d6f34c466ec8db31b4a5d85e8d5128afe3d758d526a14d23e914b5f3d
  12. 0x0e504833698abc04312a4beba98e6602297f4ebcc6ef94d56c7c823f8f4d1120
  13. 0xc5ca32546ce0064b3138a27ee36e8efc96a7bb8d2662039a9f7264614b609213
  14. 0xd6df189d40f713323baeb698612a9e7d2afd763112be148a165d7fe65a5c64f7
  15. 0xb611d3d400373ab2497019fc1d3d5040f4f6589f8d98d8e25ccf29dd2b68ad92
  16. 0x5cf5a0a57795246f996e480f05ed085c19d02f7d6e8fc3ddc392412466554f0f
  17. 0x02b3554752e71a19b12d7a76dbff436e85387226ceec89fdebdcdaf0122c2932
  18. 0x1973893697931b7512ae5dc1a3c92ef92f633ae3574dce9029a35b5e94d2d364
  19. 0x3315fd2757fdd435852cc277377234a3f3909a6d2a089d0e36f6d59aacfda910
Day root
0x7fa2cba1cf3d6b35630896f5fe1a650adb307ea2c376e80a5f2d9276b7cb5ab3
Chained
0x577ff89ba012beeff3197bcff7fa86752074bdf54205a24359cc437be2a952a4
Published
On Arc Testnet, block 70262758: 0x435bc1b9331471d72e1998f2e420983b5189d4da65ffbd6f27ef40daf5e1ea90

How to check it · This row as JSON