← 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).
- 0xb113c8d28c966a4f42c8093932b56e3272520a947939a4b604619c4e8d14a84b
- 0x962964c1a88bf9827735a278e7e545306be13b344ba81906de8c6a263f80bd7f
- 0xf6fbd75bdd99bb18ae65439586c2220b73c63dd0af15f1d1522bec9d0d3e9c3a
- 0x2a5365c661195a838b56d046cc7baf1c1e8085c26cad13c3a288efe528fead1d
- 0xa9a4bf5538f2b024b4f0a7b2f2a90e3d704ca947444165e77068995ffac53311
- 0xd6700d3f1f5bb9d628ea137d1638f94a833b1d8284f8f2028de0dec728d0bde5
- 0x14bf213f567e69f3cdc1f1a19dfaa32f8d5d3f0941b48470da8effd5c6ae6e47
- 0x7e6df20753707f9d202f3fcfb425f11a76094b3fa46418cb0c4c6bb19648e58b
- 0xd0b938411c778cb93d5b29f0243d294207ed30ca3b8c3da860296d5c51ea1c8c
- 0xb5cbbbca7af29794f79f263c76b883460e80fa1a074c966f94efb385da2b8415
- 0x1890612fc62eb562695233ba45a9505f308b8fd43c78bed3cc43874c86858c28
- 0x7f6238372befa4ac7fc9670d71ad8b303cd8241e1a520ad04cf9afba84923d67
- 0x6d3f5dcc69c62fa01ce1c449d5b1e64f9183cf6457008284fb115d3a05c4b11f
- 0x4943cf5368ac3124a50a8845e933556cda4f3f7ee527441ef6351afbceee79d8
- 0xa0b1f6bc1eecfaf70581673c1a7f638b96d1769a5c578c460337f7db0dbe963e
- 0x0c59b8770d2782eb535aefbb9b2f6810bab4757f51b37e00f5147713a1de9481
- 0x61ef83255d34604cb052882568ca1d1386ac3cfb8284509715bc1734cff77831
- 0x0c43c73b62a5d49ee1444b5dc4195fc5b16b141d3f4458e2e9fbd5fd6ecb367d
- Day root
- 0x0826c7ad6039e06a2360ca0a4a3a4fe7f2626c6dc19f71a37599386f78b39875
- Chained
- 0x36b4c8a1063758f0b8765fa1bdf75fa92fb543cc183add3e261880ee2bd1f822
- Published
- On Arc Testnet, block 69923247: 0x8704744146c6967c8abc9e9a99de4db7283b29e840922ea83a69b6fe776e6861