IQMS / DELMIA Apriso について
IQMS / DELMIA Apriso は、製造 ERP EnterpriseIQ 向けの MCP サーバーです。Oracle 経由の読み取りクエリを提供し、ライセンスが必要な WebAPI モジュールを設定すると書き込みも利用できます。ドメイン別ナビゲーションで、製造、在庫、受注、品質などのツールを整理します。
主な機能
- 01ドメイン別のツールナビゲーション
- 02作業指示と工程ルートの検索
- 03在庫数量の確認とロット追跡
- 04BOM 展開と使用箇所の検索
- 05販売・購買オーダーと生産能力の照会
- 06不適合と是正措置の確認
活用シーン
- 01オープン中の作業指示と工程ルートを確認する
- 02在庫ロットを追跡し品目数量を確認する
- 03BOM 構成と使用箇所を分析する
- 04注文状況、入荷予定、機械の生産能力を確認する
MCP 対応
MCP サーバーとして、IQMS / DELMIAworks の照会ツールとトランザクションツールを MCP クライアントに公開します。Oracle 経由では常に読み取りクエリを利用でき、書き込みにはライセンス対象の WebAPI モジュールと認証情報が必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
docker run -i --rm -e IQMS_ORACLE_CONNECT_STRING -e IQMS_ORACLE_USER -e IQMS_ORACLE_PASSWORD -e MCP_TRANSPORT -e AUTH_MODE -e LOG_LEVEL ghcr.io/wyre-ai/iqms-mcp:v1.2.15IQMS_ORACLE_CONNECT_STRINGOracle connection string for the IQMS database (e.g. host:port/service)IQMS_ORACLE_USERIQMS Oracle DB usernameIQMS_ORACLE_PASSWORDシークレットIQMS Oracle DB passwordMCP_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/iqms-mcp:v1.2.15stdioツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
iqms-mcp
Dassault Systèmes の製造 ERP であるIQMS / DELMIAworks(EnterpriseIQ)向け MCP サーバーです。
ステータス: 読み取りツールは、常に利用可能な Direct Oracle 経由で
@wyre-technology/node-iqmsを使用してクエリを実行します。書き込みツールは、オプションのアドオンである ライセンス済み DELMIAworks WebAPI モジュール経由で処理されます。X-IQMS-WebAPI-Base-URLの認証情報が設定されるまでは、DriverNotConfiguredErrorがスローされます。
これが必要な理由
EnterpriseIQ には公開 REST API がありません。現実的な連携方法は次のとおりです。
- Direct Oracle(すべてのインストール環境で利用可能)— 読み取り専用クエリ
- WebAPI モジュール(有料のライセンス済みアドオン)— トランザクションの書き込み
この MCP サーバーは、両方を単一の意思決定ツリーで案内するツールインターフェースとして提供します。
ツール
初期検出用インターフェース(常に利用可能):
iqms_navigate— ドメイン内のツール一覧を表示iqms_status— 認証情報/接続を確認
ドメイン:workorders、inventory、boms、sales_orders、purchase_orders、
schedule、quality。
読み取りツール(Oracle、常に利用可能):
| ツール | 用途 |
|---|---|
iqms_workorders_list | オープン中/進行中の作業指示 |
iqms_workorders_get | ルーティングを含む作業指示の全詳細 |
iqms_inventory_onhand | 品目/ロケーション/ロット別の手持ち在庫 |
iqms_inventory_lot_trace | ロットの系譜を追跡 |
iqms_boms_explode | BOM 展開 |
iqms_boms_where_used | 使用先の逆引き |
iqms_sales_orders_list | オープン中の SO/出荷状況 |
iqms_purchase_orders_list | オープン中の PO/入荷予定 |
iqms_schedule_capacity | 機械のスケジュールと負荷状況 |
iqms_quality_ncrs | 不適合/CAR/CAPA |
書き込みツール(WebAPI、利用条件あり):
| ツール | 用途 |
|---|---|
iqms_workorders_create | 新しい作業指示を作成 |
iqms_workorders_post_production | 製造数/廃棄数を登録 |
iqms_inventory_adjust | 在庫トランザクション |
iqms_quality_create_ncr | 不適合記録を新規作成 |
実行モード
ローカル(stdio)
IQMS_ORACLE_USER=eiq_ro \
IQMS_ORACLE_PASSWORD=… \
IQMS_ORACLE_CONNECT_STRING=eiq-db.example.com:1521/EIQ \
npx -y github:WYRE-AI/iqms-mcp
ゲートウェイ(HTTP、ステートレス)
CONDUIT_S2S_SECRET が必要です。空の場合、または既知のプレースホルダー(changeme、placeholder、your-s2s-secret、起動時に拒否されるその他のサンプル値)の場合、HTTP サーバーはエラーをログに記録し、ゼロ以外のステータスで終了します。シークレットが出力されることはありません。シークレットを設定せずに起動する場合は、ローカル開発に限り MCP_ALLOW_INSECURE_DEV=1 を設定してください。この場合、プロセスは警告をログに記録し、X-Gateway-S2S を検証せず、127.0.0.1 のみでバインドします。このモードでは、ループバック以外の MCP_HTTP_HOST(0.0.0.0 を含む)は無視され、上書きされたことがログに記録されます。プレースホルダーのシークレットを指定した場合は、引き続き起動が拒否されます。
CONDUIT_S2S_SECRET が設定されている場合は MCP_HTTP_HOST が適用され、未設定の場合は 0.0.0.0 が既定値になります。シークレットがない場合、リスナーは 127.0.0.1 になります。コンテナーイメージでは MCP_HTTP_HOST=0.0.0.0 および AUTH_MODE=gateway が設定されています。
CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" \
MCP_TRANSPORT=http \
MCP_HTTP_PORT=8080 \
AUTH_MODE=gateway \
node dist/http.js
シークレットなしのローカル HTTP は開発専用で、常に 127.0.0.1 にバインドします。
MCP_ALLOW_INSECURE_DEV=1 npm run start:http
X-Gateway-S2S
MCP_TRANSPORT=http かつ実際の CONDUIT_S2S_SECRET を使用する場合、すべての /mcp リクエストに X-Gateway-S2S を含める必要があります。
t=<unix seconds>,v1=<hex hmac-sha256>
署名は、リテラルメッセージ t=<unix seconds>(ヘッダー内にあるものと同じ t= プレフィックス)を CONDUIT_S2S_SECRET をキーとして HMAC-SHA256 で計算し、16 進数でエンコードしたものです。ヘッダーがない場合、または無効な場合は 401 を返します。/health は引き続き認証不要で、ベンダーの認証情報を読み込みません。stdio トランスポートでは CONDUIT_S2S_SECRET を使用しません。
AUTH_MODE=gateway の場合、/mcp では以下の Oracle ヘッダーも必要です。これらのヘッダーだけが、そのリクエストの認証情報の取得元になります。いずれかのヘッダーがない場合、リクエストは 401 を返し、プロセス環境内の IQMS_* へのフォールバックは行いません。
| ヘッダー | 必須 | 備考 |
|---|---|---|
X-Gateway-S2S | CONDUIT_S2S_SECRET が設定されている場合は必須 | t=<unix seconds>,v1=<t=... の hmac-sha256 16 進数> |
X-IQMS-Oracle-User | はい | Oracle DB ユーザー |
X-IQMS-Oracle-Password | はい | Oracle DB パスワード |
X-IQMS-Oracle-Connect-String | はい | Easy Connect または TNS |
X-IQMS-WebAPI-Base-URL | いいえ | 3 つの WebAPI ヘッダーがすべて設定されている場合、書き込みツールを有効にします |
X-IQMS-WebAPI-User | いいえ | |
X-IQMS-WebAPI-Password | いいえ |
シングルテナント HTTP(AUTH_MODE=env)
/mcp では引き続き、有効な X-Gateway-S2S ヘッダーが必要です。ベンダーの認証情報は IQMS_ORACLE_USER、IQMS_ORACLE_PASSWORD、IQMS_ORACLE_CONNECT_STRING から取得します。任意の IQMS_WEBAPI_* 変数を設定すると、書き込みツールが有効になります。このモードは、これらの変数を注入しないゲートウェイ Compose サービスとは別のものです。
Docker
イメージはコンテナ内で 0.0.0.0 をリッスンし、デフォルトで AUTH_MODE=gateway を使用します。ポートをループバックに公開し、S2S シークレットを渡してください。ゲートウェイモードでは、IQMS の認証情報は各リクエストのヘッダーとして届き、環境変数からは読み込まれません。
docker build -t iqms-mcp .
docker run \
-e CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" \
-p 127.0.0.1:8080:8080 \
iqms-mcp
Compose は CONDUIT_S2S_SECRET が未設定の場合に起動を拒否し、AUTH_MODE=gateway を設定して 127.0.0.1:8080:8080 を公開します。また、静的な IQMS_* 認証情報は注入しません。
CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" docker compose up
ライセンス
Apache-2.0
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。