home / mcp / cmms mcp server

CMMS MCP Server

Provides interfaces to MES, CMMS, and IoT data via MCP for querying orders, tasks, assets, sensors, and alerts.

Installation
Add the following to your MCP client configuration file.

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.

How to use

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.

How to install

npm install
```

```
npm run build
npm start
npm 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"]
    }
  }
}

Available tools

get_production_orders

Retrieve production orders from the MES integration with optional filters by status or order ID.

get_work_orders

Retrieve work orders from MES with optional filtering by status or production order.

get_equipment

Query equipment status and details from MES.

get_maintenance_tasks

Query maintenance tasks from CMMS with filters like status, priority, taskType, and assetId.

get_assets

Query assets from CMMS with optional status and assetId filters.

get_maintenance_history

Retrieve maintenance history from CMMS with optional assetId and date range.

create_maintenance_task

Create a new maintenance task in CMMS with required fields such as assetId, taskType, priority, scheduledDate, dueDate, assignedTo, and description; supports optional estimatedDuration.

get_sensors

Query sensors from the IoT integration with optional type, status, and equipmentId filters.

get_sensor_readings

Retrieve sensor readings from IoT with optional sensorId, status, and hours filters.

get_devices

Query IoT devices with optional status and type filters.

get_alerts

Fetch IoT alerts with optional severity, acknowledged, and deviceId filters.

acknowledge_alert

Acknowledge an IoT alert by providing alertId and acknowledgedBy.