mcpField
D
Dicker Data

Dicker Data

ローカル
github.comビジネス・マーケティング03 日前に更新

Dicker Data について

Dicker Data は、AI アシスタントや WYRE Conduit ゲートウェイから販売代理店の B2B API にアクセスするための MCP サーバーです。価格・在庫確認から注文、配送追跡、請求書処理まで、販売代理店の主要業務を扱います。

主な機能

  1. 01価格と在庫のリアルタイム照会
  2. 02数量に応じた製品価格の照会
  3. 03注文の作成と追跡
  4. 04配送状況とシリアル番号の確認
  5. 05請求書一覧と明細の取得

活用シーン

  1. 01製品の価格と在庫の確認
  2. 02販売代理店の注文作成と確認
  3. 03配送と出荷済みシリアル番号の追跡
  4. 04期間を指定した請求書の取得

MCP 対応

Dicker Data の価格、注文、配送、請求書の操作を MCP クライアント向けのツールとして公開します。stdio と HTTP に対応し、ゲートウェイまたは環境変数による認証を利用できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"wyre-ai-dicker-data": {
"command": "docker",
"args": [
"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.4"
],
"env": {
"DICKERDATA_ACCOUNT_CODE": "<DICKERDATA_ACCOUNT_CODE>",
"DICKERDATA_ACCESS_TOKEN": "<DICKERDATA_ACCESS_TOKEN>",
"MCP_TRANSPORT": "<MCP_TRANSPORT>",
"AUTH_MODE": "<AUTH_MODE>",
"LOG_LEVEL": "<LOG_LEVEL>"
}
}
}
}
起動コマンド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.4
設定が必要な環境変数
DICKERDATA_ACCOUNT_CODEDicker Data partner account code
DICKERDATA_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 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocighcr.io/wyre-ai/dicker-data-mcp:v1.0.4

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

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_CODEstdio と AUTH_MODE=env で必要Dicker Data から発行された長期間有効なアカウントコードです。ゲートウェイモードでは読み込まれません。
DICKERDATA_ACCESS_TOKENstdio と 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_SECRETHTTP では必須サービス間認証用のシークレットです。空の場合、または既知のプレースホルダーの場合、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"}'

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。