Skip to main content
Glama
jdbruh18

IndustrialOps Industry 4.0 PLC Monitor MCP Server

by jdbruh18
README.md
# ๐Ÿญ IndustrialOps Industry 4.0 PLC Monitor MCP Server

[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)
[![Protocol](https://img.shields.io/badge/MCP-1.0.0-green.svg)](https://modelcontextprotocol.io)
[![Domain](https://img.shields.io/badge/Domain-Industry%204.0%20%26%20IoT-orange.svg)](https://www.siemens.com)

A Model Context Protocol (MCP) server that connects LLMs to factory PLC sensors, machinery health metrics, and predictive maintenance diagnostics.

---

## ๐Ÿงฐ Available MCP Tools

This server exposes **3 tools** over standard I/O (stdio) transport:

### 1. `read_plc_registers`
Fetches current register readings (RPM, PSI, Temperature, Vibration, Status) for a designated PLC.
* **Parameters**:
  - `plc_id` *(string, required)*: PLC identifier (e.g., `"PLC_ASSEMBLY_01"`, `"PLC_PACKAGING_02"`).

### 2. `get_predictive_maintenance_report`
Analyzes machinery vibration telemetry and temperatures to estimate Remaining Useful Life (RUL) hours and schedule preventative inspections.

### 3. `get_energy_consumption`
Exposes active power draw (kW) profiles and efficiency ratings for factory equipment load planning.

---

## ๐Ÿ“ฆ Installation & Quickstart

```bash
# 1. Setup environment
cd industrialops-mcp-server
python -m venv venv
.\venv\Scripts\activate

# 2. Install package
pip install -e .
```

### Claude Desktop Config
```json
{
  "mcpServers": {
    "industrialops": {
      "command": "D:/Projects/industrialops-mcp-server/venv/Scripts/python.exe",
      "args": [
        "-m",
        "industrialops_mcp.server"
      ]
    }
  }
}
```

---

## ๐Ÿงช Testing

```bash
python -m pytest -o pythonpath=src
```

TDQS

A3.8/5.0

Scored across 3 tools

Disambiguation5/5

Each tool targets a distinct aspect of PLC monitoring: real-time registers, predictive maintenance, and energy consumption. No overlap or confusion possible.

Naming Consistency5/5

All tool names follow the consistent 'verb_noun' pattern using snake_case ('read_plc_registers', 'get_predictive_maintenance_report', 'get_energy_consumption').

Tool Count5/5

With 3 tools, the server is focused and each tool earns its place. The count is within the 3-15 well-scoped range.

Completeness5/5

For a monitoring-only server, the tools cover real-time data, predictive maintenance, and energy metrics. No obvious gaps for the stated purpose.

Maintenance

ActivityStale
ResponsivenessNo issues