
Dicker Data
io.github.WYRE-AI由 GitHub 帳號 WYRE-AI 發布v1.0.5更新於 Nov 5, 2026
MCP server for Dicker Data's B2B partner/reseller REST API — pricing, orders, and invoices.
概覽
面向 Dicker Data B2B 合作夥伴 API 的 MCP 伺服器,讓助理查詢經銷價格與庫存、下單並追蹤訂單、讀取發票。
- 可以做什麼
- 依一個或多個產品編號查詢價目表價格與現貨庫存
- 建立採購訂單,並列出或檢視訂單及其已出貨序號
- 查詢貨運單的出貨與物流追蹤狀態
- 依日期區間列出發票並檢視發票明細項目
- 適用情境
- 適合已持有 Dicker Data API 憑證的經銷商與合作夥伴,希望讓助理在對話中查詢經銷價格與庫存、下單或追蹤採購訂單、取得發票資料。
- 執行需求
- 以本機程序執行(Docker 映像或從原始碼建置的 Node.js 版本)。需要 Dicker Data 合作夥伴帳戶代碼與長期存取權杖,因無自助註冊須向 Dicker Data 支援申請;透過 DICKERDATA_ACCOUNT_CODE 與 DICKERDATA_ACCESS_TOKEN 提供,或在閘道模式下以每次請求的標頭傳入。HTTP 模式另需 CONDUIT_S2S_SECRET 及簽章的 X-Gateway-S2S 請求。需能連線至 Dicker Data 的 API。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Dicker Data,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
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 [email protected] or [email protected] 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
Copy .env.example and set the variables below.
/health stays unauthenticated, does not require X-Gateway-S2S, and does not read vendor credentials. The stdio transport does not use CONDUIT_S2S_SECRET.
HTTP authentication
With MCP_TRANSPORT=http and CONDUIT_S2S_SECRET set, every /mcp request must include X-Gateway-S2S. The value is t=<unix seconds>,v1=<hex hmac-sha256>. The hex digest is HMAC-SHA256 over the exact ASCII string t=<unix seconds> (the same prefix that appears in the header), keyed with CONDUIT_S2S_SECRET, encoded as 64 lowercase hex characters. The timestamp must be within 300 seconds of the server clock. A missing or invalid header returns 401. The secret is never written to logs or the response.
Known placeholders are rejected at startup and do not count as a configured secret: changeme, change-me, secret, example, placeholder, replace-me, your-secret, your-s2s-secret, s2s-secret, replace-with-a-real-secret. Generate a value with openssl rand -hex 32.
In AUTH_MODE=gateway, /mcp also requires X-DickerData-Account-Code and X-DickerData-Access-Token. Those headers are the only Dicker Data credentials for that request. A request missing either returns 401 and does not fall back to DICKERDATA_ACCOUNT_CODE / DICKERDATA_ACCESS_TOKEN.
Tools
Pricing
dickerdata_get_pricing- PricingRequest price-list (datafeed) pricing + stock-on-hand for one or more product codes. May lag your live account price and stock; dimensions may be null.dickerdata_get_price- PricingRequest price-list (datafeed) pricing + stock for a single product code. Same feed asdickerdata_get_pricing, may lag your live account price and stock; no quantity-based pricing.
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.
Known issues
WYREAI-592: Dicker Data's POST /api/DickerData/GetPrice requires an undocumented HTTP Authorization header, so dickerdata_get_price uses GET /api/PricingRequest instead (a price-list feed that may lag the live account price and stock; no quantity-based pricing). The live endpoint is not used until the Authorization scheme is known. dickerdata_create_order may hit the same "Missing Request Header/Authorization" 401 until Dicker confirms the auth scheme.
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
Docker
The image listens on 0.0.0.0 inside the container (MCP_HTTP_HOST) and defaults to AUTH_MODE=gateway. Publish the port on loopback and pass the S2S secret. In gateway mode the account code and access token arrive on each request as X-DickerData-Account-Code and X-DickerData-Access-Token; they are not read from the environment.
Do not pass a known placeholder such as your-s2s-secret or changeme. Startup treats those as unset and exits. Compose refuses to start when CONDUIT_S2S_SECRET is unset, sets AUTH_MODE=gateway, does not pass DICKERDATA_ACCOUNT_CODE or DICKERDATA_ACCESS_TOKEN, and publishes 127.0.0.1:8080:8080. A project .env is interpolation only — do not add env_file to the gateway service.
Single-tenant HTTP (AUTH_MODE=env) still requires the S2S secret, then uses DICKERDATA_ACCOUNT_CODE and DICKERDATA_ACCESS_TOKEN:
Local HTTP without a secret is development-only. It binds 127.0.0.1 and logs a warning. A non-loopback MCP_HTTP_HOST (including 0.0.0.0) is overridden and that override is logged:
A signed gateway request:
來源:README.md,提交 03c65eb
工具
0版本歷史
4- v1.0.5最新Nov 5, 2026
- v1.0.4Oct 29, 2026
- v1.0.3Oct 14, 2026
- v1.0.2Sep 20, 2026
評分
已滿足適用檢查項的 40%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分
請在儲存庫或註冊中心條目中宣告授權條款。