addrbookFor publishers
← The evidence ledger

Evidence row 220953

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint e24ab262-4cb0-41bb-91e2-3aa37b324167
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
a36e600d54b36b60597763851259e6f3c604d9f0caf3a96ac778e316429766e9
Leaf
0xed1c5c89bb9c6364762ed8e1b40a3c542d0ec1e1aef559f7bed161f25a417f2d

What was observed

{
  "count": 5,
  "tools": [
    {
      "description": "List the public channels on this server with member counts and topics. Start here when you do not know a channel's exact name. Invite-only, key-protected and encrypted-only channels are never listed. No authentication required.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {},
        "type": "object"
      },
      "name": "freeq_channels"
    },
    {
      "description": "Read recent messages from a channel, newest first. Page backwards by passing the oldest msgid you have seen as `before`. Public channels need no authentication; restricted ones need a bearer from a member.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "before": {
            "description": "Unix-seconds timestamp of the oldest message you already have; omit for the newest page. This is the `timestamp` field, not the msgid.",
            "type": "integer"
          },
          "channel": {
            "description": "Channel name, with or without the leading #.",
            "type": "string"
          },
          "limit": {
            "default": 50,
            "description": "How many messages to return.",
            "maximum": 200,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "channel"
        ],
        "type": "object"
      },
      "name": "freeq_history"
    },
    {
      "description": "The messages a channel's operators pinned — usually its rules, links and standing context. Cheaper than reading history when you want to know what a channel is for.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "channel": {
            "description": "Channel whose pins to read, with or without the leading #.",
            "type": "string"
          }
        },
        "required": [
          "channel"
        ],
        "type": "object"
      },
      "name": "freeq_pins"
    },
    {
      "description": "Full-text search within one channel. Use this instead of paging history when you know roughly what was said. Same access rules as freeq_history.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "channel": {
            "description": "Channel to search.",
            "type": "string"
          },
          "limit": {
            "default": 50,
            "description": "How many matches to return.",
            "maximum": 200,
            "minimum": 1,
            "type": "integer"
          },
          "q": {
            "description": "Search terms.",
            "type": "string"
          }
        },
        "required": [
          "channel",
          "q"
        ],
        "type": "object"
      },
      "name": "freeq_search"
    },
    {
      "description": "Check who signed a message. `signed_by: \"author\"` is non-repudiable — the author's own key signed those bytes. `signed_by: \"server\"` proves relay only, NOT authorship. Call this before quoting anyone as having said something; do not present a server-relayed message as author-signed.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "msgid": {
            "description": "ULID message id.",
            "type": "string"
          }
        },
        "required": [
          "msgid"
        ],
        "type": "object"
      },
      "name": "freeq_verify"
    }
  ]
}

What the leaf hashes

{"body":"a36e600d54b36b60597763851259e6f3c604d9f0caf3a96ac778e316429766e9","id":220953,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793027016844299,"prev":null,"subject":"e24ab262-4cb0-41bb-91e2-3aa37b324167","subject_kind":"endpoint"}

Proof

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

  1. 0xed1c49d193e42d1b232e33240e58ea4f2935192981d505deeb2ea3c59c0a8b47
  2. 0x35fb1ca119c802e005edd5b8b049ec44ec090ae7fce27ed76ff2841a5cef20b3
  3. 0xdea1197d6c962ff55f385f0b2735ab1248442e62e59b4b60035ffc95781bf0ed
  4. 0x740673e8ed0135ee17fe2172ba7cdadbff06073742e1738a52f22d5e46887901
  5. 0x877c0e772ecd1041c69bc2da359e31b17fbb6213f161d37fb12786c6feaff3f4
  6. 0x98810075908079a96a8c399a91dbc7083fb7351a168dd324262c8888a32cc526
  7. 0x5441b5304ef9edd5dc365922b32610182e5b21d2574f6158353337fce41637e8
  8. 0x2f5de66e74056d0ad2022f96067ceb6748ac833016c353b314f7d9f3a41d3855
  9. 0x3e7454bbcb68b3bb36b1b68423bfef297cf86ab769286341444c6f2ea3d72f4e
  10. 0xf333b1fb4291fc66aba3c2430863d37b43610cc7bcfcad50c56770f5a796facc
  11. 0x3f07a2115848067024e2992cb2c05a86eb8d02df5abfcead8bc47854e501603e
  12. 0xe158f09cdbfb4f7be1bfd45fce3afcad32c2b3bb2fc2e181dadc193bbf194bfc
  13. 0x746e9e5b6765727b6b96f41204cc115b0302259f6c67be0cf0efbf245601d500
  14. 0x614d844c9e0509d9f9e63697aa2935555bce5f13695a8dc0047aa9e9898d70b3
  15. 0x95657a7d540ed6cac0bde9995782333b2562a9a6641853269ac95148827410f0
  16. 0x5fb5dda563336cd1bc1b9f44c52b76237ae72ed2145cb9290f39f304ca7dd678
  17. 0x74a0a08e4e7ab9aa5bfbead33dec7e1c7e8e364cff69a63720d764bbe987aadc
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON