addrbookFor publishers
← The evidence ledger

Evidence row 1731387

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint a4d338f0-259f-4610-a0f5-d34d94662824
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
73f79bb1a0fe9dd734c1889c34e340aa607f955112946eddaa288abaec06f3b0
Leaf
0xb60662c54020fea4820548b652a07d581b133babeb2844e2eea1ccf2b4f15dfb

What was observed

{
  "count": 9,
  "tools": [
    {
      "description": "Looks for the Neeed badge on one of your Free listings' sites now and answers found, missing or inconclusive, with the markup to add. It records nothing: the maker presses Verify on the listing's edit page to make the link dofollow or bring a hidden listing back.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "slug": {
            "description": "The listing's slug, from my_listings",
            "maxLength": 200,
            "minLength": 1,
            "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$",
            "type": "string"
          }
        },
        "required": [
          "slug"
        ],
        "type": "object"
      },
      "name": "check_badge"
    },
    {
      "description": "One approved product on Neeed Directory by id, the slug from search or list_products. Returns its title, plain-text card, url and metadata including its website, category and pricing model.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "id": {
            "description": "A product slug from search or list_products",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "name": "fetch"
    },
    {
      "description": "Every category on Neeed Directory with its slug, name, approved product count and url. Pass a category slug to list_products to read its product cards.",
      "inputSchema": {
        "properties": {},
        "type": "object"
      },
      "name": "list_categories"
    },
    {
      "description": "Approved product cards on Neeed Directory, newest first, with optional query, category, label and tag filters. Returns at most 50 cards per page with a total count. Each slug is an id that fetch accepts.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "category": {
            "description": "Category slug",
            "type": "string"
          },
          "label": {
            "description": "Label slug",
            "type": "string"
          },
          "limit": {
            "default": 20,
            "description": "Products per page",
            "maximum": 50,
            "minimum": 1,
            "type": "integer"
          },
          "page": {
            "default": 1,
            "description": "Page number",
            "maximum": 500,
            "minimum": 1,
            "type": "integer"
          },
          "q": {
            "description": "Full-text query over name, tagline and description",
            "maxLength": 100,
            "minLength": 2,
            "type": "string"
          },
          "tag": {
            "description": "Tag slug",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "list_products"
    },
    {
      "description": "Your listings on Neeed Directory, newest first: status, plan, badge, the admin's feedback when there is any, and the page to open. Pass a slug to get one. When next_page is a number, call again with that page for older listings.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "page": {
            "description": "The page to read, from 1 (the default), 100 listings each; ignored with a slug",
            "maximum": 500,
            "minimum": 1,
            "type": "integer"
          },
          "slug": {
            "description": "The listing's slug, from my_listings",
            "maxLength": 200,
            "minLength": 1,
            "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "my_listings"
    },
    {
      "description": "Search approved products on Neeed Directory, newest first. Returns at most 20 results with id, title and url. The id is the product slug; pass it to fetch for a plain-text card. Queries shorter than two characters return no results.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "query": {
            "description": "Search terms; the first 100 characters are read",
            "type": "string"
          }
        },
        "required": [
          "query"
        ],
        "type": "object"
      },
      "name": "search"
    },
    {
      "description": "Without sign-in, saves a private draft listing on Neeed Directory and returns a claim link: nothing is published or charged until the maker opens it, signs in and submits. Signed in with permission to edit listings, submits the listing to the maker's account: Neeed's automatic check publishes it or holds it for review, and Premium returns a Stripe Checkout link the maker pays in the browser.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "category": {
            "description": "One category slug from list_categories",
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "description": {
            "description": "What it does and for whom, factual, in plain text. The 1000-character limit counts &, < and > as several characters each",
            "maxLength": 1000,
            "minLength": 1,
            "type": "string"
          },
          "name": {
            "description": "The product's name",
            "maxLength": 80,
            "minLength": 1,
            "type": "string"
          },
          "plan": {
            "default": "free",
            "description": "The plan the maker wants; nothing is charged until they submit",
            "enum": [
              "free",
              "premium"
            ],
            "type": "string"
          },
          "pricing_model": {
            "description": "How the maker charges for it",
            "enum": [
              "free",
              "freemium",
              "paid",
              "open_source"
            ],
            "type": "string"
          },
          "product_type": {
            "description": "software, or digital_product for templates, courses, ebooks and the like",
            "enum": [
              "software",
              "digital_product"
            ],
            "type": "string"
          },
          "punchline": {
            "description": "One line on what it does",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "website": {
            "description": "The product's website, https",
            "maxLength": 2048,
            "type": "string"
          }
        },
        "required": [
          "website",
          "name",
          "punchline",
          "description",
          "category",
          "product_type",
          "pricing_model"
        ],
        "type": "object"
      },
      "name": "submit_product"
    },
    {
      "description": "Edits one of your listings: name, punchline, description, category, pricing model or Twitter handle, under the dashboard's rules. Editing a listing that is not live sends it back for review; a live listing stays live. A rejected listing cannot be edited.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "category": {
            "description": "One category slug from list_categories",
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "description": {
            "description": "What it does and for whom, factual, in plain text. The 1,000-character limit counts &, < and > as several characters each",
            "maxLength": 1000,
            "minLength": 1,
            "type": "string"
          },
          "name": {
            "description": "The product's name",
            "maxLength": 80,
            "minLength": 1,
            "type": "string"
          },
          "pricing_model": {
            "description": "How the maker charges for it",
            "enum": [
              "free",
              "freemium",
              "paid",
              "open_source"
            ],
            "type": "string"
          },
          "punchline": {
            "description": "One line on what it does",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "slug": {
            "description": "The listing's slug, from my_listings",
            "maxLength": 200,
            "minLength": 1,
            "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$",
            "type": "string"
          },
          "twitter": {
            "description": "The product's Twitter or X handle, like @neeed. Empty clears it",
            "maxLength": 50,
            "type": "string"
          }
        },
        "required": [
          "slug"
        ],
        "type": "object"
      },
      "name": "update_listing"
    },
    {
      "description": "Returns a Stripe Checkout link that upgrades one of your live Free listings to Premium, with the price. Nothing is charged until the maker opens the link and pays in the browser.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "slug": {
            "description": "The listing's slug, from my_listings",
            "maxLength": 200,
            "minLength": 1,
            "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$",
            "type": "string"
          }
        },
        "required": [
          "slug"
        ],
        "type": "object"
      },
      "name": "upgrade_listing"
    }
  ]
}

What the leaf hashes

{"body":"73f79bb1a0fe9dd734c1889c34e340aa607f955112946eddaa288abaec06f3b0","id":1731387,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793501255482042,"prev":null,"subject":"a4d338f0-259f-4610-a0f5-d34d94662824","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. 0xb6064e2b101fc8ac9fcaaa23959503c7228edce9d6ae4020108c020d182f8ba9
  2. 0x4485da5855d5eac5567471a9c2203b04b12237d88e6c64243f0d1f839195eaa7
  3. 0xdf1f855f41ac0abde4782512ee5ad16dd7386fe970c173dcb8bdb9d2775e8d39
  4. 0x9b57cbd13bc2bbe0a9ec564d6a991da98a09ae897736944e085a5d2d555ba2f7
  5. 0x420ef443f71307e6d51699d18735af4d057f4b1353476593591313b6514d54c8
  6. 0xd95c3494dea9d25dc15507e33062aebcd3de85f1f5249c213e2d046c55a9cca1
  7. 0xf2c2aabbdbe82783f807362096dc8aea09a038a7961a42a7fe7e2a09b3dc89a0
  8. 0x865ffc779dedd77ba4eddfa49dac7c5931b9d390aea25fd018f42927c32c850c
  9. 0x6887d63f5c904c550cef7b00101ff4b86ed2a9031a3e820b060ba805021d9c7f
  10. 0x3b94de306bdb07a15c86d242b603347bc5da0e6c56d5c28feeb1a52590728efa
  11. 0x84f69709413d2df971d71b02b9b073625f21eeee8d08173d1b9e32f23d504bb0
  12. 0x08435cad5871c85fafbdc184b887ae7d8fa79b7851ddef3135e53565dbf4c927
  13. 0x76bd6c29668276bc9bcae1a73c60a4d02ab25f5e47f437d7c2c27bab58a536a3
  14. 0xc4208f09c5a97556dbf0e04ca82216f9056e3cf547ebb46cc61036bfd76910cb
  15. 0xf6217f3e2344dd9bf8c6e296c4729fbf7611d258b93c45e1bbe5f62e65e8e714
  16. 0x8339aa87501c4d4f8b38a13e480a7c563957e09fb5711bed7cf189d6787f960d
  17. 0xb5916fb7a3e87dc0702e46eeadcd22652e2e1e755f8d429cc7a14a67a350b51b
  18. 0x6142ac48fda269c17791c79da99c2456ac6acfe98268f4d168a404fd6040c703
  19. 0x3315fd2757fdd435852cc277377234a3f3909a6d2a089d0e36f6d59aacfda910
Day root
0x7fa2cba1cf3d6b35630896f5fe1a650adb307ea2c376e80a5f2d9276b7cb5ab3
Chained
0x577ff89ba012beeff3197bcff7fa86752074bdf54205a24359cc437be2a952a4
Published
On Arc Testnet, block 70262758: 0x435bc1b9331471d72e1998f2e420983b5189d4da65ffbd6f27ef40daf5e1ea90

How to check it · This row as JSON