← 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.
Category
Other #209 of 230
Stars
★ 100 Popular
Transport
stdio (local process)
Runtime
Python 3.11+ · Prebuilt binary
Credentials
No credential needed
License
Other / unspecified
Last commit
Tools
33
34FMRS · D

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.

Strongest · Maintenance 8/20 Weakest · Security and permissions 6/20

Reliability
7/20
Security and permissions
6/20
Maintenance
8/20
Documentation
7/20
Setup experience
6/20
Why each score
Reliability 7/20
The codebase shows a well-structured, modular architecture and an extensive test suite (20+ test files, 86% coverage claimed). However, static review cannot verify actual runtime behavior. Though CI workflows exist, they are not detailed. The tool list claims 36 MCP endpoints, but this is not verified in source; there could be mismatches. Responses are not validated by execution, so scoring is conservative.
Security and permissions 6/20
The server is designed to be privacy-first, keeping data local. There are no obvious credential handling issues or external network calls, but the server does include document search (RAG) involving local file access, and potential risks from PDF parsing. No confirmation mechanisms for dangerous operations are mentioned. No red lines are evident in static review, but detailed security documentation and data flow disclosures are lacking.
Maintenance 8/20
The project is active with recent commits and releases (version 0.9.1), and has a clear roadmap and communication channels for discussions. MIT license and a Zenodo DOI indicate long-term stability. No security response channel is identified, and dependency updates are not evidenced.
Documentation 7/20
The README provides a comprehensive overview, quickstart guides, a detailed tool list, report examples, and an architecture glossary. Links to deeper docs like QUICKSTART_ENGINEER.md and INSTALL.md are present. However, detailed documentation on each tool's parameters, error handling guidance, and troubleshooting specifics are missing or not verified in static analysis.
Setup experience 6/20
The README includes clear installation instructions, including an automated script for Windows and manual configuration (uvx, claude_desktop_config). However, static review cannot verify if the script runs without issues. Cross-platform compatibility is mentioned, but real installation verification is not provided.

Static review · not runListed 2026-08-07

Read the FMRS scoring method →

Fit and risk

What it can accessReads local filesWrites / deletes local files

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.

Setup

Before you start

Runtime:Python 3.11+ · Prebuilt binary

Other optional settings (1)
UV_LINK_MODE optional Set to copy in the client config to avoid uvx hardlink cache issues; optional variable. uvx comes with uv, installable via pip install uv or the official installer.
  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" }
    }
  }
}

Shown for Claude Desktop. Other clients may use a different file or key (VS Code uses "servers") — the configurator below converts it.

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

Goes in your project's .vscode/mcp.json (VS Code uses a "servers" key).

Terminal
claude mcp add predictive-maintenance -e UV_LINK_MODE=copy -- /full/path/to/uvx predictive-maintenance-mcp

Run it in a terminal; replace any <…> placeholders with your own values first.

Check that it works

After restarting the client, tools such as load_signal, analyze_fft, and diagnose_vibration should appear in the tool list; alternatively, run a sample prompt like loading real_train/OuterRaceFault_1.csv and diagnosing the bearing to confirm the server is connected.

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.

Things to try

Once connected, you can ask your AI assistant things like:

  • Load real_train/OuterRaceFault_1.csv and check if the bearing is healthy.
  • Generate a full diagnostic report for the loaded signal.
  • Extract specs from test_pump_manual.pdf and diagnose the signal.
  • Train an anomaly detector on my healthy baselines, then flag anomalies.

Tools 33

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

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 Desktop
Claude Code
VS Code

Listed from the project's documentation, not tested by this site.

Overview

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.

Similar servers

BioMCP 75 · B

One binary. One grammar. Evidence from the biomedical sources you already trust.

★ 653 · Tools 11 Compare with this →

Source revision 6e1189670d69 Data synced 2026-10-11 Read the FMRS scoring method