CMMS MCP服务器
与MES(制造执行系统)、CMMS(计算机化维护管理系统)和物联网系统集成的模型上下文协议(MCP)服务器。该服务器提供与制造、维护和物联网数据交互的工具和资源。
特性
MES集成
- 生产订单:按状态或ID查询生产订单
- 工作指令:获取按状态或生产订单筛选的工单
- 设备:监控设备状态和详细信息
CMMS集成
- 维护任务:查询、筛选和创建维护任务
- 资产:获取资产信息和状态
- 维护历史:访问历史维护记录
物联网集成
- 传感器:查询传感器信息和配置
- 传感器读数:获取实时和历史传感器数据
- 设备:监控物联网设备状态
- 警报:查看和确认IoT警报
安装
- 安装依赖项:
npm install- 构建项目:
npm run build用法
运行服务器
服务器在stdio上运行,可以与MCP兼容的客户端一起使用:
npm start对于自动重新加载的开发:
npm run devMCP客户端配置
将此服务器添加到您的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:维护任务的资产IDtaskType:维护任务类型(preventive,corrective,inspection,calibration)priority:任务的优先级(low,medium,high,critical)scheduledDate:计划日期(ISO格式)dueDate:到期日(ISO格式)assignedTo:分配给任务的技术人员IDdescription:维护任务说明
可选参数:
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:要确认的警报IDacknowledgedBy:确认警报的用户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.
许可证
麻省理工学院
