Dicker Data について
Dicker Data は、AI アシスタントや WYRE Conduit ゲートウェイから販売代理店の B2B API にアクセスするための MCP サーバーです。価格・在庫確認から注文、配送追跡、請求書処理まで、販売代理店の主要業務を扱います。
主な機能
- 01価格と在庫のリアルタイム照会
- 02数量に応じた製品価格の照会
- 03注文の作成と追跡
- 04配送状況とシリアル番号の確認
- 05請求書一覧と明細の取得
活用シーン
- 01製品の価格と在庫の確認
- 02販売代理店の注文作成と確認
- 03配送と出荷済みシリアル番号の追跡
- 04期間を指定した請求書の取得
MCP 対応
Dicker Data の価格、注文、配送、請求書の操作を MCP クライアント向けのツールとして公開します。stdio と HTTP に対応し、ゲートウェイまたは環境変数による認証を利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
docker run -i --rm -e DICKERDATA_ACCOUNT_CODE -e DICKERDATA_ACCESS_TOKEN -e MCP_TRANSPORT -e AUTH_MODE -e LOG_LEVEL ghcr.io/wyre-ai/dicker-data-mcp:v1.0.4DICKERDATA_ACCOUNT_CODEDicker Data partner account codeDICKERDATA_ACCESS_TOKENシークレットDicker Data long-lived API access token (obtained from Dicker Data integration support)MCP_TRANSPORTTransport mode for the server. Set to 'stdio' for local CLI use; the image defaults to 'http' for gateway hosting.AUTH_MODEシークレットCredential source: 'env' reads vars locally, 'gateway' expects header injection from the WYRE MCP Gateway.LOG_LEVELLog verbosity: debug, info, warn, errorローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ghcr.io/wyre-ai/dicker-data-mcp:v1.0.4stdioツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Dicker Data MCP サーバー
Dicker Data の B2B パートナー/リセラー向け REST API 用 MCP サーバーです。AI アシスタントや WYRE Conduit ゲートウェイ向けに、価格と在庫の照会、注文の発注と追跡、請求書の確認を行えます。
認証
Dicker Data では、セルフサービスでの API 登録は提供していません。長期間有効な AccountCode と AccessToken の組み合わせを受け取るには、[email protected] または [email protected] にアクセスを申請してください。
実際の API 呼び出しには、さらに短期間有効な AccessKey が必要です。これは、AccountCode と AccessToken を POST /api/AccessKeyRequest 経由で交換して取得します。このサーバーは、交換と有効期限切れ時の更新を内部で処理するため、呼び出し元が指定する必要があるのは、長期間有効な認証情報だけです。
設定
.env.example をコピーし、以下の変数を設定してください。
| 変数 | 必須 | 説明 |
|---|---|---|
DICKERDATA_ACCOUNT_CODE | stdio と AUTH_MODE=env で必要 | Dicker Data から発行された長期間有効なアカウントコードです。ゲートウェイモードでは読み込まれません。 |
DICKERDATA_ACCESS_TOKEN | stdio と AUTH_MODE=env で必要 | Dicker Data から発行された長期間有効なアクセストークンです。ゲートウェイモードでは読み込まれません。 |
MCP_TRANSPORT | いいえ | stdio(デフォルト)または http です。 |
AUTH_MODE | いいえ | gateway(Docker イメージと Compose のデフォルト)または env です。ゲートウェイモードでは、各 /mcp リクエストに X-DickerData-Account-Code と X-DickerData-Access-Token が必要です。また、DICKERDATA_* へのフォールバックは行いません。env モードでは、S2S 認証が成功した後にこれらの変数を使用します。 |
CONDUIT_S2S_SECRET | HTTP では必須 | サービス間認証用のシークレットです。空の場合、または既知のプレースホルダーの場合、HTTP サーバーはエラーをログに記録し、ゼロ以外の終了コードで終了します。Compose は、この値がないと起動しません。実際の値をコミットしないでください。 |
MCP_ALLOW_INSECURE_DEV | いいえ | CONDUIT_S2S_SECRET なしで HTTP を起動する場合に限り、ローカル開発用として正確に 1 を設定します。プロセスは警告をログに記録し、X-Gateway-S2S を必須にせず、127.0.0.1 のみにバインドします。ループバック以外の MCP_HTTP_HOST は上書きされ、その旨がログに記録されます。プレースホルダーのシークレットでは起動できません。 |
MCP_HTTP_HOST | いいえ | シークレットを設定した場合のバインドアドレスです。未設定の場合は 0.0.0.0 です。コンテナーイメージでは 0.0.0.0 が設定されます。開発用の安全でないモードが有効な場合は無視され、127.0.0.1 が使用されます。 |
MCP_HTTP_PORT | いいえ | HTTP ポートです。デフォルトは 8080 です。 |
LOG_LEVEL | いいえ | debug、info(デフォルト)、warn、error のいずれかです。 |
/health は認証不要のままで、X-Gateway-S2S を必要とせず、ベンダーの認証情報も読み込みません。stdio トランスポートでは CONDUIT_S2S_SECRET を使用しません。
HTTP 認証
MCP_TRANSPORT=http で CONDUIT_S2S_SECRET が設定されている場合、すべての /mcp リクエストに X-Gateway-S2S を含める必要があります。値は t=<unix seconds>,v1=<hex hmac-sha256> です。16 進数のダイジェストは、CONDUIT_S2S_SECRET を鍵として、正確な ASCII 文字列 t=<unix seconds>(ヘッダーに含まれるものと同じプレフィックス)に対する HMAC-SHA256 を計算し、小文字の 16 進数 64 文字でエンコードしたものです。タイムスタンプはサーバーの時計との差が 300 秒以内でなければなりません。ヘッダーがない場合、または無効な場合は 401 を返します。シークレットがログやレスポンスに書き込まれることはありません。
X-Gateway-S2S: t=1710000000,v1=<64 lowercase hex chars>
既知のプレースホルダーは起動時に拒否され、設定済みのシークレットとして扱われません。changeme、change-me、secret、example、placeholder、replace-me、your-secret、your-s2s-secret、s2s-secret、replace-with-a-real-secret が該当します。openssl rand -hex 32 を使って値を生成してください。
AUTH_MODE=gateway の場合、/mcp には X-DickerData-Account-Code と X-DickerData-Access-Token も必要です。これらのヘッダーが、そのリクエストで使用する唯一の Dicker Data 認証情報です。いずれかのヘッダーがないリクエストは 401 を返し、DICKERDATA_ACCOUNT_CODE/DICKERDATA_ACCESS_TOKEN へのフォールバックは行いません。
ツール
価格
dickerdata_get_pricing- 1 つ以上の商品コードについて、リアルタイムの価格と現在庫を取得します。dickerdata_get_price- 指定数量における単一の商品コードの詳細な価格を取得します。
注文
dickerdata_create_order- 発注書を作成します。dickerdata_get_order_details- 個別の注文を検索します。dickerdata_list_orders- アカウントコード/注文/バックオーダー/PO 番号に一致する注文を一覧表示します。dickerdata_get_order_serials- 注文の出荷済みシリアル番号を取得します。dickerdata_get_consignment_status- 委託貨物の配送/追跡状況を取得します。
アカウント
dickerdata_list_invoices- 指定した期間内の請求書を一覧表示します。dickerdata_get_invoice_details- 販売注文/請求書の明細を取得します。
対象範囲
これは、販売代理店の主要なワークフロー(価格設定、注文、追跡、請求)を対象とする v1/MVP の機能範囲です。現時点では、Microsoft CSP/ESD サブスクリプション管理、Autodesk サブスクリプション、年金注文用のエンドポイントは明示的に対象外です。これらは中核となる販売代理店業務とは異なる、ベンダー固有の大規模な機能領域です。需要があれば、後続の対応として追加できます。
開発
npm install
npm run build
npm test
npm run lint # tsc --noEmit
Docker
イメージはコンテナー内の 0.0.0.0(MCP_HTTP_HOST)でリッスンし、デフォルトで AUTH_MODE=gateway を使用します。ポートをループバックインターフェースに公開し、S2S シークレットを渡してください。ゲートウェイモードでは、アカウントコードとアクセストークンは各リクエストの X-DickerData-Account-Code および X-DickerData-Access-Token として渡され、環境変数からは読み込まれません。
docker build -t dicker-data-mcp .
docker run \
-e CONDUIT_S2S_SECRET="$(openssl rand -hex 32)" \
-p 127.0.0.1:8080:8080 \
dicker-data-mcp
your-s2s-secret や changeme など、既知のプレースホルダーは渡さないでください。起動時に未設定として扱われ、終了します。Compose は CONDUIT_S2S_SECRET が未設定の場合に起動を拒否し、AUTH_MODE=gateway を設定します。また、DICKERDATA_ACCOUNT_CODE や DICKERDATA_ACCESS_TOKEN は渡さず、127.0.0.1:8080:8080 を公開します。プロジェクトの .env は補間にのみ使用します。ゲートウェイサービスに env_file を追加しないでください。
CONDUIT_S2S_SECRET="$(openssl rand -hex 32)" docker compose up
シングルテナント HTTP(AUTH_MODE=env)でも S2S シークレットが必要です。そのうえで、DICKERDATA_ACCOUNT_CODE と DICKERDATA_ACCESS_TOKEN を使用します。
docker run \
-e CONDUIT_S2S_SECRET="$(openssl rand -hex 32)" \
-e AUTH_MODE=env \
-e DICKERDATA_ACCOUNT_CODE=your-account-code \
-e DICKERDATA_ACCESS_TOKEN=your-access-token \
-e MCP_HTTP_HOST=0.0.0.0 \
-p 127.0.0.1:8080:8080 \
dicker-data-mcp
シークレットを使用しないローカル HTTP は、開発専用です。127.0.0.1 にバインドし、警告をログに記録します。ループバック以外の MCP_HTTP_HOST(0.0.0.0 を含む)が指定された場合は上書きされ、その上書きがログに記録されます。
MCP_ALLOW_INSECURE_DEV=1 npm run start:http
署名付きゲートウェイリクエスト:
curl -sS http://127.0.0.1:8080/mcp \
-H 'content-type: application/json' \
-H 'accept: application/json, text/event-stream' \
-H "x-gateway-s2s: $X_GATEWAY_S2S" \
-H "x-dickerdata-account-code: $DICKERDATA_ACCOUNT_CODE" \
-H "x-dickerdata-access-token: $DICKERDATA_ACCESS_TOKEN" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。