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

read

Read 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

read

List 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

read

Read 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

read

List 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

read

List 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

read

Read 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

read

List 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

read

List 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

read

Read 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

read

List 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

read

List 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

read

Read 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

read

List 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

read

Read 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

read

List 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

read

List 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

read

List 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

read

List 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

read

List 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

read

List 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

read

Trace 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

read

Read 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

read

List 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

preview

Preview 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

preview

Preview 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

preview

Preview 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

preview

Preview 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

preview

Preview 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

preview

Preview 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

status

Check approval, execution, failure, rollback, or partial-completion state for food wholesale write actions.

action_request_id

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

write

Create 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

write

Create 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

write

Create 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

write

Create 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

write

Create 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

write

Update 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

write

Confirm 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

write

Create 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

write

Apply 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

write

Create 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

write

Create 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

write

Dispatch 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

write

Complete 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

write

Create 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

write

Record 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

write

Create 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

write

Create 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

write

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