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 -->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 7 diagnostic skills. It's designed to support and accelerate expert decision-making.
Quick Start
pip install predictive-maintenance-mcp
Add to your Claude Desktop config (%APPDATA%\Claude\claude_desktop_config.json on Windows, ~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"predictive-maintenance": {
"command": "predictive-maintenance-mcp"
}
}
}
Restart Claude Desktop. You're ready — try: "Load real_train/OuterRaceFault_1.csv and check if the bearing is healthy."
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 say | The 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 52 specialized MCP endpoints (46 tools, 2 resources, 4 prompts) running locally on your machine. Your data never leaves your infrastructure.
<details> <summary><b>See the full endpoint list (52 MCP endpoints: 43 tools, 1 resource, 4 prompts)</b></summary>Signal Acquisition (7 tools + 2 resources)
| Endpoint | Type | Description |
|---|---|---|
load_signal | Tool | Load vibration file (CSV, WAV, MAT, NPY, Parquet) |
list_signals | Tool | Browse available signal files with metadata |
list_stored_signals | Tool | List cached signals in memory |
get_signal_info | Tool | Signal metadata (sampling rate, duration, stats) |
generate_test_signal | Tool | Create synthetic signals for testing |
clear_signal / clear_all_signals | Tool | Cache management |
signal://list | Resource | Browse all signal files |
signal://read/{filename} | Resource | Read signal metadata |
Spectral & Statistical Analysis (10 tools)
| Tool | Description |
|---|---|
analyze_fft | Frequency spectrum with automatic peak detection |
analyze_envelope | Envelope analysis for bearing fault detection |
analyze_statistics | Time-domain features (RMS, kurtosis, crest factor) |
compute_power_spectral_density | Power spectral density (Welch method) |
compute_spectrogram_stft | Time-frequency spectrogram |
extract_features_from_signal | 17+ statistical and spectral features |
compute_envelope_spectrum_tool | Envelope spectrum computation |
plot_signal / plot_spectrum / plot_envelope | Visualization tools (3 tools) |
Diagnostics & Health Assessment (14 tools)
| Tool | Description |
|---|---|
calculate_bearing_characteristic_frequencies | Compute expected fault frequencies from bearing geometry |
check_bearing_fault_peak_tool | Detect peaks at fault frequencies |
check_bearing_faults_direct | Multi-fault detection (inner/outer/ball/cage) |
diagnose_vibration_tool | Integrated evidence-based diagnosis pipeline |
search_bearing_catalog | Look up bearing specs by model number |
lookup_bearing_and_compute_tool | Catalog lookup + frequency calculation |
evaluate_iso_20816 | Vibration severity assessment (4 severity zones) |
assess_vibration_severity | Health classification |
train_anomaly_model | Train novelty detection on healthy baselines |
predict_anomalies | Score new signals for anomalies |
search_documentation | Semantic search over equipment manuals |
read_manual_excerpt / extract_manual_specs | Extract specs from PDFs (2 tools) |
list_machine_manuals | Browse available documentation |
Reporting (9 tools)
| Tool | Description |
|---|---|
generate_fft_report | Interactive frequency analysis report |
generate_envelope_report | Envelope analysis with fault markers |
generate_iso_report | Severity zone visualization |
generate_diagnostic_report_docx | Structured Word document report |
generate_pca_visualization_report | 2D/3D anomaly projection |
generate_feature_comparison_report | Cross-signal feature comparison |
plot_iso_20816_chart | ISO 20816 severity zone chart |
list_html_reports / get_report_info | Report management (2 tools) |
Prognostics (3 tools)
| Tool | Description |
|---|---|
estimate_rul | Remaining Useful Life estimation (linear, exponential, Weibull, Kalman) |
analyze_signal_trend | Trend detection on feature time series (increasing/decreasing/stable) |
detect_signal_degradation_onset | Baseline deviation detection for early degradation warning |
Decision Support (3 tools)
| Tool | Description |
|---|---|
check_vibration_alert | ISO 10816 vibration severity alert classification (zones A/B/C/D) |
check_custom_vibration_alert | Custom threshold-based vibration alerting |
generate_maintenance_recommendations | Context-aware maintenance recommendations from diagnosis |
Guided Workflows (4 prompts + 2 resources)
| Prompt | Description |
|---|---|
diagnose_bearing | Complete bearing fault diagnostic decision tree |
diagnose_gear | Gear fault detection workflow |
quick_diagnostic_report | Fast health screening |
generate_iso_diagnostic_report | ISO-compliant diagnostic report generation |
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.
/plugin marketplace add LGDiMaggio/predictive-maintenance-mcp
/plugin install predictive-maintenance@predictive-maintenance-marketplace
Skills (7) — activate automatically based on context
| Skill | What it does |
|---|---|
| bearing-diagnosis | Walks through a complete bearing fault diagnostic workflow |
| gear-diagnosis | Gear fault detection via spectral pattern analysis |
| quick-screening | 30-second vibration health check |
| report-generation | Professional HTML and Word report generation |
| anomaly-detection | Train and run ML-based anomaly detection models |
| signal-management | Load, inspect, and manage vibration signals |
| documentation-search | Search equipment manuals and bearing catalogs |
Agents (2) — run autonomously for complex tasks
| Agent | What it does |
|---|---|
| diagnostic-pipeline | End-to-end: load signal → spectral analysis → fault detection → severity assessment → report |
| signal-explorer | Explore and compare multiple signals, find outliers, characterize patterns |
Commands (3) — quick entry points
| Command | Example |
|---|---|
/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>

| Report Type | What it shows |
|---|---|
| Frequency spectrum | Peak detection, harmonic markers |
| Envelope analysis | Bearing fault frequency matching |
| Severity assessment | Vibration health zones (ISO 20816-3) |
| Word document | Full diagnostic narrative with embedded charts |
| PCA visualization | Multi-signal anomaly clustering |
| Feature comparison | Side-by-side signal feature analysis |
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
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>src/predictive_maintenance_mcp/
├── mcp_tools/ # MCP endpoint registration (52 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, Weibull) & 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
| Guide | For |
|---|---|
| Quickstart for Engineers | Get results fast, no coding required |
| Quickstart for Developers | Understand MCP, extend the server |
| Plugin README | Claude Code plugin installation and usage |
| HTTPS Deployment | Docker + HTTPS for enterprise environments |
| Ollama Guide | Use with local LLMs (fully air-gapped) |
| Architecture | ISO 13374 block mapping and module design |
| Examples | Complete diagnostic workflows |
| Installation | Detailed setup and troubleshooting |
| Contributing | How to contribute (all skill levels welcome) |
| Changelog | Version history |
Testing
86% test coverage across Windows, macOS, and Linux (Python 3.11 & 3.12).
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
- 52 MCP endpoints (43 tools, 1 resource, 4 prompts) with modular architecture
- Claude Code plugin (7 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 models (linear, exponential, Weibull degradation)
- 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.
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
@software{dimaggio_predictive_maintenance_mcp_2025,
title = {Predictive Maintenance MCP Server},
author = {Di Maggio, Luigi Gianpio},
year = {2025},
version = {0.8.0},
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
MCP构建
by anthropics
聚焦高质量 MCP Server 开发,覆盖协议研究、工具设计、错误处理与传输选型,适合用 FastMCP 或 MCP SDK 对接外部 API、封装服务能力。
✎ 想让 LLM 稳定调用外部 API,就用 MCP构建:从 Python 到 Node 都有成熟指引,帮你更快做出高质量 MCP 服务器。
Slack动图
by anthropics
面向Slack的动图制作Skill,内置emoji/消息GIF的尺寸、帧率和色彩约束、校验与优化流程,适合把创意或上传图片快速做成可直接发送的Slack动画。
✎ 帮你快速做出适配 Slack 的动图,内置约束规则和校验工具,少踩上传与播放坑,做表情包和演示都更省心。
MCP服务构建器
by alirezarezvani
从 OpenAPI 一键生成 Python/TypeScript MCP server 脚手架,并校验 tool schema、命名规范与版本兼容性,适合把现有 REST API 快速发布成可生产演进的 MCP 服务。
✎ 帮你快速搭建 MCP 服务与后端 API,脚手架完善、扩展顺手,尤其适合想高效验证服务能力的开发者。
相关 MCP Server
Slack 消息
编辑精选by Anthropic
Slack 是让 AI 助手直接读写你的 Slack 频道和消息的 MCP 服务器。
✎ 这个服务器解决了团队协作中需要 AI 实时获取 Slack 信息的痛点,特别适合开发团队让 Claude 帮忙汇总频道讨论或发送通知。不过,它目前只是参考实现,文档有限,不建议在生产环境直接使用——更适合开发者学习 MCP 如何集成第三方服务。
by netdata
io.github.netdata/mcp-server 是让 AI 助手实时监控服务器指标和日志的 MCP 服务器。
✎ 这个工具解决了运维人员需要手动检查系统状态的痛点,最适合 DevOps 团队让 Claude 自动分析性能数据。不过,它依赖 NetData 的现有部署,如果你没用过这个监控平台,得先花时间配置。
by d4vinci
Scrapling MCP Server 是专为现代网页设计的智能爬虫工具,支持绕过 Cloudflare 等反爬机制。
✎ 这个工具解决了爬取动态网页和反爬网站时的头疼问题,特别适合需要批量采集电商价格或新闻数据的开发者。不过,它依赖外部浏览器引擎,资源消耗较大,不适合轻量级任务。