Predictive Maintenance MCP Server

平台与服务

by lgdimaggio

面向工业场景的 predictive maintenance 工具,支持 vibration analysis、bearing faults 诊断,并参考 ISO 20816-3 标准。

什么是 Predictive Maintenance MCP Server

面向工业场景的 predictive maintenance 工具,支持 vibration analysis、bearing faults 诊断,并参考 ISO 20816-3 标准。

README

Predictive Maintenance MCP Server

<!-- mcp-name: io.github.LGDiMaggio/predictive-maintenance-mcp -->

Python 3.11+ DOI Tests codecov License: MIT

Give any AI assistant the ability to analyze vibration data, detect machinery faults, and generate professional diagnostic reports — through natural conversation.

An open-source MCP server and predictive maintenance AI agent that turns LLMs into condition monitoring assistants. Engineers describe what they need in plain language; the AI calls the right analysis tools and delivers results — bearing fault detection, risk assessment, anomaly detection, and remaining useful life estimation. Also available as a Claude Code plugin with 8 diagnostic skills. It's designed to support and accelerate expert decision-making.


Who is this for?

  • Reliability & maintenance engineers who want fast vibration diagnostics in plain language — no coding required. It augments and accelerates expert judgment; it doesn't replace it.
  • Developers & industrial-AI practitioners who want to expose predictive-maintenance workflows as MCP tools and build on top of them.
  • Researchers & students working on bearing fault diagnosis, condition monitoring, or MCP / agent tooling.

Quick Start

Get running in ~3 minutes. On Windows, one script wires everything into Claude Desktop — it installs the venv, pre-compiles dependencies, and writes claude_desktop_config.json for you (OneDrive / cloud-sync paths included):

powershell
git clone https://github.com/LGDiMaggio/predictive-maintenance-mcp.git
cd predictive-maintenance-mcp
.\setup_claude.ps1

Restart Claude Desktop, then try:

"Load real_train/OuterRaceFault_1.csv and check if the bearing is healthy."

<details> <summary><b>Manual config (macOS / Linux / other MCP clients)</b></summary>

Install the package:

bash
pip install predictive-maintenance-mcp

Find the full path to uvx (which uvx on macOS/Linux, where uvx on Windows), then add to your client config — ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

json
{
  "mcpServers": {
    "predictive-maintenance": {
      "command": "/full/path/to/uvx",
      "args": ["predictive-maintenance-mcp"],
      "env": { "UV_LINK_MODE": "copy" }
    }
  }
}

Why the full path? Claude Desktop launches servers with a minimal PATH that often omits user-local tool directories (e.g. ~/.local/bin). Using the full path to uvx avoids a silent "command not found" failure. On Windows the typical path is C:\Users\<you>\.local\bin\uvx.exe.

</details>

More options: install from source · VS Code setup · Docker / HTTPS deployment · use with local LLMs (Ollama)


See It in Action

<p align="center"> <img src="assets/claude_gif.gif" alt="Predictive Maintenance MCP — diagnostic workflow in Claude Desktop" width="720"> </p> <p align="center"><em>Full diagnostic workflow: load signal → spectral analysis → fault detection → severity assessment → report generation</em></p>

What Can It Do?

Upload a vibration signal → get a professional diagnosis through conversation.

You sayThe AI does
"Is this bearing healthy?"Loads the signal, runs spectral analysis, checks for fault patterns, classifies severity
"Generate a full diagnostic report"Produces an interactive HTML report with charts, fault markers, and severity assessment
"Extract specs from test_pump_manual.pdf and diagnose the signal"Reads the equipment manual, looks up the bearing model, calculates expected fault frequencies, matches them against the signal
"Train an anomaly detector on my healthy baselines, then flag anomalies"Trains a machine learning model on normal data, scores new signals, highlights outliers

The AI doesn't guess — it calls 36 specialized MCP endpoints (33 tools + 3 prompts) running locally on your machine. Every signal is referenced by a single signal_id handle from load to report. Your data never leaves your infrastructure.

<details> <summary><b>See the full endpoint list (36 MCP endpoints: 33 tools, 3 prompts)</b></summary>

Signal Lifecycle (5)

ToolDescription
load_signalLoad vibration file(s) (CSV, WAV, MAT, NPY, Parquet) with declared sampling rate and unit — returns the signal_id handle
list_signalsBrowse signal files on disk (scope="disk") or loaded signals in memory (scope="memory")
get_signal_infoSignal metadata (sampling rate, duration, declared unit, source metadata)
generate_test_signalCreate a synthetic signal, auto-registered and immediately analyzable
clear_signalsRemove one signal or the whole in-memory cache

Spectral & Statistical Analysis (6)

ToolDescription
analyze_fftFrequency spectrum with automatic peak detection
analyze_envelopeEnvelope analysis for bearing fault detection (default band 500–5000 Hz)
analyze_statisticsTime-domain features (RMS, kurtosis, crest factor)
extract_features_from_signalSegmented statistical feature extraction
compute_power_spectral_densityPower spectral density (Welch method)
compute_spectrogram_stftTime-frequency spectrogram

Diagnostics & Health Assessment (7)

ToolDescription
assess_severityUnified ISO 20816-3 severity assessment (signal or direct RMS reading, custom thresholds) — requires a declared signal unit, never guesses
check_bearing_faultsUnified fault-frequency matching (catalog bearing, explicit frequencies, or explicit geometry)
diagnose_vibrationIntegrated evidence-based diagnosis pipeline (one call)
calculate_bearing_characteristic_frequenciesExpected fault frequencies from bearing geometry
search_bearing_catalogLook up verified, source-traced bearing geometry
train_anomaly_modelTrain novelty detection on healthy baselines
predict_anomaliesScore a signal against a trained model (bounded output)

Documentation (4)

ToolDescription
search_documentationSemantic search over equipment manuals
read_manual_excerptRead pages from a manual
extract_manual_specsExtract structured specs from PDFs
list_machine_manualsBrowse available documentation

Reporting (8)

ToolDescription
plot_signalInteractive time-domain plot
generate_fft_reportInteractive frequency analysis report
generate_envelope_reportEnvelope analysis with fault markers
generate_iso_reportSeverity zone visualization
generate_diagnostic_report_docxStructured Word document report
generate_pca_visualization_reportPCA anomaly projection
generate_feature_comparison_reportCross-signal feature comparison
list_html_reportsReport management (list all or inspect one)

Prognostics (2)

ToolDescription
analyze_signal_trendWithin-recording screening: feature trend + degradation onset in one call
estimate_rulRemaining Useful Life from repeated measurements over time (linear, exponential, Kalman) — refuses single-recording extrapolation

Decision Support (1)

ToolDescription
generate_maintenance_recommendationsMaintenance recommendations from severity zone + canonical fault types

Guided Workflows (3 prompts)

PromptDescription
diagnose_bearingComplete bearing fault diagnostic decision tree
diagnose_gearGear fault detection workflow
quick_diagnostic_reportFast health screening
</details>

Claude Code Plugin

The project includes a plugin for Claude Code with domain-specific skills that activate automatically during conversation. Install it and Claude gains guided diagnostic workflows, autonomous agents, and quick commands.

shell
/plugin marketplace add LGDiMaggio/predictive-maintenance-mcp
/plugin install predictive-maintenance@predictive-maintenance-marketplace
<p align="center"> <img src="assets/plugin.gif" alt="Claude Code Plugin — skills, agents, and slash commands in action" width="720"> </p> <p align="center"><em>Claude Code plugin: domain skills activate automatically, slash commands for quick diagnostics</em></p>

Skills (8) — activate automatically based on context

SkillWhat it does
bearing-diagnosisWalks through a complete bearing fault diagnostic workflow
gear-diagnosisGear fault detection via spectral pattern analysis
quick-screening30-second vibration health check
report-generationProfessional HTML and Word report generation
anomaly-detectionTrain and run ML-based anomaly detection models
signal-managementLoad, inspect, and manage vibration signals
documentation-searchSearch equipment manuals and bearing catalogs
prognosticsWithin-recording trend screening and multi-measurement RUL estimation

Agents (2) — run autonomously for complex tasks

AgentWhat it does
diagnostic-pipelineEnd-to-end: load signal → spectral analysis → fault detection → severity assessment → report
signal-explorerExplore and compare multiple signals, find outliers, characterize patterns

Commands (3) — quick entry points

CommandExample
/pm-diagnose/pm-diagnose bearing_signal.csv — full fault diagnosis
/pm-screen/pm-screen bearing_signal.csv — quick health check
/pm-report/pm-report bearing_signal.csv full — generate all reports

Reports

All analysis tools generate interactive HTML reports you can open in any browser — pan, zoom, hover for details. Also supports structured Word (.docx) exports.

<details> <summary><b>Report examples</b></summary>

Envelope Analysis Report

ISO Severity Assessment

Report TypeWhat it shows
Frequency spectrumPeak detection, harmonic markers
Envelope analysisBearing fault frequency matching
Severity assessmentVibration health zones (ISO 20816-3)
Word documentFull diagnostic narrative with embedded charts
PCA visualizationMulti-signal anomaly clustering
Feature comparisonSide-by-side signal feature analysis
</details>

Sample Data Included

The project ships with 20 real bearing vibration signals from production machinery tests — ready to use out of the box.

  • Training set: 2 healthy baselines + 12 fault signals (inner race, outer race)
  • Test set: 1 healthy baseline + 5 fault signals

Try: "Load real_train/OuterRaceFault_1.csv and diagnose the bearing fault."

Full dataset documentation: data/README.md


Architecture

code
          YOU (natural language)
               │
               v
     LLM (Claude, GPT, Ollama...)
     understands intent, selects tools
               │
               v  ── Model Context Protocol ──
    ┌──────────────────────────────┐
    │    Predictive Maintenance    │
    │         MCP Server           │
    │                              │
    │  Signal Analysis    Reports  │
    │  Fault Detection    ML       │
    │  Severity Rating    RAG Docs │
    └──────────────────────────────┘
               │
               v
       YOUR DATA (stays local)
    signals · manuals · models

The codebase follows a modular architecture organized around the ISO 13374 Six-Block Diagnostic standard — signal acquisition, processing, diagnostics, prognostics, and decision support as separate sub-packages.

<details> <summary><b>Detailed module structure</b></summary>
code
src/predictive_maintenance_mcp/
├── mcp_tools/                 # MCP endpoint registration (36 MCP endpoints)
│   ├── acquisition_tools.py   # Signal loading & management
│   ├── analysis_tools.py      # Spectral & statistical analysis
│   ├── diagnostics_tools.py   # Fault detection, ML, document search
│   ├── report_tools.py        # HTML/DOCX report generation
│   ├── prompts.py             # Guided diagnostic workflows
│   └── _utils.py              # Shared utilities
├── signal_acquisition/        # Multi-format loaders (CSV, MAT, WAV, NPY, Parquet)
├── signal_processing/         # Spectral analysis & feature extraction
├── diagnostics/               # Bearing/gear analysis, ISO standards
├── decision_support/          # Evidence-based diagnosis pipeline
├── prognostics/               # RUL estimation (linear, exponential, Kalman) & trend analysis
├── rag.py                     # Document indexing & search (FAISS/TF-IDF)
├── models.py                  # Pydantic data models
├── server.py                  # FastMCP server entry point
└── config.py                  # Configuration management

Standards implemented: ISO 13374 (diagnostic architecture), ISO 20816-3 (vibration severity classification), MIMOSA OSA-CBM (condition-based maintenance framework).

</details>

Key design choices:

  • Privacy-first — raw vibration data never leaves your machine; only computed results flow to the LLM
  • LLM-agnostic — works with Claude, ChatGPT, Microsoft Copilot Studio, or any MCP-compatible client. Use Ollama for fully air-gapped deployments
  • Modular — use only the tools you need, extend with your own

Documentation

GuideFor
Quickstart for EngineersGet results fast, no coding required
Quickstart for DevelopersUnderstand MCP, extend the server
Plugin READMEClaude Code plugin installation and usage
HTTPS DeploymentDocker + HTTPS for enterprise environments
Ollama GuideUse with local LLMs (fully air-gapped)
ArchitectureISO 13374 block mapping and module design
ExamplesComplete diagnostic workflows
InstallationDetailed setup and troubleshooting
ContributingHow to contribute (all skill levels welcome)
ChangelogVersion history

Testing

86% test coverage across Windows, macOS, and Linux (Python 3.11 & 3.12).

bash
pytest                                  # run all tests
pytest --cov=src --cov-report=html      # with coverage report

20+ test files covering signal analysis, fault detection, severity assessment, ML models, report generation, RAG search, and real bearing fault data validation.


Roadmap

  • 36 MCP endpoints (33 tools, 3 prompts) with modular architecture and a single signal_id handle
  • Claude Code plugin (8 skills, 2 agents, 3 commands)
  • 86% test coverage, CI/CD on 3 platforms
  • Docker + SSE/HTTP transport for enterprise deployment
  • Semantic document search (FAISS + TF-IDF)
  • Customizable severity thresholds
  • Remaining useful life (RUL) estimation from repeated measurements (linear, exponential, Kalman)
  • Trend analysis and degradation onset detection
  • Multi-signal trending and historical comparison
  • Real-time streaming (MQTT/Kafka)
  • Fleet dashboard for multi-asset monitoring
  • CMMS integration (SAP, Maximo, Infor)

Ideas? Open a discussion or create an issue.


Are you using this?

I'd genuinely love to know. Whether you ran it on real machinery or just tried the sample data, drop a line in Discussions — one sentence about your machine or use case is enough. Real-world feedback directly shapes what gets built next.


Related

claude-stwinbox-diagnostics — Extends this project by connecting a physical edge sensor (STEVAL-STWINBX1) to Claude via MCP, with Claude Skills for guided condition monitoring. Same analysis engine, real hardware, operator-friendly reports.


Contributing

Contributions welcome from everyone — not just programmers. Domain experts, technical writers, and testers are equally valued. See CONTRIBUTING.md for paths tailored to your background.

Quick start: browse Issues for good first issue or help wanted labels.


Citation

bibtex
@software{dimaggio_predictive_maintenance_mcp_2025,
  title   = {Predictive Maintenance MCP Server},
  author  = {Di Maggio, Luigi Gianpio},
  year    = {2025},
  version = {0.9.1},
  url     = {https://github.com/LGDiMaggio/predictive-maintenance-mcp},
  doi     = {10.5281/zenodo.17611542}
}

License

MIT — see LICENSE. Sample data is CC BY-NC-SA 4.0 (non-commercial); for commercial use, replace with your own machinery data.

Acknowledgments

FastMCP framework · Model Context Protocol by Anthropic · Sample data from MathWorks · Core development assisted by Claude


An open-source predictive maintenance AI agent and condition monitoring copilot — built to support reliability engineers and the developer community.

常见问题

Predictive Maintenance MCP Server 是什么?

面向工业场景的 predictive maintenance 工具,支持 vibration analysis、bearing faults 诊断,并参考 ISO 20816-3 标准。

相关 Skills

Slack动图

by anthropics

Universal
热门

面向Slack的动图制作Skill,内置emoji/消息GIF的尺寸、帧率和色彩约束、校验与优化流程,适合把创意或上传图片快速做成可直接发送的Slack动画。

帮你快速做出适配 Slack 的动图,内置约束规则和校验工具,少踩上传与播放坑,做表情包和演示都更省心。

平台与服务
未扫描164.6k

MCP构建

by anthropics

Universal
热门

聚焦高质量 MCP Server 开发,覆盖协议研究、工具设计、错误处理与传输选型,适合用 FastMCP 或 MCP SDK 对接外部 API、封装服务能力。

想让 LLM 稳定调用外部 API,就用 MCP构建:从 Python 到 Node 都有成熟指引,帮你更快做出高质量 MCP 服务器。

平台与服务
未扫描164.6k

接口测试套件

by alirezarezvani

Universal
热门

扫描 Next.js、Express、FastAPI、Django REST 的 API 路由,自动生成覆盖鉴权、参数校验、错误码、分页、上传与限流场景的 Vitest 或 Pytest 测试套件。

帮你把API与集成测试自动化跑顺,减少回归漏测;能力全面,尤其适合复杂接口场景的QA团队。

平台与服务
未扫描23.3k

相关 MCP Server

Slack 消息

编辑精选

by Anthropic

热门

Slack 是让 AI 助手直接读写你的 Slack 频道和消息的 MCP 服务器。

这个服务器解决了团队协作中需要 AI 实时获取 Slack 信息的痛点,特别适合开发团队让 Claude 帮忙汇总频道讨论或发送通知。不过,它目前只是参考实现,文档有限,不建议在生产环境直接使用——更适合开发者学习 MCP 如何集成第三方服务。

平台与服务
89.0k

by netdata

热门

io.github.netdata/mcp-server 是让 AI 助手实时监控服务器指标和日志的 MCP 服务器。

这个工具解决了运维人员需要手动检查系统状态的痛点,最适合 DevOps 团队让 Claude 自动分析性能数据。不过,它依赖 NetData 的现有部署,如果你没用过这个监控平台,得先花时间配置。

平台与服务
79.5k

by d4vinci

热门

Scrapling MCP Server 是专为现代网页设计的智能爬虫工具,支持绕过 Cloudflare 等反爬机制。

这个工具解决了爬取动态网页和反爬网站时的头疼问题,特别适合需要批量采集电商价格或新闻数据的开发者。不过,它依赖外部浏览器引擎,资源消耗较大,不适合轻量级任务。

平台与服务
71.5k

评论