Dicker Data

Dicker Data

Local
@wyre-aiTypeScriptUpdated 6 days ago

MCP server for Dicker Data's B2B partner/reseller REST API — pricing, orders, and invoices.

Dicker Data MCP Server

MCP server for Dicker Data's B2B partner/reseller REST API - pricing and stock lookup, order placement and tracking, and invoices, for AI assistants and the WYRE Conduit gateway.

Authentication

Dicker Data does not offer self-serve API signup. Request access from integration.support@dickerdata.com.au or services.sales@dickerdata.com.au to receive a long-lived AccountCode + AccessToken pair.

Every real API call additionally requires a short-lived AccessKey, obtained by exchanging the AccountCode/AccessToken via POST /api/AccessKeyRequest. This server handles that exchange (and its refresh, on expiry) internally - callers only ever need to supply the long-lived credentials.

Configuration

Env varDescription
DICKERDATA_ACCOUNT_CODELong-lived account code issued by Dicker Data.
DICKERDATA_ACCESS_TOKENLong-lived access token issued by Dicker Data.
MCP_TRANSPORTstdio (default) or http.
AUTH_MODEenv (default, reads the vars above) or gateway (credentials arrive per-request via X-DickerData-Account-Code / X-DickerData-Access-Token headers, injected by the Conduit gateway).
CONDUIT_S2S_SECRETWhen set, the HTTP transport requires a valid X-Gateway-S2S header (Conduit sidecar auth) on every /mcp request.
LOG_LEVELdebug | info (default) | warn | error.

Tools

Pricing

  • dickerdata_get_pricing - live pricing + stock-on-hand for one or more product codes.
  • dickerdata_get_price - detailed pricing for a single product code at a given quantity.

Orders

  • dickerdata_create_order - place a purchase order.
  • dickerdata_get_order_details - look up a single order.
  • dickerdata_list_orders - list orders matching account code / order / backorder / PO number.
  • dickerdata_get_order_serials - shipped serial numbers for an order.
  • dickerdata_get_consignment_status - shipping/tracking status for a consignment.

Account

  • dickerdata_list_invoices - invoices within a date range.
  • dickerdata_get_invoice_details - line-item detail for a sales order/invoice.

Scope

This is a v1 / MVP surface covering the core distributor workflow (pricing, ordering, tracking, invoicing). Explicitly out of scope for now: Microsoft CSP/ESD subscription management, Autodesk subscriptions, and annuity-order endpoints - these are much larger, vendor-specific surfaces distinct from core distribution. They can be added as a follow-up if there's demand.

Development

npm install
npm run build
npm test
npm run lint   # tsc --noEmit

Docker

docker build -t dicker-data-mcp .
docker run -p 8080:8080 -e DICKERDATA_ACCOUNT_CODE=... -e DICKERDATA_ACCESS_TOKEN=... dicker-data-mcp