addrbookFor publishers
← The evidence ledger

Evidence row 301756

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 2a04c4fb-deef-4d9a-bd08-1ff2a8315543
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
b4e5f162e44f12378ec04d9232178218638de358f3c94ed78c6bf9247cf1652e
Leaf
0x4cfc73f48c3e0ed994f9a9df7ae53908ddddb07502b5ae5aa140a8f61ff24c30

What was observed

{
  "count": 34,
  "tools": [
    {
      "description": "WRITE: adds a new note to a vintrace stock item (visible to everyone in the winery, recorded under the token's user). Adding the same note twice creates two notes. POST /v6/mrp/stock/{id}/notes.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "detail": {
            "description": "The note text.",
            "maxLength": 4000,
            "minLength": 1,
            "type": "string"
          },
          "stock_item_id": {
            "description": "vintrace stock item id.",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991,
            "type": "integer"
          },
          "subject": {
            "description": "Optional subject line.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "stock_item_id",
          "detail"
        ],
        "type": "object"
      },
      "name": "vintrace_add_stock_item_note"
    },
    {
      "description": "WRITE: assigns a work order to the token's own vintrace user (or to assign_operator_id), so it shows up in that operator's list. With reassign=true it takes over a work order already assigned to someone else. Check the work order first with vintrace_get_work_order. POST /v6/workorders/assign.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "assign_operator_id": {
            "description": "vintrace user id to assign to (default: the token's user).",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991,
            "type": "integer"
          },
          "job_id": {
            "description": "Only this job of the work order.",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991,
            "type": "integer"
          },
          "reassign": {
            "description": "Reassign even if it is already assigned to another operator (default false).",
            "type": "boolean"
          },
          "work_order_id": {
            "description": "vintrace work order id.",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991,
            "type": "integer"
          }
        },
        "required": [
          "work_order_id"
        ],
        "type": "object"
      },
      "name": "vintrace_assign_work_order"
    },
    {
      "description": "WRITE: deactivates a fruit booking so it no longer counts as an active booking (the record is kept; it is not deleted). Use vintrace_list_bookings to find the booking id first. POST /v7/operation/bookings/{id}/deactivation.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "booking_id": {
            "description": "vintrace booking id.",
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "booking_id"
        ],
        "type": "object"
      },
      "name": "vintrace_deactivate_booking"
    },
    {
      "description": "One party (customer, grower, supplier, owner) by id, or by exact name. Give exactly one. GET /v6/party/{id} or /v6/party?name=.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "name": {
            "description": "Exact party name.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "party_id": {
            "description": "vintrace party id.",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "name": "vintrace_get_party"
    },
    {
      "description": "One wine product by id (or by vessel barcode) with its vessel, volume and metrics. GET /v6/products/{id}.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "barcode": {
            "description": "A vessel code or asset id.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "product_id": {
            "description": "vintrace product id.",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991,
            "type": "integer"
          }
        },
        "required": [
          "product_id"
        ],
        "type": "object"
      },
      "name": "vintrace_get_product"
    },
    {
      "description": "One purchase order with its lines, state and fulfilment. GET /v7/account/purchase-orders/{id}.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "purchase_order_id": {
            "description": "vintrace purchase order id.",
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "purchase_order_id"
        ],
        "type": "object"
      },
      "name": "vintrace_get_purchase_order"
    },
    {
      "description": "One sales order by id, or by order code (for example VSO20): customer, items, prices, taxes and status. Give exactly one. GET /v6/sales-order/{id} or /v6/sales-order?code=.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "code": {
            "description": "Sales order code, e.g. VSO20.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "sales_order_id": {
            "description": "vintrace sales order id.",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "name": "vintrace_get_sales_order"
    },
    {
      "description": "One stock item by id with optional detail parts: expand=fields,distributions,notes,historyItems,rawComponents,bulkInfo. GET /v6/mrp/stock/{id}.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "expand": {
            "description": "Comma-separated parts to expand: fields, distributions, notes, historyItems, rawComponents, bulkInfo.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "stock_item_id": {
            "description": "vintrace stock item id (from vintrace_lookup_stock_item or vintrace_list_inventory).",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991,
            "type": "integer"
          }
        },
        "required": [
          "stock_item_id"
        ],
        "type": "object"
      },
      "name": "vintrace_get_stock_item"
    },
    {
      "description": "One vessel by id: a tank, barrel, barrel group, tanker or bin, with its details, dimensions and contents. GET /v7/vessel/<tanks|barrels|barrel-groups|tankers|bins>/{id}.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "vessel_id": {
            "description": "vintrace vessel id.",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991,
            "type": "integer"
          },
          "vessel_type": {
            "description": "What kind of vessel.",
            "enum": [
              "tank",
              "barrel",
              "barrel_group",
              "tanker",
              "bin"
            ],
            "type": "string"
          }
        },
        "required": [
          "vessel_type",
          "vessel_id"
        ],
        "type": "object"
      },
      "name": "vintrace_get_vessel"
    },
    {
      "description": "The bulk wine report: every vessel (tank, barrel, bin, press, tanker) with its contents, volume, batch, owner and winery as at a date. Use extra_fields=composition,allocations,liveMetrics to add them. Covers every winery the token's user may access unless wineryId/wineryName narrows it. GET /v7/report/vessel-details-report.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "as_at": {
            "description": "Run the report as at this time (default now).",
            "type": "string"
          },
          "batch": {
            "description": "Only vessels holding this wine batch.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "business_unit": {
            "description": "Only this winery business unit.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "extra_fields": {
            "description": "Extra fields, comma-separated: composition, allocations, liveMetrics.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "limit": {
            "description": "Results per page, 1-200 (vintrace default 10).",
            "exclusiveMinimum": 0,
            "maximum": 200,
            "type": "integer"
          },
          "offset": {
            "description": "Index of the first result (default 0). Pass the previous reply's offset + limit.",
            "maximum": 10000000,
            "minimum": 0,
            "type": "integer"
          },
          "owner": {
            "description": "Only this owner.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "product_id": {
            "description": "Only this wine/product id.",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991,
            "type": "integer"
          },
          "vessel": {
            "description": "Only this vessel (by name/code).",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "vessel_id": {
            "description": "Only this vessel id.",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991,
            "type": "integer"
          },
          "vessel_type": {
            "description": "Vessel types, comma-separated: TANK, BIN, BARREL, BARREL_GROUP, BIN_GROUP, PRESS, TANKER.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "winery_id": {
            "description": "Only this winery.",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991,
            "type": "integer"
          },
          "winery_name": {
            "description": "Only the winery with this exact name.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "vintrace_get_vessel_details_report"
    },
    {
      "description": "One work order by id: every job with its steps, summary text, status and assignee. Find the id with vintrace_list_work_orders or vintrace_list_work_orders_v6. GET /v6/workorders/{id}.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "work_order_id": {
            "description": "vintrace work order id (the number, not the TWL code).",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991,
            "type": "integer"
          }
        },
        "required": [
          "work_order_id"
        ],
        "type": "object"
      },
      "name": "vintrace_get_work_order"
    },
    {
      "description": "Barrel move shipments / barrel treatments recorded in vintrace, with barrel states and treatment types. Reply: results plus next_offset. GET /v7/operation/barrel-treatments.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "limit": {
            "description": "Results per page, 1-200 (vintrace default 10).",
            "exclusiveMinimum": 0,
            "maximum": 200,
            "type": "integer"
          },
          "modified_before": {
            "description": "Only records modified before this time.",
            "type": "string"
          },
          "modified_since": {
            "description": "Only records modified after this time.",
            "type": "string"
          },
          "offset": {
            "description": "Index of the first result (default 0). Pass the previous reply's offset + limit.",
            "maximum": 10000000,
            "minimum": 0,
            "type": "integer"
          },
          "treatment": {
            "description": "Only this treatment.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "vintrace_list_barrel_treatments"
    },
    {
      "description": "List vineyard block assessments (vine and fruit assessments by the viticulture team). Reply: results plus next_offset. GET /v7/harvest/assessments.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "assessed_by": {
            "description": "Filter by assessor: a vintrace user id (123), or ext:<external id>. Prefix ne: to exclude that user (ne:123); the default is an exact match (eq:).",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "created_before": {
            "description": "Only assessments created before this time.",
            "type": "string"
          },
          "created_since": {
            "description": "Only assessments created after this time.",
            "type": "string"
          },
          "extra_fields": {
            "description": "Extra fields to include, comma-separated (see the BlockAssessment fields).",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "limit": {
            "description": "Results per page, 1-200 (vintrace default 10).",
            "exclusiveMinimum": 0,
            "maximum": 200,
            "type": "integer"
          },
          "offset": {
            "description": "Index of the first result (default 0). Pass the previous reply's offset + limit.",
            "maximum": 10000000,
            "minimum": 0,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "name": "vintrace_list_block_assessments"
    },
    {
      "description": "List vineyard blocks (grower, vineyard, region, variety). To see fruit placements for a vintage pass include=fruitPlacements together with vintage. Reply: results plus next_offset. GET /v7/harvest/blocks.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "id": {
            "description": "Comma-separated block ids.",
            "maxLength": 500,
            "minLength": 1,
            "type": "string"
          },
          "include": {
            "description": "Extra parts to include, for example fruitPlacements (with vintage).",
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "limit": {
            "description": "Results per page, 1-200 (vintrace default 10).",
            "exclusiveMinimum": 0,
            "maximum": 200,
            "type": "integer"
          },
          "offset": {
            "description": "Index of the first result (default 0). Pass the previous reply's offset + limit.",
            "maximum": 10000000,
            "minimum": 0,
            "type": "integer"
          },
          "vintage": {
            "description": "Vintage year (needed with include).",
            "maxLength": 10,
            "minLength": 1,
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "vintrace_list_blocks"
    },
    {
      "description": "List active fruit bookings (grape deliveries planned for a vintage) for one or more wineries: grower, block, variety, expected pick time and quantity. vintage and winery_ids are required. Reply: results plus next_offset. GET /v7/operation/bookings.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "arrival_after": {
            "description": "Arrival after this time.",
            "type": "string"
          },
          "arrival_before": {
            "description": "Arrival before this time.",
            "type": "string"
          },
          "block_name": {
            "description": "Only this block.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "booking_number": {
            "description": "A vintrace booking number.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "grower_name": {
            "description": "Only this grower.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "limit": {
            "description": "Results per page, 1-200 (vintrace default 10).",
            "exclusiveMinimum": 0,
            "maximum": 200,
            "type": "integer"
          },
          "modified_since": {
            "description": "Added, changed or deactivated since this time.",
            "type": "string"
          },
          "offset": {
            "description": "Index of the first result (default 0). Pass the previous reply's offset + limit.",
            "maximum": 10000000,
            "minimum": 0,
            "type": "integer"
          },
          "vineyard_name": {
            "description": "Only this vineyard.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "vintage": {
            "description": "Vintage year, e.g. 2026.",
            "maximum": 2200,
            "minimum": 1900,
            "type": "integer"
          },
          "winery_ids": {
            "description": "vintrace winery ids (see vintrace_get_vessel_details_report for winery names/ids).",
            "items": {
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991,
              "type": "integer"
            },
            "maxItems": 20,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "vintage",
          "winery_ids"
        ],
        "type": "object"
      },
      "name": "vintrace_list_bookings"
    },
    {
      "description": "List brand allocations of bulk wine (how much of a wine is promised to which brand), by status and vintage. Reply: results plus next_offset. GET /v7/allocations/brand-allocations.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "limit": {
            "description": "Results per page, 1-200 (vintrace default 10).",
            "exclusiveMinimum": 0,
            "maximum": 200,
            "type": "integer"
          },
          "modified_since": {
            "description": "Only records modified after this time.",
            "type": "string"
          },
          "offset": {
            "description": "Index of the first result (default 0). Pass the previous reply's offset + limit.",
            "maximum": 10000000,
            "minimum": 0,
            "type": "integer"
          },
          "status": {
            "description": "Allocation status.",
            "enum": [
              "INCOMPLETE",
              "COMPLETE",
              "ARCHIVED"
            ],
            "type": "string"
          },
          "vintage": {
            "description": "Vintage year.",
            "maximum": 2200,
            "minimum": 1900,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "name": "vintrace_list_brand_allocations"
    },
    {
      "description": "List bulk wine/juice intakes (wine bought or received in bulk) with batch, volume, owner and cost. Reply: results plus next_offset. GET /v7/operation/bulk-intakes.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "limit": {
            "description": "Results per page, 1-200 (vintrace default 10).",
            "exclusiveMinimum": 0,
            "maximum": 200,
            "type": "integer"
          },
          "modified_before": {
            "description": "Only records modified before this time.",
            "type": "string"
          },
          "modified_since": {
            "description": "Only records modified after this time.",
            "type": "string"
          },
          "offset": {
            "description": "Index of the first result (default 0). Pass the previous reply's offset + limit.",
            "maximum": 10000000,
            "minimum": 0,
            "type": "integer"
          },
          "purchase_reference": {
            "description": "Exact purchase reference (sent to vintrace as eq:<reference>).",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "vintrace_list_bulk_intakes"
    },
    {
      "description": "Bulk wine cost movements between two times (cost of wine moved between batches and wineries), optionally for one winery or business unit. Needs the vintrace permission to view costs. Reply: results plus next_offset. GET /v7/costs/business-unit-transactions.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "business_unit": {
            "description": "Only this business unit.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "end": {
            "description": "End of the period (required).",
            "type": "string"
          },
          "limit": {
            "description": "Results per page, 1-200 (vintrace default 10).",
            "exclusiveMinimum": 0,
            "maximum": 200,
            "type": "integer"
          },
          "offset": {
            "description": "Index of the first result (default 0). Pass the previous reply's offset + limit.",
            "maximum": 10000000,
            "minimum": 0,
            "type": "integer"
          },
          "start": {
            "description": "Start of the period (required).",
            "type": "string"
          },
          "winery_id": {
            "description": "Only this winery.",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991,
            "type": "integer"
          },
          "winery_name": {
            "description": "Only the winery with this exact name.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "start",
          "end"
        ],
        "type": "object"
      },
      "name": "vintrace_list_cost_transactions"
    },
    {
      "description": "Stock on hand (bottled wine, dry goods, additives) up to a date: quantity, committed, on order and available per item, location, owner, tax class. breakout_costing needs the view-costs permission. GET /v6/inventory.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "breakout_costing": {
            "description": "Break out each item's costs by category (needs the permission).",
            "type": "boolean"
          },
          "date": {
            "description": "Report stock up to this date, excluding later changes.",
            "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
            "type": "string"
          },
          "first": {
            "description": "Start index of the page (default 0; vintrace \"first\").",
            "maximum": 10000000,
            "minimum": 0,
            "type": "integer"
          },
          "max": {
            "description": "Results per page, 1-200 (sent as vintrace's \"max\").",
            "exclusiveMinimum": 0,
            "maximum": 200,
            "type": "integer"
          },
          "owner_name": {
            "description": "Only this owner's stock.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "stock_type": {
            "description": "Stock type, for example Wine batch, Additive, Closure, Glass/Container, Case x12.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "vintrace_list_inventory"
    },
    {
      "description": "The lab console: analysis tasks (samples to measure) with lab, template, vessel, batch, status and arrival. Completed tasks are left out unless status includes Completed. Reply: results plus next_offset. GET /v7/lab/lab-requests.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "analysis_template_name": {
            "description": "Only tasks using these analysis templates. Several values match any of them.",
            "items": {
              "maxLength": 100,
              "minLength": 1,
              "type": "string"
            },
            "maxItems": 50,
            "minItems": 1,
            "type": "array"
          },
          "arrival_status": {
            "description": "Only samples with this arrival status.",
            "enum": [
              "Arrived",
              "Not Arrived"
            ],
            "type": "string"
          },
          "batch": {
            "description": "Only tasks sampled from batches with these names. Several values match any of them.",
            "items": {
              "maxLength": 100,
              "minLength": 1,
              "type": "string"
            },
            "maxItems": 50,
            "minItems": 1,
            "type": "array"
          },
          "date_after": {
            "description": "Only tasks requested at or after this time.",
            "type": "string"
          },
          "date_before": {
            "description": "Only tasks requested at or before this time.",
            "type": "string"
          },
          "lab_name": {
            "description": "Only tasks assigned to labs with these names. Several values match any of them.",
            "items": {
              "maxLength": 100,
              "minLength": 1,
              "type": "string"
            },
            "maxItems": 50,
            "minItems": 1,
            "type": "array"
          },
          "limit": {
            "description": "Results per page, 1-200 (vintrace default 10).",
            "exclusiveMinimum": 0,
            "maximum": 200,
            "type": "integer"
          },
          "modified_since": {
            "description": "Only tasks modified at or after this time.",
            "type": "string"
          },
          "offset": {
            "description": "Index of the first result (default 0). Pass the previous reply's offset + limit.",
            "maximum": 10000000,
            "minimum": 0,
            "type": "integer"
          },
          "status": {
            "description": "Task statuses (for example Completed to include finished tasks). Several values match any of them.",
            "items": {
              "maxLength": 100,
              "minLength": 1,
              "type": "string"
            },
            "maxItems": 50,
            "minItems": 1,
            "type": "array"
          },
          "vessel_name": {
            "description": "Only tasks sampled from vessels with these names. Several values match any of them.",
            "items": {
              "maxLength": 100,
              "minLength": 1,
              "type": "string"
            },
            "maxItems": 50,
            "minItems": 1,
            "type": "array"
          },
          "work_order_number": {
            "description": "Only tasks requested by these work orders (TWL123 or 123). Several values match any of them.",
            "items": {
              "maxLength": 100,
              "minLength": 1,
              "type": "string"
            },
            "maxItems": 50,
            "minItems": 1,
            "type": "array"
          }
        },
        "type": "object"
      },
      "name": "vintrace_list_lab_requests"
    },
    {
      "description": "List parties: customers, growers, suppliers and owners, individuals or organisations, with address, phone and email. Filter by the start of the name and category. GET /v6/party/list.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "category": {
            "description": "Party category (default All).",
            "enum": [
              "All",
              "Individuals",
              "Organisations"
            ],
            "type": "string"
          },
          "first": {
            "description": "Start index of the page (default 0; vintrace \"first\").",
            "maximum": 10000000,
            "minimum": 0,
            "type": "integer"
          },
          "max": {
            "description": "Results per page, 1-200 (sent as vintrace's \"max\").",
            "exclusiveMinimum": 0,
            "maximum": 200,
            "type": "integer"
          },
          "starts_with": {
            "description": "Surname (individuals) or company name starts with this.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "vintrace_list_parties"
    },
    {
      "description": "List wine products as they sit in vessels: batch code, vessel, volume, colour, state and the latest lab metrics (TSO2, pH, Brix...). skip_metrics=true makes it faster. barcode matches a vessel code or asset id. GET /v6/products/list.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "barcode": {
            "description": "A vessel code or asset id.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "first": {
            "description": "Start index of the page (default 0; vintrace \"first\").",
            "maximum": 10000000,
            "minimum": 0,
            "type": "integer"
          },
          "max": {
            "description": "Results per page, 1-200 (sent as vintrace's \"max\").",
            "exclusiveMinimum": 0,
            "maximum": 200,
            "type": "integer"
          },
          "skip_metrics": {
            "description": "Leave out the metric measurements.",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "name": "vintrace_list_products"
    },
    {
      "description": "List sales orders with customer, status, price list, line items, totals and invoice date. Filter by status, customer, order date range or invoice date range. GET /v6/sales-order/list.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "customer_name": {
            "description": "Customer name.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "end_date": {
            "description": "Orders on or before this date.",
            "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
            "type": "string"
          },
          "external_transaction_id": {
            "description": "External transaction id linked to the order.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "first": {
            "description": "Start index of the page (default 0; vintrace \"first\").",
            "maximum": 10000000,
            "minimum": 0,
            "type": "integer"
          },
          "invoice_end_date": {
            "description": "Invoiced on or before this date.",
            "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
            "type": "string"
          },
          "invoice_start_date": {
            "description": "Invoiced on or after this date.",
            "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
            "type": "string"
          },
          "max": {
            "description": "Results per page, 1-200 (sent as vintrace's \"max\").",
            "exclusiveMinimum": 0,
            "maximum": 200,
            "type": "integer"
          },
          "start_date": {
            "description": "Orders on or after this date.",
            "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
            "type": "string"
          },
          "starts_with": {
            "description": "Order name starts with this.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "status": {
            "description": "Sales order status.",
            "enum": [
              "New",
              "Approved",
              "Payment in Progress",
              "Paid"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "vintrace_list_sales_orders"
    },
    {
      "description": "List shipments created by Bulk Dispatch and inter-winery dispatch operations, with destination and wine details. Reply: results plus next_offset. GET /v7/operation/shipments.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "dispatch_type": {
            "description": "Dispatch type name.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "freight_code": {
            "description": "Freight code name.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "include": {
            "description": "Extra wine details to include: allocations, metrics, composition, cost (comma-separated).",
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "limit": {
            "description": "Results per page, 1-200 (vintrace default 10).",
            "exclusiveMinimum": 0,
            "maximum": 200,
            "type": "integer"
          },
          "modified_before": {
            "description": "Only records modified before this time.",
            "type": "string"
          },
          "modified_since": {
            "description": "Only records modified after this time.",
            "type": "string"
          },
          "offset": {
            "description": "Index of the first result (default 0). Pass the previous reply's offset + limit.",
            "maximum": 10000000,
            "minimum": 0,
            "type": "integer"
          },
          "type": {
            "description": "Operation type.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "vintrace_list_shipments"
    },
    {
      "description": "List stock dispatch actions (bottled goods and dry goods sent out) with routes, items and shipping information. Reply: results plus next_offset. GET /v7/stock/dispatches.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "limit": {
            "description": "Results per page, 1-200 (vintrace default 10).",
            "exclusiveMinimum": 0,
            "maximum": 200,
            "type": "integer"
          },
          "offset": {
            "description": "Index of the first result (default 0). Pass the previous reply's offset + limit.",
            "maximum": 10000000,
            "minimum": 0,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "name": "vintrace_list_stock_dispatches"
    },
    {
      "description": "The notes recorded on a stock item. GET /v6/mrp/stock/{id}/notes.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "first_result": {
            "description": "Start index of the page (default 0; vintrace \"first\").",
            "maximum": 10000000,
            "minimum": 0,
            "type": "integer"
          },
          "max_result": {
            "description": "Notes per page, 1-200.",
            "exclusiveMinimum": 0,
            "maximum": 200,
            "type": "integer"
          },
          "stock_item_id": {
            "description": "vintrace stock item id.",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991,
            "type": "integer"
          }
        },
        "required": [
          "stock_item_id"
        ],
        "type": "object"
      },
      "name": "vintrace_list_stock_item_notes"
    },
    {
      "description": "List trial blends (planned blend trials) with status and composition. Use composition_summary_by=variety,vintage to summarise. Reply: results plus next_offset. GET /v7/operation/trial-blends.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "composition_summary_by": {
            "description": "Summarise composition by: variety, vintage, region, subRegion (comma-separated).",
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "limit": {
            "description": "Results per page, 1-200 (vintrace default 10).",
            "exclusiveMinimum": 0,
            "maximum": 200,
            "type": "integer"
          },
          "modified_before": {
            "description": "Only records modified before this time.",
            "type": "string"
          },
          "modified_since": {
            "description": "Only records modified after this time.",
            "type": "string"
          },
          "offset": {
            "description": "Index of the first result (default 0). Pass the previous reply's offset + limit.",
            "maximum": 10000000,
            "minimum": 0,
            "type": "integer"
          },
          "status": {
            "description": "Trial blend status, or several separated by commas.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "vintrace_list_trial_blends"
    },
    {
      "description": "List wine batches (the named lots of wine) with volume, variety, vintage and owner. Use include=vessels,allocations to add where each batch sits. Reply: results plus next_offset. GET /v7/operation/wine-batches.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "id": {
            "description": "Comma-separated vintrace batch ids to fetch.",
            "maxLength": 500,
            "minLength": 1,
            "type": "string"
          },
          "include": {
            "description": "Extra parts to include, comma-separated: vessels, allocations.",
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "limit": {
            "description": "Results per page, 1-200 (vintrace default 10).",
            "exclusiveMinimum": 0,
            "maximum": 200,
            "type": "integer"
          },
          "offset": {
            "description": "Index of the first result (default 0). Pass the previous reply's offset + limit.",
            "maximum": 10000000,
            "minimum": 0,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "name": "vintrace_list_wine_batches"
    },
    {
      "description": "List winery work orders (cellar jobs such as transfers, additions, bottling) with their jobs, assignee, status and scheduled time. Filter by scheduled time range, status and operation type. Reply: results plus next_offset. GET /v7/operation/work-orders.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "limit": {
            "description": "Results per page, 1-200 (vintrace default 10).",
            "exclusiveMinimum": 0,
            "maximum": 200,
            "type": "integer"
          },
          "offset": {
            "description": "Index of the first result (default 0). Pass the previous reply's offset + limit.",
            "maximum": 10000000,
            "minimum": 0,
            "type": "integer"
          },
          "operation_types": {
            "description": "Winery job type, or several separated by commas (for example TIRAGE,TRANSFER).",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "scheduled_before": {
            "description": "Only work orders scheduled at or before this time (inclusive).",
            "type": "string"
          },
          "scheduled_since": {
            "description": "Only work orders scheduled at or after this time (inclusive).",
            "type": "string"
          },
          "status": {
            "description": "Work order status, or several separated by commas (for example READY,IN_PROGRESS).",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "vintrace_list_work_orders"
    },
    {
      "description": "Work orders from the operator's point of view (what is waiting for me / unassigned), with job counts, status and scheduled dates. Defaults to the last 7 days to 3 days ahead. GET /v6/workorders/list.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "assigned_to": {
            "description": "Assignment filter (default AVAILABLE_TO_ME).",
            "enum": [
              "AVAILABLE_TO_ME",
              "ANYONE",
              "MINE_ONLY",
              "UNASSIGNED"
            ],
            "type": "string"
          },
          "first": {
            "description": "Start index of the page (default 0; vintrace \"first\").",
            "maximum": 10000000,
            "minimum": 0,
            "type": "integer"
          },
          "from_date": {
            "description": "Scheduled on or after this date.",
            "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
            "type": "string"
          },
          "max": {
            "description": "Results per page, 1-200 (sent as vintrace's \"max\").",
            "exclusiveMinimum": 0,
            "maximum": 200,
            "type": "integer"
          },
          "starts_with": {
            "description": "Work order name starts with this.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "state": {
            "description": "Status filter (default ANY).",
            "enum": [
              "ANY",
              "IN_PROGRESS",
              "NOT_STARTED",
              "SUBMITTED",
              "INCOMPLETE"
            ],
            "type": "string"
          },
          "to_date": {
            "description": "Scheduled on or before this date.",
            "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
            "type": "string"
          },
          "winery_id": {
            "description": "Only this winery.",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "name": "vintrace_list_work_orders_v6"
    },
    {
      "description": "Find one stock item by code (matched against the start of the code) or by id: type, unit, owner, accounts, tax class and sub-components. Give code or id. GET /v6/stock/lookup.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "code": {
            "description": "Stock item code (start of code).",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "id": {
            "description": "Stock item id.",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "name": "vintrace_lookup_stock_item"
    },
    {
      "description": "Fruit intake operations (grape deliveries weighed in at the winery): weights, grower, block, vineyard, vintage, docket numbers and metrics. Filter by vintage, grower, vineyard, block or recorded time. Page with first_result and max_results. GET /v6/intake-operations/search.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "block_name": {
            "description": "Block name.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "delivery_docket": {
            "description": "Delivery docket number.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "first_result": {
            "description": "Start index of the page (default 0; vintrace \"first\").",
            "maximum": 10000000,
            "minimum": 0,
            "type": "integer"
          },
          "grower_name": {
            "description": "Grower name.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "intake_docket": {
            "description": "Intake docket number.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "max_results": {
            "description": "Results per page, 1-200.",
            "exclusiveMinimum": 0,
            "maximum": 200,
            "type": "integer"
          },
          "modified_since": {
            "description": "Modified since this time.",
            "type": "string"
          },
          "owner_name": {
            "description": "Fruit owner name.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "recorded_after": {
            "description": "Recorded at or after this time.",
            "type": "string"
          },
          "recorded_before": {
            "description": "Recorded at or before this time.",
            "type": "string"
          },
          "vineyard_name": {
            "description": "Vineyard name.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "vintage": {
            "description": "Vintage year.",
            "maxLength": 10,
            "minLength": 1,
            "type": "string"
          },
          "winery_name": {
            "description": "Winery name.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "vintrace_search_fruit_intakes"
    },
    {
      "description": "Look up names and ids of one kind of item: growers, owners, blocks, varietals, vintages, regions, programs, batches, products, tanks, barrels, bins and more. Use it to find the id or exact name another tool needs. GET /v6/search/list.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "exact_match": {
            "description": "True: the name must equal starts_with (default is a like match).",
            "type": "boolean"
          },
          "first": {
            "description": "Start index of the page (default 0; vintrace \"first\").",
            "maximum": 10000000,
            "minimum": 0,
            "type": "integer"
          },
          "starts_with": {
            "description": "Name starts with this.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "type": {
            "description": "The kind of item to list.",
            "enum": [
              "grading",
              "owner",
              "program",
              "varietal",
              "vintage",
              "productState",
              "region",
              "block",
              "grower",
              "productCategory",
              "batch",
              "product",
              "tank",
              "vessel",
              "containerEquipment",
              "barrel",
              "bin"
            ],
            "type": "string"
          }
        },
        "required": [
          "type"
        ],
        "type": "object"
      },
      "name": "vintrace_search_items"
    },
    {
      "description": "Winemaking operations completed in a date range (transfers, additions, blends, racking...) with the from/to vessels and before/after volumes. Defaults to today when no dates are given. GET /v6/transaction/search.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "batch_name": {
            "description": "Batch name.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "date_from": {
            "description": "Operations completed on or after this date.",
            "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
            "type": "string"
          },
          "date_to": {
            "description": "Operations completed on or before this date.",
            "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
            "type": "string"
          },
          "owner_name": {
            "description": "Owner name.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "winery_name": {
            "description": "Winery name.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "vintrace_search_transactions"
    }
  ]
}

What the leaf hashes

{"body":"b4e5f162e44f12378ec04d9232178218638de358f3c94ed78c6bf9247cf1652e","id":301756,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793054269563806,"prev":null,"subject":"2a04c4fb-deef-4d9a-bd08-1ff2a8315543","subject_kind":"endpoint"}

Proof

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

  1. 0x4cfc39a6df596e78428fb3d3cfc51a7e1cae524ba988aa605621fdb7016dedee
  2. 0x5a1e5d6973a752c1c89bf265ff678ffd4947f96819d0c0b27daf0ec0353f2b90
  3. 0x76b61f3ddaa43a530c50a3dc0e58054018de5595a252e931091747e8a27821d9
  4. 0xbafe95757a64fbe53409171bd49fd9eec5aed35019ff78a728056d9793f4a40a
  5. 0x32d910ebfec75f5af6cef9f77195900b4d4b9c511cf6fd7b54dc8e9c61140578
  6. 0x39ec67c4f1dc51f3b460cf90cf79275113cac213faf3362fbbc69882c2fb1b47
  7. 0x03af86181f8bf350b8d6bef50f32e2d96392970a42fce423fd8f3baa6c53cd1b
  8. 0xb1547ef0f3fc2a4612f61bc7e12a01c9e0fbdbc7246f01dac8e50ed25b8fc3ff
  9. 0xe94d7f707d4adf6711a51bb9ab206051c7a08d643660328859f7a47b218ad643
  10. 0x4af637ad93b988fe64e96a6e50ca3aa29400b19cae5b542c13a7e49b02fec7a6
  11. 0x4a13cd2655a1d8b39528cfa63482483519544a5eb593623bd8ca3eb463e263b6
  12. 0x9c16024747eaca32d09963ccb001059f75dcd9bb8dfc221e5234d54d2b3388d9
  13. 0x1ffd24a0422348bb2305058cc138e276511e1c074bf8139af5b773941f0e5de2
  14. 0x88e326a39b26e2c125306c9d3805d14398ace088bba9a2a0aa376b811cfb201a
  15. 0x2be1e80e065dd6b2cc75a7142be22225acd144ac975d70bf24b4f01fd76dc497
  16. 0x2e6a32eb32761c210560e852405e2f865f958ddbe01027894f8b9c1b3433b9f0
  17. 0x9a83be955a206deb65b995adfd92c58fa31c95fbbf926bd199d300e70b08b26d
  18. 0x20704208aa6923d6b2450ef74ede87a6e0265d46447926038fe9506e9e154b2d
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON