{"id":301756,"recorded_at":"2026-10-26T22:37:49.563887Z","observed_at":"2026-10-26T22:37:49.563806Z","subject_kind":"endpoint","subject":"2a04c4fb-deef-4d9a-bd08-1ff2a8315543","kind":"mcp.tools","method":"probe.mcp/1","body":{"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"}]},"body_sha256":"b4e5f162e44f12378ec04d9232178218638de358f3c94ed78c6bf9247cf1652e","prev_id":null,"leaf":"0x4cfc73f48c3e0ed994f9a9df7ae53908ddddb07502b5ae5aa140a8f61ff24c30","leaf_text":"{\"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\"}","day":{"day":"2026-10-26","leaves":296695,"root":"0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8","chained":"0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a","anchor_chain":"eip155:5042002","anchor_tx":"0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae","anchor_block":69251483},"proof":["0x4cfc39a6df596e78428fb3d3cfc51a7e1cae524ba988aa605621fdb7016dedee","0x5a1e5d6973a752c1c89bf265ff678ffd4947f96819d0c0b27daf0ec0353f2b90","0x76b61f3ddaa43a530c50a3dc0e58054018de5595a252e931091747e8a27821d9","0xbafe95757a64fbe53409171bd49fd9eec5aed35019ff78a728056d9793f4a40a","0x32d910ebfec75f5af6cef9f77195900b4d4b9c511cf6fd7b54dc8e9c61140578","0x39ec67c4f1dc51f3b460cf90cf79275113cac213faf3362fbbc69882c2fb1b47","0x03af86181f8bf350b8d6bef50f32e2d96392970a42fce423fd8f3baa6c53cd1b","0xb1547ef0f3fc2a4612f61bc7e12a01c9e0fbdbc7246f01dac8e50ed25b8fc3ff","0xe94d7f707d4adf6711a51bb9ab206051c7a08d643660328859f7a47b218ad643","0x4af637ad93b988fe64e96a6e50ca3aa29400b19cae5b542c13a7e49b02fec7a6","0x4a13cd2655a1d8b39528cfa63482483519544a5eb593623bd8ca3eb463e263b6","0x9c16024747eaca32d09963ccb001059f75dcd9bb8dfc221e5234d54d2b3388d9","0x1ffd24a0422348bb2305058cc138e276511e1c074bf8139af5b773941f0e5de2","0x88e326a39b26e2c125306c9d3805d14398ace088bba9a2a0aa376b811cfb201a","0x2be1e80e065dd6b2cc75a7142be22225acd144ac975d70bf24b4f01fd76dc497","0x2e6a32eb32761c210560e852405e2f865f958ddbe01027894f8b9c1b3433b9f0","0x9a83be955a206deb65b995adfd92c58fa31c95fbbf926bd199d300e70b08b26d","0x20704208aa6923d6b2450ef74ede87a6e0265d46447926038fe9506e9e154b2d","0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a"]}