addrbookFor publishers
← The evidence ledger

Evidence row 383715

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 4fa386bb-0b3d-468e-a78a-11ef704dd410
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
66c6e7f4283909a165663180b6a3202d02e85338f0b6813db6bcc6b44e861674
Leaf
0x37faedf3487b34ee932d49d6bb6eb02b67997095e06d686c7554e427e031bc98

What was observed

{
  "count": 6,
  "tools": [
    {
      "description": "Find food, beverage and pet brands, and see where to apply to each for a wholesale account. Filter by text, category path, country, availability or `submittable`. The text in `q` can match the name, other names or description of a brand. Search allows small spelling errors and returns at most the best 1,000 matches. `submittable` is true when the brand has an active web form at its address, and LintyBot read that page. It is false when a `robots.txt` file asks Linty not to use the page, or a part of the page where the form can be. Each page has up to 50 brands. To get the next page, send `next_cursor` as `cursor`.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "availability": {
            "enum": [
              "direct",
              "indirect_only",
              "unavailable",
              "unknown"
            ],
            "type": "string"
          },
          "category": {
            "description": "A category path, for example `snacks/protein-bars`.",
            "maxLength": 300,
            "minLength": 1,
            "pattern": "^[a-z0-9-]+(?:\\/[a-z0-9-]+)*$",
            "type": "string"
          },
          "country": {
            "description": "A two-letter country code in capitals, for example `US`.",
            "pattern": "^[A-Z]{2}$",
            "type": "string"
          },
          "cursor": {
            "description": "The `next_cursor` of the earlier page.",
            "maxLength": 100,
            "type": "string"
          },
          "q": {
            "description": "Text to find in the brand's name, other names or description. Search allows small spelling errors and returns at most the best 1,000 matches.",
            "maxLength": 200,
            "type": "string"
          },
          "submittable": {
            "description": "True: only brands with an active web form at their address, whose page LintyBot read, and no `robots.txt` refusal of the page or of a part of it where the form can be.",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "name": "find_brands"
    },
    {
      "description": "Get the facts of one brand by its slug: its company, its categories, each relationship with its availability, and the sources. The result is the JSON twin at `/brands/{slug}.json`.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "slug": {
            "description": "A slug: lower-case letters, digits and hyphens, for example `acme-foods`.",
            "maxLength": 200,
            "minLength": 1,
            "pattern": "^[a-z0-9-]+$",
            "type": "string"
          }
        },
        "required": [
          "slug"
        ],
        "type": "object"
      },
      "name": "get_brand"
    },
    {
      "description": "Get one company by its slug, with the brands that it owns. The result is the JSON twin at `/companies/{slug}.json`.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "slug": {
            "description": "A slug: lower-case letters, digits and hyphens, for example `acme-foods`.",
            "maxLength": 200,
            "minLength": 1,
            "pattern": "^[a-z0-9-]+$",
            "type": "string"
          }
        },
        "required": [
          "slug"
        ],
        "type": "object"
      },
      "name": "get_company"
    },
    {
      "description": "Get a brand's relationship: where to apply, each fact with its source quote, and whether Linty read the brand's terms. The facts include the form fields and the documents that the brand asks for. A fact has its quote in `source` only when LintyBot read it on the brand's page. Read `terms` before you apply: it says whether Linty read the agreement that the form asks you to accept. The default relationship is `wholesale`. The result is the JSON twin at `/brands/{slug}/{relationship}.json`.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "brand": {
            "description": "A slug: lower-case letters, digits and hyphens, for example `acme-foods`.",
            "maxLength": 200,
            "minLength": 1,
            "pattern": "^[a-z0-9-]+$",
            "type": "string"
          },
          "relationship": {
            "default": "wholesale",
            "description": "The relationship slug. The default is `wholesale`.",
            "maxLength": 200,
            "minLength": 1,
            "pattern": "^[a-z0-9-]+$",
            "type": "string"
          }
        },
        "required": [
          "brand"
        ],
        "type": "object"
      },
      "name": "get_relationship"
    },
    {
      "description": "List the categories under a path, or the top-level categories, with counts of published brands. A category has a page when it has 10 published brands. With a page, the result also has that category and up to 200 of its brands. Without a page, `category` is null and the result has the categories under the path. A path that is no category answers `not_found`.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "path": {
            "description": "A category path, for example `snacks/protein-bars`.",
            "maxLength": 300,
            "minLength": 1,
            "pattern": "^[a-z0-9-]+(?:\\/[a-z0-9-]+)*$",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "list_categories"
    },
    {
      "description": "Report a wrong fact about a brand or one of its relationships. Write what is wrong and what is right, in 10 to 2,000 characters. A person at Linty reads each correction.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "additionalProperties": false,
        "properties": {
          "body": {
            "description": "What is wrong, and what is right.",
            "maxLength": 2000,
            "minLength": 10,
            "type": "string"
          },
          "brand": {
            "description": "A slug: lower-case letters, digits and hyphens, for example `acme-foods`.",
            "maxLength": 200,
            "minLength": 1,
            "pattern": "^[a-z0-9-]+$",
            "type": "string"
          },
          "relationship": {
            "description": "A slug: lower-case letters, digits and hyphens, for example `acme-foods`.",
            "maxLength": 200,
            "minLength": 1,
            "pattern": "^[a-z0-9-]+$",
            "type": "string"
          }
        },
        "required": [
          "brand",
          "body"
        ],
        "type": "object"
      },
      "name": "report_correction"
    }
  ]
}

What the leaf hashes

{"body":"66c6e7f4283909a165663180b6a3202d02e85338f0b6813db6bcc6b44e861674","id":383715,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793060116099211,"prev":null,"subject":"4fa386bb-0b3d-468e-a78a-11ef704dd410","subject_kind":"endpoint"}

Proof

Its day has not closed yet. A day closes ten minutes after midnight UTC; the proof appears here then.

How to check it · This row as JSON