addrbookFor publishers
← The evidence ledger

Evidence row 1241322

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 2c7f973f-ce21-42a1-8c7a-1c610e1e1dfa
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
ffc875dfe262050879102d0506a0be146da68c19a903a4ef85b81313773045d8
Leaf
0xb113e3d50e7e90a11dc1954a0a38eaf7f983df280edd91b8fd7d5aca67ba42b9

What was observed

{
  "count": 11,
  "tools": [
    {
      "description": "Audit one public website for SEO, schema, and AI discoverability.\n\nReturns the score, grade, discoverability status, detected schema types\nand recommendations supplied by the audit. Results may contain only an\naggregate summary; additional per-check evidence may be included.\n\nReport robots.txt, sitemap.xml, llms.txt or AI-crawler checks only when\ntheir evidence is present in the result; absent checks are unreported,\nnot proven by an aggregate score or PASS. Preserve unmeasured checks\nand empty recommendations without inventing findings. This is not a\nranking guarantee or a security, legal-compliance or crawler-access\ncertification.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "nymrel_audit_website"
    },
    {
      "description": "Suggest domain names and check each one against public registry records.\n\nA name is only reported available when the registry clearly says it is free.\nWhen the lookup is inconclusive `availability_checked` is false and\n`available` is false, so read that as \"not confirmed free\" rather than\n\"already taken\" - some TLDs have no registry service to ask. Confirm at a\nregistrar before buying.\n\n`brandability_score` is an opinion about the string, not a claim about how\nthe name will perform; `brandability_factors` reports what it was computed\nfrom so you can weigh it yourself.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "keyword_or_concept": {
            "type": "string"
          },
          "tlds": {
            "anyOf": [
              {
                "items": {
                  "examples": [
                    ".com",
                    ".ai",
                    ".app",
                    ".dev"
                  ],
                  "pattern": "^\\.[a-z]{2,24}$",
                  "type": "string"
                },
                "maxItems": 6,
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Up to 6 TLDs, each written with its leading dot - \".com\", not \"com\". The upstream enforces this with a regex and rejects the request otherwise. Defaults to .com, .ai, .app and .dev."
          }
        },
        "required": [
          "keyword_or_concept"
        ],
        "type": "object"
      },
      "name": "nymrel_find_domain"
    },
    {
      "description": "Analyse carry-distance gaps for a structured list of golf clubs.\n\nEvery club needs a ``name`` and its measured ``carry_distance_yards``;\n``loft_degrees`` is optional. Pass 1 to 14 clubs with unique names. The\nupstream rejects any other key, so send only these three.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "clubs": {
            "items": {
              "additionalProperties": false,
              "description": "One club. ``loft_degrees`` is the only optional key the upstream allows.\n\nA pydantic model, not a TypedDict, and not for style: the hosted runtime's\nschema generator degraded ``typing.TypedDict`` to a bare object (proven\nlive 2026-08-17 - the docstring survived, the properties vanished), while\n``BaseModel`` publishes named properties on every pydantic v2 / Python\npairing. ``extra=\"forbid\"`` mirrors the upstream's strict validator, so\nthe published schema and the enforcement are the same contract.",
              "properties": {
                "carry_distance_yards": {
                  "type": "integer"
                },
                "loft_degrees": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "default": null
                },
                "name": {
                  "type": "string"
                }
              },
              "required": [
                "name",
                "carry_distance_yards"
              ],
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "clubs"
        ],
        "type": "object"
      },
      "name": "nymrel_golf_bag_gap"
    },
    {
      "description": "Use this when the user explicitly wants Nymrel Remote to return metadata for a file or directory. Select the target with the optional device argument.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "device": {
            "description": "Paired device id or exact device name. Omit only when exactly one eligible device is available.",
            "maxLength": 256,
            "minLength": 1,
            "type": "string"
          },
          "path": {
            "description": "Absolute path or path relative to the configured working directory.",
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "path"
        ],
        "type": "object"
      },
      "name": "nymrel_remote_get_file_info"
    },
    {
      "description": "Retrieve the result of your pending Nymrel Remote read using its callId. If a file inspection returns pending, use this tool instead of submitting that inspection again. It never starts a new device operation. If still pending, wait briefly before checking again.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "callId": {
            "maxLength": 256,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "callId"
        ],
        "type": "object"
      },
      "name": "nymrel_remote_get_read_result"
    },
    {
      "description": "Use this when the user wants to see paired Nymrel Remote devices and current reachability before working with one.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {},
        "type": "object"
      },
      "name": "nymrel_remote_list_devices"
    },
    {
      "description": "Use this when the user explicitly wants Nymrel Remote to list a directory tree with a bounded recursion depth. Select the target with the optional device argument.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "depth": {
            "default": 2,
            "maximum": 8,
            "minimum": 1,
            "type": "integer"
          },
          "device": {
            "description": "Paired device id or exact device name. Omit only when exactly one eligible device is available.",
            "maxLength": 256,
            "minLength": 1,
            "type": "string"
          },
          "path": {
            "description": "Absolute path or path relative to the configured working directory.",
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "path"
        ],
        "type": "object"
      },
      "name": "nymrel_remote_list_directory"
    },
    {
      "description": "Use this when the user explicitly wants Nymrel Remote to read a UTF-8 text file with optional line pagination. Select the target with the optional device argument.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "device": {
            "description": "Paired device id or exact device name. Omit only when exactly one eligible device is available.",
            "maxLength": 256,
            "minLength": 1,
            "type": "string"
          },
          "length": {
            "default": 1000,
            "maximum": 10000,
            "minimum": 1,
            "type": "integer"
          },
          "offset": {
            "default": 0,
            "description": "0-based start line; negative values read from the tail.",
            "type": "integer"
          },
          "path": {
            "description": "Absolute path or path relative to the configured working directory.",
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "path"
        ],
        "type": "object"
      },
      "name": "nymrel_remote_read_file"
    },
    {
      "description": "Use this when the user explicitly wants Nymrel Remote to search UTF-8 file contents below an allowed path. Select the target with the optional device argument.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "device": {
            "description": "Paired device id or exact device name. Omit only when exactly one eligible device is available.",
            "maxLength": 256,
            "minLength": 1,
            "type": "string"
          },
          "filePattern": {
            "maxLength": 256,
            "type": "string"
          },
          "ignoreCase": {
            "default": true,
            "type": "boolean"
          },
          "literalSearch": {
            "default": true,
            "type": "boolean"
          },
          "maxDepth": {
            "default": 10,
            "maximum": 20,
            "minimum": 1,
            "type": "integer"
          },
          "maxResults": {
            "default": 100,
            "maximum": 500,
            "minimum": 1,
            "type": "integer"
          },
          "path": {
            "description": "Absolute path or path relative to the configured working directory.",
            "minLength": 1,
            "type": "string"
          },
          "pattern": {
            "maxLength": 2048,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "path",
          "pattern"
        ],
        "type": "object"
      },
      "name": "nymrel_remote_search_content"
    },
    {
      "description": "Use this when the user explicitly wants Nymrel Remote to search file and directory names below an allowed path. Select the target with the optional device argument.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "device": {
            "description": "Paired device id or exact device name. Omit only when exactly one eligible device is available.",
            "maxLength": 256,
            "minLength": 1,
            "type": "string"
          },
          "ignoreCase": {
            "default": true,
            "type": "boolean"
          },
          "maxDepth": {
            "default": 10,
            "maximum": 20,
            "minimum": 1,
            "type": "integer"
          },
          "maxResults": {
            "default": 100,
            "maximum": 500,
            "minimum": 1,
            "type": "integer"
          },
          "path": {
            "description": "Absolute path or path relative to the configured working directory.",
            "minLength": 1,
            "type": "string"
          },
          "pattern": {
            "maxLength": 512,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "path",
          "pattern"
        ],
        "type": "object"
      },
      "name": "nymrel_remote_search_files"
    },
    {
      "description": "Measure what the opening of a short-video transcript actually does.\n\nReturns each measured signal - opening word count, whether it opens on a\nhook pattern, whether it addresses the viewer, curiosity signals, whether\nthe total word count sits in the platform's range - plus `hook_score`, a\n0-100 rollup of exactly those signals, and suggested edits.\n\n`target_platform` accepts `tiktok`, `instagram_reels`, `youtube_shorts`,\nor `x`. The `reels` and `shorts` aliases normalize to their corresponding\ncanonical IDs, which the result echoes.\n\nEvery figure describes the text the caller supplied. This does not estimate\nreach, views, retention or virality; those are outcomes in the world that\nthis tool never observes. Read `signals` to see what moved the score.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "target_platform": {
            "default": "tiktok",
            "enum": [
              "tiktok",
              "reels",
              "shorts",
              "instagram_reels",
              "youtube_shorts",
              "x"
            ],
            "type": "string"
          },
          "transcript_text": {
            "type": "string"
          }
        },
        "required": [
          "transcript_text"
        ],
        "type": "object"
      },
      "name": "nymrel_social_clip_score"
    }
  ]
}

What the leaf hashes

{"body":"ffc875dfe262050879102d0506a0be146da68c19a903a4ef85b81313773045d8","id":1241322,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793356349363587,"prev":null,"subject":"2c7f973f-ce21-42a1-8c7a-1c610e1e1dfa","subject_kind":"endpoint"}

Proof

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

  1. 0xb113c8d28c966a4f42c8093932b56e3272520a947939a4b604619c4e8d14a84b
  2. 0x962964c1a88bf9827735a278e7e545306be13b344ba81906de8c6a263f80bd7f
  3. 0xf6fbd75bdd99bb18ae65439586c2220b73c63dd0af15f1d1522bec9d0d3e9c3a
  4. 0x2a5365c661195a838b56d046cc7baf1c1e8085c26cad13c3a288efe528fead1d
  5. 0xa9a4bf5538f2b024b4f0a7b2f2a90e3d704ca947444165e77068995ffac53311
  6. 0xd6700d3f1f5bb9d628ea137d1638f94a833b1d8284f8f2028de0dec728d0bde5
  7. 0x14bf213f567e69f3cdc1f1a19dfaa32f8d5d3f0941b48470da8effd5c6ae6e47
  8. 0x7e6df20753707f9d202f3fcfb425f11a76094b3fa46418cb0c4c6bb19648e58b
  9. 0xd0b938411c778cb93d5b29f0243d294207ed30ca3b8c3da860296d5c51ea1c8c
  10. 0xb5cbbbca7af29794f79f263c76b883460e80fa1a074c966f94efb385da2b8415
  11. 0x1890612fc62eb562695233ba45a9505f308b8fd43c78bed3cc43874c86858c28
  12. 0x7f6238372befa4ac7fc9670d71ad8b303cd8241e1a520ad04cf9afba84923d67
  13. 0x6d3f5dcc69c62fa01ce1c449d5b1e64f9183cf6457008284fb115d3a05c4b11f
  14. 0x4943cf5368ac3124a50a8845e933556cda4f3f7ee527441ef6351afbceee79d8
  15. 0xa0b1f6bc1eecfaf70581673c1a7f638b96d1769a5c578c460337f7db0dbe963e
  16. 0x0c59b8770d2782eb535aefbb9b2f6810bab4757f51b37e00f5147713a1de9481
  17. 0x61ef83255d34604cb052882568ca1d1386ac3cfb8284509715bc1734cff77831
  18. 0x0c43c73b62a5d49ee1444b5dc4195fc5b16b141d3f4458e2e9fbd5fd6ecb367d
Day root
0x0826c7ad6039e06a2360ca0a4a3a4fe7f2626c6dc19f71a37599386f78b39875
Chained
0x36b4c8a1063758f0b8765fa1bdf75fa92fb543cc183add3e261880ee2bd1f822
Published
On Arc Testnet, block 69923247: 0x8704744146c6967c8abc9e9a99de4db7283b29e840922ea83a69b6fe776e6861

How to check it · This row as JSON