← Back to directory
P

Predictive Maintenance MCP Server

Community
Give any AI assistant the ability to analyze vibration data, detect machinery faults, and generate professional diagnostic reports — through natural conversation.
GitHub source repository ↗
★ 75 Stars Category · Other Popular Source revision f85eb4f16891
34FMRS · D
Reliability
7/20
Security and permissions
6/20
Maintenance
8/20
Documentation
7/20
Setup experience
6/20

This is a feature-rich MCP server specifically designed for industrial predictive maintenance, offering comprehensive vibration analysis and fault diagnosis. It emphasizes privacy (local processing) and expert assistance, making it suitable for engineers seeking quick insights. Installation requires moderate technical proficiency but is well-documented. Current version targets single-machine, non-real-time scenarios.

Read the FMRS scoring method →

Predictive Maintenance MCP Server is an open-source MCP server that turns LLMs into condition monitoring assistants. Engineers describe their needs in plain language, and the AI calls the right analysis tools to deliver results — bearing fault detection, risk assessment, anomaly detection, and remaining useful life estimation. It is designed to support and accelerate expert decision-making, not replace it. The server exposes 36 MCP endpoints (33 tools + 3 prompts) covering signal loading, spectral analysis, bearing fault diagnosis, ISO 20816-3 severity assessment, RAG document search, report generation (HTML/Word), and prognostics (linear, exponential, Kalman). Privacy-first: raw vibration data never leaves your machine.

Tools

load_signal
Load vibration file(s) (CSV, WAV, MAT, NPY, Parquet) with declared sampling rate and unit — returns signal_id handle.
list_signals
Browse signal files on disk or loaded signals in memory.
get_signal_info
Get signal metadata (sampling rate, duration, declared unit).
generate_test_signal
Create a synthetic signal, auto-registered and immediately analyzable.
clear_signals
Remove one signal or the whole in-memory cache.
analyze_fft
Frequency spectrum with automatic peak detection.
analyze_envelope
Envelope analysis for bearing fault detection (default band 500–5000 Hz).
analyze_statistics
Time-domain features (RMS, kurtosis, crest factor).
extract_features_from_signal
Segmented statistical feature extraction.
compute_power_spectral_density
Power spectral density (Welch method).
compute_spectrogram_stft
Time-frequency spectrogram.
assess_severity
Unified ISO 20816-3 severity assessment (signal or direct RMS reading, custom thresholds).
check_bearing_faults
Unified fault-frequency matching (catalog bearing, explicit frequencies, or explicit geometry).
diagnose_vibration
Integrated evidence-based diagnosis pipeline (one call).
calculate_bearing_characteristic_frequencies
Expected fault frequencies from bearing geometry.
search_bearing_catalog
Look up verified, source-traced bearing geometry.
train_anomaly_model
Train novelty detection on healthy baselines.
predict_anomalies
Score a signal against a trained model (bounded output).
search_documentation
Semantic search over equipment manuals.
read_manual_excerpt
Read pages from a manual.
extract_manual_specs
Extract structured specs from PDFs.
list_machine_manuals
Browse available documentation.
plot_signal
Interactive time-domain plot.
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
PCA anomaly projection.
generate_feature_comparison_report
Cross-signal feature comparison.
list_html_reports
Report management (list all or inspect one).
analyze_signal_trend
Within-recording screening: feature trend + degradation onset in one call.
estimate_rul
Remaining Useful Life from repeated measurements over time (linear, exponential, Kalman) — refuses single-recording extrapolation.
generate_maintenance_recommendations
Maintenance recommendations from severity zone + canonical fault types.

Setup

  1. Clone the repository and run setup_claude.ps1 on Windows, or manually pip install predictive-maintenance-mcp. 2. Find the full path to uvx (which uvx on macOS/Linux, where uvx on Windows). 3. Add the MCP server configuration to your client's config file (e.g., claude_desktop_config.json for Claude Desktop), using the full path to uvx. 4. Restart the client.
claude_desktop_config.json
{
  "mcpServers": {
    "predictive-maintenance": {
      "command": "/full/path/to/uvx",
      "args": ["predictive-maintenance-mcp"],
      "env": { "UV_LINK_MODE": "copy" }
    }
  }
}

Fit and risk

Best for

  • Reliability & maintenance engineers wanting fast vibration diagnostics in plain language — no coding required.
  • Developers & industrial-AI practitioners who want to expose predictive-maintenance workflows as MCP tools.
  • Researchers & students working on bearing fault diagnosis, condition monitoring, or MCP/agent tooling.

Not for

  • Domains outside vibration analysis and machinery health monitoring.
  • Fully autonomous decision-making without expert oversight (it supports, not replaces, experts).
  • Real-time streaming or multi-asset fleet monitoring (not yet implemented).

Required permissions

  • Local file system access: read signal files, manual PDFs, write reports.
  • Network access may be required for initial setup (e.g., pip install), but the tool operates locally.
  • Requires Python 3.11+ and `uvx` (uv) for package running.

Risks and side effects

  • Diagnostic accuracy depends on signal quality and declared sampling rate/unit; incorrect inputs can yield misleading results.
  • Bearing catalog data must match actual bearings to compute fault frequencies correctly.
  • Computed results sent to the LLM could potentially expose sensitive machine data, though raw signals stay local.
  • Anomaly detection models may overfit to training baselines and misclassify novel fault patterns.

Troubleshooting

  1. If the server fails to start, check that `uvx` is in PATH or provide the full path, and ensure Python 3.11+ is installed.
  2. If signal loading fails, verify the file format is supported and that sampling rate and unit declarations are correct.
  3. If diagnostics seem off, confirm the signal is from a healthy state and that bearing catalog entries exist for the specific bearing.
  4. If report generation fails, check output directory permissions and that required plotting libraries are installed.

Use cases

Quickly analyze vibration signals for bearing faults via natural language.
Extract equipment specs from manuals and match fault frequencies against the signal.
Train anomaly detection models on healthy baselines and score new signals.
Generate professional diagnostic reports (HTML/Word) for maintenance planning.
Estimate remaining useful life to schedule preventive maintenance.

Supported clients

Claude DesktopFull support
Claude CodeFull support
VS CodeFull support