Condition Monitoring Copilot

March 18, 2026 · View on GitHub

Open-source condition monitoring copilot and predictive maintenance AI agent — bridging industrial edge sensors and LLMs via MCP and Claude Skills.

License Latest release DOI MCP Protocol Python STEVAL-STWINBX1

Ask your machine how it's feeling, in natural language.

Open-source condition monitoring copilot and predictive maintenance AI agent that connects industrial MEMS vibration sensors to Claude through MCP. Transparent Digital Signal Processing (DSP) pipeline, standards-based severity checks (ISO 10816/20816), and conversational fault diagnosis out of the box. Acts as a condition monitoring AI agent and AI assistant for predictive maintenance teams. Currently validated with STWIN.box; the analysis server works with any vibration data source.

Short demo of edge diagnostic workflow

Comparison: diagnostic with MCP + Skills vs without

System overview

Project status

Proof of concept. This project is early-stage. Algorithms are based on established vibration-analysis methods, but full industrial validation is still in progress. Do not use outputs as the sole basis for safety-critical maintenance decisions without independent engineering verification.

Independence disclaimer. This is an independent open-source project, not affiliated with or endorsed by Anthropic or STMicroelectronics. Product names are used for interoperability context only.

Why this exists

Industrial predictive maintenance typically requires fragmented tools and deep specialist knowledge. This project provides a reproducible, extensible way to:

  • acquire vibration data from edge MEMS sensors (currently STWIN.box, extensible to other boards),
  • analyze signals through explicit DSP and fault-detection heuristics,
  • expose those capabilities as MCP tools any LLM client can invoke, and
  • orchestrate end-to-end diagnostic workflows in natural language via Claude Skills.

Quick start

# Clone
git clone https://github.com/LGDiMaggio/claude-stwinbox-diagnostics.git && cd claude-stwinbox-diagnostics

# Install both MCP servers
uv pip install -e mcp-servers/stwinbox-sensor-mcp -e mcp-servers/vibration-analysis-mcp

Then configure your MCP client (Claude Desktop, Claude Code, or compatible runtime) as documented in docs/getting-started.md.

Components

MCP servers

ServerPurposeKey tools
stwinbox-sensor-mcpSensor acquisition via STWIN.box USB-HID or USB-Serialdatalog2_connect, datalog2_start_acquisition, datalog2_stop_acquisition, datalog2_list_sensors, datalog2_configure_sensor, connect_board, acquire_data, load_data_from_file
vibration-analysis-mcpSignal processing and fault detection. Works with any vibration data: CSV, NumPy, WAV, or DATALOG2 folders.load_signal, list_stored_signals, compute_fft_spectrum, compute_envelope_spectrum, check_bearing_fault_peak, check_bearing_faults_direct, diagnose_vibration, assess_vibration_severity

Claude Skills

SkillPurpose
machine-vibration-monitoringSensor acquisition and baseline/threshold workflow
vibration-fault-diagnosisMulti-step fault diagnosis with frequency analysis
operator-diagnostic-reportHuman-readable maintenance report generation

Supported fault types

FaultDetection methodIndicators
Bearing inner race (BPFI)Envelope analysisHarmonics of BPFI
Bearing outer race (BPFO)Envelope analysisHarmonics of BPFO
Bearing rolling element (BSF)Envelope analysisHarmonics of BSF
Bearing cage (FTF)Envelope analysisHarmonics of FTF
UnbalanceFFT1x RPM dominant
MisalignmentFFT1x and 2x RPM
Mechanical loosenessFFTMultiple RPM harmonics

Hardware reference (STWIN.box)

The reference hardware is the STEVAL-STWINBX1, but the analysis server accepts data from any source.

SensorTypeTypical use
IIS3DWB3-axis accelerometerWideband vibration monitoring
ISM330DHCX6-axis IMUMedium-frequency vibration
IMP23ABSUAnalog microphoneAcoustic and ultrasound indicators
STTS22HTemperatureThermal context
ILPS22QSPressureEnvironmental context

Architecture

Two MCP servers expose sensor acquisition and signal analysis as tool calls. Three Claude Skills orchestrate them into monitoring, diagnosis, and reporting workflows. Data can come from live USB acquisition or pre-recorded files in multiple formats.

See docs/architecture.md for diagrams, data flow, and project structure.

Who this is for

  • Developers building MCP-enabled industrial AI workflows.
  • Researchers exploring LLM-assisted diagnostics and human-in-the-loop condition monitoring.
  • System integrators evaluating conversational maintenance interfaces on edge sensor stacks.

Documentation

ResourceLink
Getting starteddocs/getting-started.md
Architecturedocs/architecture.md
Examplesexamples/README.md
ContributingCONTRIBUTING.md
Roadmapdocs/roadmap.md
Security policySECURITY.md
Consistency governancedocs/consistency-governance.md
Third-party attributionNOTICE

Citation

If you use this project in research or technical reports, please cite:

@software{llm_edge_diagnostics,
  author       = {Di Maggio, Luigi Gianpio},
  title        = {LLM Edge Predictive Maintenance: Bridging Industrial IoT Sensors and Large Language Models for Predictive Maintenance},
  year         = {2026},
  url          = {https://github.com/LGDiMaggio/claude-stwinbox-diagnostics},
  doi          = {10.5281/zenodo.18808856},
  license      = {Apache-2.0}
}

License

Licensed under Apache License 2.0. See LICENSE.