← 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.