制造维护协议服务器

一款集成MES(制造执行系统)、CMMS(计算机化维护管理系统)和物联网系统的模型上下文协议服务器,提供与制造、维护和物联网数据交互的工具和资源。

  • by AnuwatThisuka
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 AnuwatThisuka/cmms-mcp-server

使用说明

CMMS MCP服务器

与MES(制造执行系统)、CMMS(计算机化维护管理系统)和物联网系统集成的模型上下文协议(MCP)服务器。该服务器提供与制造、维护和物联网数据交互的工具和资源。

特性

MES集成

  • 生产订单:按状态或ID查询生产订单
  • 工作指令:获取按状态或生产订单筛选的工单
  • 设备:监控设备状态和详细信息

CMMS集成

  • 维护任务:查询、筛选和创建维护任务
  • 资产:获取资产信息和状态
  • 维护历史:访问历史维护记录

物联网集成

  • 传感器:查询传感器信息和配置
  • 传感器读数:获取实时和历史传感器数据
  • 设备:监控物联网设备状态
  • 警报:查看和确认IoT警报

安装

  1. 安装依赖项:
npm install
  1. 构建项目:
npm run build

用法

运行服务器

服务器在stdio上运行,可以与MCP兼容的客户端一起使用:

npm start

对于自动重新加载的开发:

npm run dev

MCP客户端配置

将此服务器添加到您的MCP客户端配置中(例如,在Claude Desktop的 claude_desktop_config.json):

{
  "mcpServers": {
    "cmms-mcp-server": {
      "command": "node",
      "args": ["/path/to/cmms-mcp-server/dist/index.js"]
    }
  }
}

可用工具

MES工具

get_production_orders

从MES系统获取生产订单。

参数:

  • status (可选):按状态筛选(planned, in-progress, completed, cancelled)
  • orderId (可选):按ID获取特定生产订单

例子:

{
  "status": "in-progress"
}

get_work_orders

从MES系统获取工单。

参数:

  • status (可选):按状态筛选(pending, in-progress, completed, on-hold)
  • productionOrderId (可选):按生产订单ID筛选

get_equipment

从MES系统获取设备状态。

参数:

  • status (可选):按状态筛选(running, idle, maintenance, error)
  • equipmentId (可选):按ID获取特定设备

CMMS工具

get_maintenance_tasks

从CMMS系统获取维护任务。

参数:

  • status (可选):按状态筛选(scheduled, in-progress, completed, cancelled, overdue)
  • priority (可选):按优先级筛选(low, medium, high, critical)
  • taskType (可选):按类型筛选(preventive, corrective, inspection, calibration)
  • assetId (可选):按资产ID筛选

get_assets

从CMMS系统获取资产。

参数:

  • status (可选):按状态筛选(operational, maintenance, out-of-service, retired)
  • assetId (可选):按ID获取特定资产

get_maintenance_history

从CMMS系统获取维护历史记录。

参数:

  • assetId (可选):按资产ID筛选
  • startDate (可选):历史记录的开始日期(ISO格式)
  • endDate (可选):历史记录的结束日期(ISO格式)

create_maintenance_task

在CMMS系统中创建新的维护任务。

所需参数:

  • assetId:维护任务的资产ID
  • taskType:维护任务类型(preventive, corrective, inspection, calibration)
  • priority:任务的优先级(low, medium, high, critical)
  • scheduledDate:计划日期(ISO格式)
  • dueDate:到期日(ISO格式)
  • assignedTo:分配给任务的技术人员ID
  • description:维护任务说明

可选参数:

  • estimatedDuration:估计持续时间(分钟)(默认值:240)

例子:

{
  "assetId": "asset-001",
  "taskType": "preventive",
  "priority": "high",
  "scheduledDate": "2024-02-15T08:00:00Z",
  "dueDate": "2024-02-15T17:00:00Z",
  "assignedTo": "tech-001",
  "description": "Monthly preventive maintenance",
  "estimatedDuration": 480
}

物联网工具

get_sensors

从物联网系统获取传感器。

参数:

  • type (可选):按类型筛选(temperature, pressure, vibration, humidity, flow, level)
  • status (可选):按状态筛选(active, inactive, error)
  • equipmentId (可选):按设备ID筛选

get_sensor_readings

从物联网系统获取传感器读数。

参数:

  • sensorId (可选):按传感器ID过滤
  • status (可选):按读取状态过滤(normal, warning, critical)
  • hours (可选):获取最近N小时的读数

get_devices

获取物联网设备。

参数:

  • status (可选):按状态筛选(online, offline, error)
  • type (可选):按设备类型筛选

get_alerts

获取IoT警报。

参数:

  • severity (可选):按严重程度筛选(info, warning, critical)
  • acknowledged (可选):按确认状态过滤(布尔值)
  • deviceId (可选):按设备ID筛选

acknowledge_alert

确认IoT警报。

所需参数:

  • alertId:要确认的警报ID
  • acknowledgedBy:确认警报的用户ID

可用资源

服务器提供以下资源:

  • mes://production-orders -MES系统的所有生产订单
  • mes://equipment -MES系统的所有设备
  • cmms://maintenance-tasks -CMMS系统的所有维护任务
  • cmms://assets -CMMS系统的所有资产
  • iot://sensors -物联网系统的所有传感器
  • iot://alerts -来自物联网系统的所有活动(未确认)警报

模拟数据

此服务器当前使用模拟数据进行演示。模拟数据包括:

  • 制造执行系统:3个生产订单,3个工作订单,4个设备项目
  • CMMS 系统:4项维护任务,4项资产,2项维护历史记录
  • 物联网:5个传感器,6个传感器读数,4个设备,4个警报

要连接到真实系统,请替换中的模拟数据导入 src/index.ts 与实际的API客户端。

项目结构

cmms-mcp-server/
├── src/
│   ├── index.ts                 # Main server implementation
│   └── mock-data/
│       ├── mes-data.ts          # MES mock data
│       ├── cmms-data.ts         # CMMS mock data
│       └── iot-data.ts          # IoT mock data
├── dist/                        # Compiled JavaScript (generated)
├── package.json
├── tsconfig.json
└── README.md

测试

看 测试.md 详细的测试说明。

快速测试:

npm test

发展

建筑

npm run build

发展模式

npm run dev

这将在监视模式下运行服务器,并使用自动重新加载 tsx.

许可证

麻省理工学院