mcpField
I
IQMS / DELMIA Apriso

IQMS / DELMIA Apriso

本地服务
github.com商业与营销02 周前更新

关于 IQMS / DELMIA Apriso

iqms-mcp 将 MCP 客户端连接到 IQMS / DELMIAworks 制造 ERP 数据,面向制造运营团队。读取通过 Oracle 查询;事务写入则需可选的付费 WebAPI 模块及凭据。

主要功能

  1. 01查询工单、销售订单和采购订单
  2. 02查询库存现有量和批次谱系
  3. 03展开 BOM 并反向查询使用位置
  4. 04查询机器排程和产能
  5. 05受限的工单、库存和质量写入

适用场景

  1. 01检查未结工单和订单状态
  2. 02追踪批次谱系
  3. 03查看机器产能或质量记录

MCP 相关

它将 IQMS / DELMIAworks 的读写操作作为 MCP 工具提供,并通过决策树按领域组织。读取使用 Direct Oracle 路径;写入需要获得许可的 WebAPI 模块。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"wyre-technology-iqms": {
"command": "docker",
"args": [
"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-technology/iqms-mcp:v1.2.12"
],
"env": {
"IQMS_ORACLE_CONNECT_STRING": "<IQMS_ORACLE_CONNECT_STRING>",
"IQMS_ORACLE_USER": "<IQMS_ORACLE_USER>",
"IQMS_ORACLE_PASSWORD": "<IQMS_ORACLE_PASSWORD>",
"MCP_TRANSPORT": "<MCP_TRANSPORT>",
"AUTH_MODE": "<AUTH_MODE>",
"LOG_LEVEL": "<LOG_LEVEL>"
}
}
}
}
启动命令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-technology/iqms-mcp:v1.2.12
需要配置的环境变量
IQMS_ORACLE_CONNECT_STRINGOracle connection string for the IQMS database (e.g. host:port/service)
IQMS_ORACLE_USERIQMS Oracle DB username
IQMS_ORACLE_PASSWORD密钥IQMS Oracle DB password
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-technology/iqms-mcp:v1.2.12

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

iqms-mcp

面向 Dassault Systèmes 制造 ERP 系统 IQMS / DELMIAworks(EnterpriseIQ)的 MCP 服务。

**状态:**读取工具通过 @wyre-technology/node-iqms 使用 Direct Oracle 路径执行查询(始终可用)。写入工具通过获得许可的 DELMIAworks WebAPI 模块路由——这是可选附加组件;在提供 X-IQMS-WebAPI-Base-URL 凭据之前,会抛出 DriverNotConfiguredError。

为何创建此项目

EnterpriseIQ 没有公开的 REST API。可行的集成路径有:

  1. Direct Oracle(所有安装都通用)——只读查询
  2. 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未完成销售订单/发货状态
iqms_purchase_orders_list未完成采购订单/预期收货
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,并以十六进制编码。缺少标头或标头无效时会返回 401。/health 无需身份验证,也不会读取供应商凭据。stdio 传输不使用 CONDUIT_S2S_SECRET。

在 AUTH_MODE=gateway 模式下,/mcp 还要求提供下方的 Oracle 标头。这些标头是该请求唯一的凭据来源。缺少其中任意一个标头时会返回 401,且不会回退到进程环境中的 IQMS_* 变量。

标头必填说明
X-Gateway-S2S是,当设置了 CONDUIT_S2S_SECRET 时t=<unix seconds>,v1=<hmac-sha256 hex of t=...>
X-IQMS-Oracle-User是Oracle 数据库用户
X-IQMS-Oracle-Password是Oracle 数据库密码
X-IQMS-Oracle-Connect-String是Easy Connect 或 TNS
X-IQMS-WebAPI-Base-URL否提供全部三个 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_* 变量可启用写入工具。此模式与 gateway Compose 服务相互独立,后者不会注入这些变量。

Docker

该镜像在容器内监听 0.0.0.0,默认使用 AUTH_MODE=gateway。请将端口发布到 loopback,并传入 S2S 密钥。在 gateway 模式下,IQMS 凭据会作为标头随每个请求传入;不会从环境中读取这些凭据。

docker build -t iqms-mcp .
docker run \
  -e CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" \
  -p 127.0.0.1:8080:8080 \
  iqms-mcp

未设置 CONDUIT_S2S_SECRET 时,Compose 会拒绝启动;它会设置 AUTH_MODE=gateway,发布 127.0.0.1:8080:8080,且不会注入静态 IQMS_* 凭据:

CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" docker compose up

许可证

Apache-2.0

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。