addrbookFor publishers
← The evidence ledger

Evidence row 520362

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 5c56155d-c8f7-474d-b9d2-796fced5a47d
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
5cdc679c31412721013294ca7242a03bc9bb6bbeb82a65c319d17daf8ada08a1
Leaf
0x9def9be41f8f5994a3876968bfce70a2e8d110304b2e4574f0802c9c36d30e1b

What was observed

{
  "count": 6,
  "tools": [
    {
      "description": "Fetch the full machine-readable rendition of a tutorial by slug: title, TL;DR, numbered steps (with text, imageUrl, tips, and YouTube videoTimestampSeconds for deep-linking), tools/materials, tags, related tutorial slugs, creator credit, recipe (with nutrition + cuisine when applicable), license, and canonicalUrl. Use this after search_tutorials to fetch step details.",
      "inputSchema": {
        "properties": {
          "slug": {
            "description": "Tutorial slug (e.g. 'how-to-fix-a-leaky-faucet')",
            "type": "string"
          }
        },
        "required": [
          "slug"
        ],
        "type": "object"
      },
      "name": "get_tutorial"
    },
    {
      "description": "List all tutorial categories with a published tutorial. Returns slug, name, short description, and count of published tutorials per category.",
      "inputSchema": {
        "properties": {},
        "type": "object"
      },
      "name": "list_categories"
    },
    {
      "description": "List the most recently published tutorials, newest first. Use this to discover what's new on the site or to surface fresh content for aggregator / 'what's new this week' agent loops. Tenant-aware.",
      "inputSchema": {
        "properties": {
          "days": {
            "default": 14,
            "description": "Lookback window in days (default 14, max 90).",
            "maximum": 90,
            "minimum": 1,
            "type": "integer"
          },
          "limit": {
            "default": 20,
            "maximum": 50,
            "minimum": 1,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "name": "list_recent_tutorials"
    },
    {
      "description": "Browse tutorials within a specific category, ranked by view count then publish date. Use this when a user wants to explore a topic area rather than search.",
      "inputSchema": {
        "properties": {
          "categorySlug": {
            "description": "e.g. 'cooking', 'home-improvement', 'crafts'",
            "type": "string"
          },
          "limit": {
            "default": 20,
            "maximum": 50,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "categorySlug"
        ],
        "type": "object"
      },
      "name": "list_tutorials_by_category"
    },
    {
      "description": "Submit a request for a tutorial we don't yet have. Call this when search_tutorials returned no good match for what the user actually wants. The request enters our content-demand queue, which the daily content batch reviews and prioritizes. Optionally include an email for notification when the tutorial ships.",
      "inputSchema": {
        "properties": {
          "context": {
            "description": "Brief context about the requester (e.g. 'beginner crocheter', 'first-time homeowner', 'gluten-free baker'). Helps shape the tutorial when we ship it.",
            "maxLength": 200,
            "type": "string"
          },
          "notifyEmail": {
            "description": "Optional email to notify when the tutorial ships. Pure opt-in.",
            "maxLength": 254,
            "type": "string"
          },
          "originalQuery": {
            "description": "The exact user query that came up empty in search_tutorials. Useful for matching keyword demand.",
            "maxLength": 500,
            "type": "string"
          },
          "topic": {
            "description": "What the user wants to learn how to do (e.g. 'how to get pesto stains out of a white shirt')",
            "maxLength": 200,
            "minLength": 5,
            "type": "string"
          }
        },
        "required": [
          "topic"
        ],
        "type": "object"
      },
      "name": "request_tutorial"
    },
    {
      "description": "Search the Show Me Step by Step tutorial corpus by free-text query. Searches across tutorial titles, descriptions, and step content. Returns slim summaries with TL;DRs and canonical URLs. Tenant-aware. Optional filters narrow by category, difficulty, or maximum duration.",
      "inputSchema": {
        "properties": {
          "categorySlug": {
            "description": "Optional category to restrict the search to (e.g. 'cooking', 'crochet'). Use list_categories to see available slugs.",
            "type": "string"
          },
          "difficulty": {
            "description": "Optional difficulty filter.",
            "enum": [
              "easy",
              "medium",
              "advanced"
            ],
            "type": "string"
          },
          "limit": {
            "default": 10,
            "maximum": 25,
            "minimum": 1,
            "type": "integer"
          },
          "maxDurationMinutes": {
            "description": "Optional ceiling on tutorial total duration. Useful for 'quick recipes' / 'under 10 min' queries.",
            "minimum": 1,
            "type": "integer"
          },
          "query": {
            "description": "Search query (>= 2 chars)",
            "type": "string"
          }
        },
        "required": [
          "query"
        ],
        "type": "object"
      },
      "name": "search_tutorials"
    }
  ]
}

What the leaf hashes

{"body":"5cdc679c31412721013294ca7242a03bc9bb6bbeb82a65c319d17daf8ada08a1","id":520362,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793122831055585,"prev":null,"subject":"5c56155d-c8f7-474d-b9d2-796fced5a47d","subject_kind":"endpoint"}

Proof

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

  1. 0x9deff139732fb5d9b85e7c165512fb82aa27da1867f519e6bf6b63eafed6f3b0
  2. 0x3c4d83e97d68c81264437d4ec6abfc3062f33119e66c6968e5bdbbf6d0fefe66
  3. 0x2e65b920b0f079c5892af981104f11018ac670ffe0af7932440c2704a09b50c5
  4. 0xb336048b4f28c00f20d3ff41d200fa0293f50100c46e6f17184e473a2ae14ec8
  5. 0x73bbbd143003659285d9c7775d819bd5c2ce6c5a80ee0591f2711f5fd342da5b
  6. 0x0f7618cf186c0a4a4ecf942cf17bf43db3bb8e1227e346400d4ecab3d670c756
  7. 0xd99880b7afb6b4982a3bfe22cdf12ef1aff6db806074301d2a2bb55c76360a23
  8. 0x3dc8aaa53a5c551c2f071dd7d44dbef25c419080c368ec41b4d26200e0d3a37f
  9. 0x7997743295810f41614a1400e88dfa3c031b2008ad8428230e3e0371dd460da0
  10. 0x3e3cb666d15834680eda14b3c5a655cb19118ffecc17bbfdabf82abf8f0d40b4
  11. 0xb1ccf28ab1a7fa316a090ec87291371439da179c523f84e00e64a6628e44fced
  12. 0x121ffc8b387c54931bc53056e106d9ada0e2f7c1d32ebc819c3306406c952295
  13. 0xa91c23113464e2fc1e93d41e407b7c6c254bee2eac2f7a550e2f9a1275eef26a
  14. 0xb37e6165108af3c1962db6b76953aee5ee86201747a07444ad2760bf2d5dca23
  15. 0xa3fff4662cd48659f5bafd0612931759a90e53a7b4209ed8f26f6594a07bb547
  16. 0x64c405a28e8819716221eb2529fe4ce277ab08025e17e685cbd5ece75ceb75c7
  17. 0xf30fddbf4811226c58e8f0daf36fddd79fc5f1356b592bb1d99a8061ddbabe66
  18. 0x2bf8151e5f157dd183b9de6fa00469551932a7a6e3f33a694895000ac9061197
  19. 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
Day root
0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
Chained
0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
Published
On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4

How to check it · This row as JSON