Food Wholesale System MCP
Food Wholesale System MCP tools support wholesale customers, customer-specific price lists, food products, batch and expiry tracking, cold-chain rules, sellable stock, cut-off windows, order validation, FEFO lot allocation, backorders, pick lists, delivery routes, delivery execution, invoice batches, collections, returns and claims, recall traceability, margin and wastage reporting, and audit logs.
food_wholesale.config.get
readRead tenant-level food wholesale settings for temperature bands, cut-offs, payment, approval, delivery, and recall rules.
No approval required; read-only configuration lookup.
Return tenant-scoped configuration only; hide integration secrets and internal credential values.
food_wholesale.customers.list
readList wholesale customers by status, customer group, delivery district, payment terms, or sales owner.
food_wholesale.config.get
No approval required; read-only customer lookup.
Restrict to permitted customer accounts and redact private contacts when caller lacks permission.
food_wholesale.customer.get
readRead one customer profile, terms, credit limit, delivery preferences, price lists, and outstanding balance summary.
food_wholesale.customers.list
No approval required; read-only customer detail.
Do not expose credit, balance, or personal contact fields across tenant or permission boundaries.
food_wholesale.customer_price_lists.list
readList customer-specific price lists, discounts, MOQ, effective dates, and pending price changes.
food_wholesale.customer.get
No approval required; read-only pricing lookup.
Pricing is commercially sensitive; scope by customer and caller role.
food_wholesale.products.list
readList food products by category, supplier, temperature band, sellable status, pack size, or shelf-life rule.
food_wholesale.config.get
No approval required; read-only product lookup.
Return public product and operational fields only unless caller can view costing.
food_wholesale.product.get
readRead one food SKU, pack size, unit conversion, handling requirements, allergen/handling notes, and cost visibility summary.
food_wholesale.products.list
No approval required; read-only product detail.
Cost, supplier, and allergen data must follow role permissions and audit read access where required.
food_wholesale.batches_expiry.list
readList batch stock by product, warehouse, lot, expiry date, quarantine state, or recall state.
food_wholesale.product.get
No approval required; read-only lot and expiry lookup.
Separate sellable, reserved, quarantined, expired, damaged, and recalled quantities clearly.
food_wholesale.cold_chain_rules.list
readList temperature bands, delivery ranges, allowed deviations, and exception handling rules.
food_wholesale.config.get
No approval required; read-only cold-chain rule lookup.
Do not treat missing temperature rules as safe; surface incomplete setup explicitly.
food_wholesale.stock_levels.list
readRead sellable, reserved, backordered, and quarantined quantities by product, warehouse, lot, and expiry date.
food_wholesale.products.list, food_wholesale.batches_expiry.list
No approval required; read-only stock lookup.
Stock figures must be time-stamped to prevent stale allocation decisions.
food_wholesale.cutoff_windows.list
readList order cut-off windows by delivery date, district, customer group, and temperature band.
food_wholesale.config.get, food_wholesale.customer.get
No approval required; read-only cut-off lookup.
Flag orders outside cut-off instead of silently accepting late operational changes.
food_wholesale.orders.list
readList orders by customer, delivery date, cut-off batch, state, temperature band, or backorder condition.
food_wholesale.customers.list
No approval required; read-only order lookup.
Respect customer/account permissions and avoid exposing unrelated customer order values.
food_wholesale.order.get
readRead order lines, customer pricing, lot allocation, backorders, delivery requirements, invoice, and collection links.
food_wholesale.orders.list
No approval required; read-only order detail.
Show price source, stock timestamp, and allocation state to prevent hidden order drift.
food_wholesale.backorders.list
readList backordered lines by customer, product, lot, replenishment date, substitute, and pending confirmation.
food_wholesale.orders.list, food_wholesale.stock_levels.list
No approval required; read-only backorder lookup.
Do not promise replenishment dates unless source status is confirmed.
food_wholesale.allocation_plan.get
readRead FEFO lot allocation suggestions and alternatives for an order or cut-off batch.
food_wholesale.order.get, food_wholesale.stock_levels.list
No approval required; read-only allocation plan.
Mark any manual lot override, short shelf-life risk, or recall/quarantine conflict.
food_wholesale.pick_lists.list
readList pick lists by delivery date, route, temperature band, warehouse, or status.
food_wholesale.orders.list, food_wholesale.allocation_plan.get
No approval required; read-only pick list lookup.
Pick lists must include lot and expiry data when food traceability is required.
food_wholesale.delivery_routes.list
readList delivery routes, districts, vehicle capacity, temperature capability, drivers, and time windows.
food_wholesale.config.get
No approval required; read-only route lookup.
Route capacity and temperature capability must be validated before route assignment writes.
food_wholesale.delivery_runs.list
readList delivery runs by date, route, driver, vehicle, state, or temperature exception.
food_wholesale.delivery_routes.list
No approval required; read-only delivery run lookup.
Do not expose driver private details beyond operational need.
food_wholesale.invoices.list
readList invoices by customer, order, delivery date, statement cycle, payment state, or overdue state.
food_wholesale.customer.get, food_wholesale.orders.list
No approval required; read-only invoice lookup.
Invoice visibility must follow finance permissions and customer account scope.
food_wholesale.collections.list
readList collections, partial payments, reconciliations, overdue reminders, and unapplied receipts.
food_wholesale.invoices.list
No approval required; read-only collection lookup.
Payment references and bank data must be redacted unless finance role permits access.
food_wholesale.returns_claims.list
readList claims for short delivery, wrong item, damage, expiry, temperature breach, or returned goods.
food_wholesale.orders.list, food_wholesale.delivery_runs.list
No approval required; read-only claim lookup.
Keep claim evidence files scoped to the related customer, delivery, and finance roles.
food_wholesale.recall_trace.get
readTrace affected orders, customers, deliveries, invoices, returns, and notification state by product lot.
food_wholesale.batches_expiry.list, food_wholesale.orders.list
No approval required for preview trace; recall action writes require approval.
Recall trace must include confidence/source timestamps and never omit quarantined or returned quantities.
food_wholesale.margin_report.get
readRead margin, wastage, expiry risk, and shortage summary by customer, product, lot, route, or period.
food_wholesale.orders.list, food_wholesale.collections.list
No approval required; read-only report.
Cost and margin fields require management or finance permissions.
food_wholesale.audit_logs.list
readList audit logs for pricing, orders, lots, delivery, collections, returns, recalls, and notifications.
food_wholesale.config.get
No approval required for authorized auditors; read-only audit lookup.
Audit logs are immutable and must include actor, source, approval id, before/after, and execution result.
food_wholesale.order_check.preview
previewPreview whether a new or updated order violates pricing, MOQ, credit limit, cut-off, stock, or delivery rules.
food_wholesale.customer.get, food_wholesale.customer_price_lists.list, food_wholesale.stock_levels.list, food_wholesale.cutoff_windows.list
No approval required; preview only and does not persist the order.
Return blocking reasons and warnings separately so operators do not treat risky orders as approved.
food_wholesale.allocation.preview
previewPreview FEFO allocation, shortage, substitutions, short shelf-life risks, and quarantine conflicts for orders or batches.
food_wholesale.order.get, food_wholesale.batches_expiry.list, food_wholesale.stock_levels.list
No approval required; preview only and does not reserve stock.
Do not reduce stock or reserve lots during preview; include stock timestamp.
food_wholesale.route_plan.preview
previewPreview route capacity, time windows, temperature compatibility, cost, and late-delivery risk.
food_wholesale.delivery_routes.list, food_wholesale.orders.list, food_wholesale.pick_lists.list
No approval required; preview only and does not assign routes.
Flag vehicle capacity and temperature mismatches as blockers, not soft notes.
food_wholesale.invoice_batch.preview
previewPreview invoice batch amounts, tax, discounts, and exceptions by delivery, order, or statement cycle.
food_wholesale.orders.list, food_wholesale.invoices.list, food_wholesale.collections.list
No approval required; preview only and does not create invoices.
Show already-invoiced lines and missing delivery completion before invoice creation.
food_wholesale.price_change.preview
previewPreview price change impact on customers, unconfirmed orders, margin, MOQ, and effective dates.
food_wholesale.customer_price_lists.list, food_wholesale.orders.list, food_wholesale.margin_report.get
No approval required for preview; applying price changes requires approval.
Do not alter active prices during preview; report affected customers and orders explicitly.
food_wholesale.recall_impact.preview
previewPreview affected stock, orders, customers, deliveries, invoices, notifications, and substitute handling for a lot recall.
food_wholesale.recall_trace.get, food_wholesale.stock_levels.list, food_wholesale.delivery_runs.list
No approval required for preview; recall case creation requires approval.
Include confidence and completeness indicators; never auto-notify customers from preview.
food_wholesale.action_request.status
statusCheck approval, execution, failure, rollback, or partial-completion state for food wholesale write actions.
No approval required; status lookup for submitted actions.
Return only action requests visible to the caller and keep immutable execution logs.
food_wholesale.customer.upsert
writeCreate or update wholesale customer, payment terms, credit limit, delivery preferences, contacts, and account state.
food_wholesale.customer.get, food_wholesale.customers.list
Approval required when changing credit limit, account status, payment terms, or primary contacts.
Validate duplicate customers and keep before/after audit for credit and contact changes.
food_wholesale.price_list.upsert
writeCreate or update customer-specific pricing, discounts, MOQ, effective dates, and end dates.
food_wholesale.customer_price_lists.list, food_wholesale.price_change.preview
Approval required before price lists become active.
Prevent retroactive price changes unless explicitly approved and audited.
food_wholesale.product.upsert
writeCreate or update food SKU, pack size, unit, temperature band, handling requirements, barcode, and handling notes.
food_wholesale.product.get, food_wholesale.products.list
Approval required when changing sellable status, handling rules, or cost-sensitive fields.
Validate unit conversion and cold-chain requirements before making products sellable.
food_wholesale.batch.upsert
writeCreate or update food lot, expiry date, received quantity, sellable state, and quarantine notes.
food_wholesale.product.get, food_wholesale.batches_expiry.list
Approval required when changing expiry date, quantity, quarantine, or recall-related state.
Expiry date and lot identity changes must be immutable or corrected through audited adjustment records.
food_wholesale.order.create
writeCreate a food wholesale order using customer price, MOQ, cut-off, credit, delivery, and temperature rules.
food_wholesale.order_check.preview, food_wholesale.customer.get, food_wholesale.stock_levels.list
Approval required when preview returns warnings or when order exceeds credit/cut-off rules.
Reject blocked preview results unless an approved override is attached.
food_wholesale.order.update
writeUpdate unlocked order lines, quantities, price source, delivery date, special requirements, or notes.
food_wholesale.order.get, food_wholesale.order_check.preview
Approval required for post-cut-off, price override, credit-risk, or already-picked order changes.
Do not update picked, invoiced, or dispatched orders without explicit controlled reversal flow.
food_wholesale.order.confirm
writeConfirm an order and lock pricing, cut-off batch, delivery requirements, and downstream lot allocation flow.
food_wholesale.order.get, food_wholesale.order_check.preview
Approval required if confirmation includes warnings, overrides, or credit/cut-off exceptions.
Confirmation must be idempotent and must not double-reserve or double-invoice lines.
food_wholesale.backorder.create
writeCreate backorder, partial fulfilment, substitute, or customer-pending arrangements for shortage lines.
food_wholesale.backorders.list, food_wholesale.allocation.preview
Approval required when substituting products or changing promised delivery dates.
Record customer acceptance status and never treat substitutes as accepted automatically.
food_wholesale.allocation.apply
writeApply previewed FEFO or selected-lot allocation to orders and reserve stock.
food_wholesale.allocation.preview, food_wholesale.order.get
Approval required for manual lot override, short shelf-life allocation, or allocation under shortage.
Use optimistic locking against stock timestamp to prevent over-allocation.
food_wholesale.pick_list.create
writeCreate pick lists by delivery date, route, temperature band, and warehouse with lot and expiry data.
food_wholesale.allocation_plan.get, food_wholesale.pick_lists.list
Approval required when generating pick lists for unconfirmed or partially allocated orders.
Prevent duplicate active pick lists for the same order lines.
food_wholesale.route_plan.create
writeCreate a delivery route plan with orders, time windows, vehicle, driver, and temperature capacity.
food_wholesale.route_plan.preview, food_wholesale.delivery_routes.list
Approval required before committing route plans that affect warehouse or driver workload.
Block incompatible temperature bands, over-capacity vehicles, and missing customer delivery windows.
food_wholesale.delivery_run.dispatch
writeDispatch a delivery run and lock orders, pick lists, vehicle, driver, and temperature checks.
food_wholesale.delivery_runs.list, food_wholesale.pick_lists.list
Approval required for dispatch; operationally locks delivery resources.
Do not dispatch runs with incomplete pick lists, unresolved temperature checks, or missing driver assignment.
food_wholesale.delivery_run.complete
writeComplete a delivery run with proof of delivery, failure reason, redelivery, short delivery, and temperature exceptions.
food_wholesale.delivery_runs.list, food_wholesale.returns_claims.list
Approval required when completion creates claims, redelivery, or temperature exception records.
Completion must not auto-invoice failed or disputed deliveries unless policy allows and records exception.
food_wholesale.invoice_batch.create
writeCreate invoice batches from completed deliveries, orders, or statement cycles.
food_wholesale.invoice_batch.preview, food_wholesale.invoices.list
Finance approval required before invoice batch creation or release.
Prevent duplicate invoicing and exclude disputed, failed, or uncompleted delivery lines unless approved.
food_wholesale.collection.record
writeRecord collection, partial payment, reconciliation, unapplied receipt, or overdue follow-up state.
food_wholesale.collections.list, food_wholesale.invoices.list
Finance approval required for payment application, reversal, or write-off.
Keep payment references auditable and avoid exposing bank details outside finance roles.
food_wholesale.return_claim.create
writeCreate return or claim case linked to order, delivery, product, lot, photo evidence, and finance handling.
food_wholesale.returns_claims.list, food_wholesale.order.get, food_wholesale.delivery_runs.list
Approval required when claim affects invoice, stock, refund, credit note, or replacement delivery.
Evidence uploads and claim reasons must be immutable after approval except through audited amendments.
food_wholesale.recall_case.create
writeCreate a food recall case with locked lot, affected customers, notification list, returns, and substitute arrangements.
food_wholesale.recall_impact.preview, food_wholesale.recall_trace.get
Senior approval required before creating recall case or sending customer-facing actions.
Recall writes must quarantine affected stock and preserve traceability evidence before notifications.
food_wholesale.notification.send
writeSend customer notifications for order confirmation, backorder, price change, delivery, collection, claim, or recall.
food_wholesale.customer.get, food_wholesale.order.get, food_wholesale.recall_trace.get
Approval required for bulk, finance, price-change, claim, or recall notifications.
Respect consent, channel rules, template approval, and suppress duplicate or unapproved recall notices.