Provides interfaces to MES, CMMS, and IoT data via MCP for querying orders, tasks, assets, sensors, and alerts.
Configuration
View docs{
"mcpServers": {
"anuwatthisuka-cmms-mcp-server": {
"command": "node",
"args": [
"/path/to/cmms-mcp-server/dist/index.js"
]
}
}
}You can run and integrate a CMMS MCP Server that bridges MES, CMMS, and IoT data, providing practical access to production orders, maintenance tasks, sensor readings, and device alerts from a single MCP endpoint. This server is designed to be easy to deploy, test with mock data, and then connect to real systems as you replace mock inputs with actual API clients.
You interact with the server through an MCP client to query MES, CMMS, and IoT data. Use the available tools to fetch production orders, work orders, equipment status, maintenance tasks, assets, maintenance history, and IoT information such as sensors, readings, devices, and alerts. You can also acknowledge IoT alerts as part of incident response. Start with the client you use for MCP and point it to the local or remote MCP endpoint exposed by this server.
npm install
```
```
npm run buildnpm startnpm run dev// Example MCP client configuration snippet to connect to the CMMS MCP Server
{
"mcpServers": {
"cmms_mcp": {
"command": "node",
"args": ["/path/to/cmms-mcp-server/dist/index.js"]
}
}
}Retrieve production orders from the MES integration with optional filters by status or order ID.
Retrieve work orders from MES with optional filtering by status or production order.
Query equipment status and details from MES.
Query maintenance tasks from CMMS with filters like status, priority, taskType, and assetId.
Query assets from CMMS with optional status and assetId filters.
Retrieve maintenance history from CMMS with optional assetId and date range.
Create a new maintenance task in CMMS with required fields such as assetId, taskType, priority, scheduledDate, dueDate, assignedTo, and description; supports optional estimatedDuration.
Query sensors from the IoT integration with optional type, status, and equipmentId filters.
Retrieve sensor readings from IoT with optional sensorId, status, and hours filters.
Query IoT devices with optional status and type filters.
Fetch IoT alerts with optional severity, acknowledged, and deviceId filters.
Acknowledge an IoT alert by providing alertId and acknowledgedBy.