← Back to search

Motor Current Signature Analysis

LGDiMaggio Scanned 22d ago

MCP server for Motor Current Signature Analysis — fault detection in electric motors

C
67.7 / 100

Versions

0.1.2latest
first seen Jun 5, 2026
0.2.1
first seen May 19, 2026
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 21

calculate_motor_params
annotations: none low

Calculate motor operating parameters from nameplate and measured data. Computes synchronous speed, slip, rotor frequency, and slip frequency. These parameters are required inputs for fault frequency calculations.

poles string supply_freq_hz string rotor_speed_rpm string
compute_fault_frequencies
annotations: none low

Calculate expected fault frequencies for common induction-motor faults. Computes characteristic frequencies for broken rotor bars, eccentricity, stator faults, and mixed eccentricity based on motor operating parameters. Use these frequencies to know WHERE to look in the current spectrum.

poles string harmonics string supply_freq_hz string rotor_speed_rpm string
compute_bearing_frequencies
annotations: none low

Calculate bearing characteristic defect frequencies (BPFO, BPFI, BSF, FTF). Returns normalised frequencies (multiples of shaft speed) and, if shaft speed is provided, absolute frequencies in Hz. If supply frequency is also given, computes expected stator-current sidebands.

n_balls string ball_dia_mm string pitch_dia_mm string supply_freq_hz string shaft_speed_rpm string contact_angle_deg string
preprocess_signal
annotations: none low

Preprocess a stator-current signal for spectral analysis. Applies (in order): DC offset removal → notch filtering → bandpass filtering → normalisation → windowing. Returns the preprocessed signal.

signal string window string notch_freqs_hz string bandpass_low_hz string nominal_current string bandpass_high_hz string sampling_freq_hz string
compute_spectrum
annotations: none low

Compute the single-sided amplitude spectrum (FFT) of a current signal. Returns a spectrum_id referencing the stored spectrum, plus a compact summary with top peaks. Use spectrum_id in downstream fault-detection tools.

n_fft string signal string signal_id string max_freq_hz string sampling_freq_hz string
compute_power_spectral_density
annotations: none low

Compute Power Spectral Density using Welch's method. Better for noisy signals and trend analysis than a raw FFT. Returns a spectrum_id plus compact summary.

signal string nperseg string signal_id string max_freq_hz string sampling_freq_hz string
find_spectrum_peaks
annotations: none low

Detect peaks in a frequency spectrum. Returns a list of peaks sorted by amplitude (highest first) with frequency, amplitude, and prominence values.

max_peaks string amplitudes string min_height string freq_low_hz string spectrum_id string freq_high_hz string frequencies_hz string min_prominence string min_distance_hz string
detect_broken_rotor_bars
annotations: none low

Detect broken rotor bar faults from current spectrum. Computes the BRB fault index by measuring sidebands at (1 ± 2s)·f_s relative to the fundamental. Returns severity classification: healthy / incipient / moderate / severe.

poles string amplitudes string spectrum_id string tolerance_hz string frequencies_hz string supply_freq_hz string rotor_speed_rpm string
detect_eccentricity
annotations: none low

Detect air-gap eccentricity faults from current spectrum. Analyses sidebands at f_s ± k·f_r for static and dynamic eccentricity. Returns severity classification.

poles string harmonics string amplitudes string spectrum_id string tolerance_hz string frequencies_hz string supply_freq_hz string rotor_speed_rpm string
detect_stator_faults
annotations: none low

Detect stator inter-turn short circuit faults from current spectrum. Analyses sidebands at f_s ± 2k·f_r caused by stator winding asymmetry.

poles string harmonics string amplitudes string spectrum_id string tolerance_hz string frequencies_hz string supply_freq_hz string rotor_speed_rpm string
detect_bearing_faults
annotations: none low

Detect bearing defect signatures in the stator-current spectrum. Bearing faults modulate motor torque, creating sidebands at f_s ± k·f_defect. Note: bearing signatures in current are typically weak; envelope analysis or vibration data can improve detection.

harmonics string amplitudes string defect_type string spectrum_id string tolerance_hz string frequencies_hz string supply_freq_hz string bearing_defect_freq_hz string
compute_envelope_spectrum
annotations: none low

Compute the envelope spectrum of a current signal. Uses the Hilbert transform to extract the amplitude envelope, then computes its FFT. Useful for detecting bearing and mechanical faults that modulate the current at low frequencies.

signal string signal_id string max_freq_hz string bandpass_low_hz string bandpass_high_hz string sampling_freq_hz string
compute_band_energy
annotations: none low

Compute the integrated spectral energy in a frequency band. Useful as a generic fault/cavitation indicator — measures the energy concentration around a characteristic frequency in the PSD.

psd_values string spectrum_id string bandwidth_hz string centre_freq_hz string frequencies_hz string
compute_time_frequency
annotations: none low

Compute Short-Time Fourier Transform (STFT) for time-frequency analysis. For non-stationary conditions (variable speed/load, start-up transients). If target_freq_hz is provided, also tracks that frequency's amplitude over time. Returns a summary (not the full 2D matrix) to keep output manageable.

signal string nperseg string signal_id string tolerance_hz string target_freq_hz string sampling_freq_hz string
inspect_signal_file
annotations: none low

Inspect a signal file without fully loading it. Returns file metadata: size, format details, estimated number of samples, sampling frequency (for WAV), column headers (for CSV), and array shape (for NPY). Use this before load_signal_from_file to verify the file format and plan the loading parameters.

file_path string
load_signal_from_file
annotations: none low

Load a motor-current signal from a file (CSV, WAV, or NumPy NPY). Supports the most common formats used by industrial DAQ systems: - **CSV/TSV/TXT**: Columnar data with optional time column. The sampling frequency is inferred from the time column or must be provided explicitly. - **WAV**: Audio files from portable recorders or DAQ. Sampling frequency is read from the WAV header. - **NPY**: NumPy binary arrays. Sampling frequency must be provided. Returns the signal, sampling frequency, number of samples, duration, and file metadata. The returned signal can then be passed to preprocess_signal, compute_spectrum, or run_full_diagnosis.

channel string max_rows string delimiter string file_path string skip_header string time_column string signal_column string sampling_freq_hz string
generate_test_current_signal
annotations: none low

Generate a synthetic motor-current test signal. Creates a simulated stator-current waveform with the fundamental, supply harmonics, noise, and optional fault signatures. Useful for testing, validation, and demonstration of MCSA analysis tools.

poles string faults string duration_s string noise_level string fault_severity string supply_freq_hz string rotor_speed_rpm string sampling_freq_hz string
run_full_diagnosis
annotations: none low

Run a comprehensive MCSA diagnostic analysis on a current signal. Performs the full pipeline: preprocessing → spectrum → fault detection for broken rotor bars, eccentricity, stator faults, and optionally bearing defects. Returns a complete diagnostic report.

poles string signal string signal_id string tolerance_hz string supply_freq_hz string rotor_speed_rpm string sampling_freq_hz string bearing_defect_freq_hz string
diagnose_from_file
annotations: none low

Load a signal from file and run the full MCSA diagnostic pipeline. One-shot tool: reads the signal file, preprocesses, computes the spectrum, runs all fault detectors, and returns a complete diagnostic report. Ideal for batch or automated condition-monitoring workflows.

poles string channel string file_path string time_column string tolerance_hz string signal_column string supply_freq_hz string rotor_speed_rpm string sampling_freq_hz string bearing_defect_freq_hz string
list_stored_data
annotations: none low

List all signals and spectra currently stored on disk. Returns a compact summary of each stored item (ID, type, size, and key metadata) without returning the raw data arrays. The data is persisted in the MCSA data directory and survives server restarts.

clear_stored_data
annotations: none low

Delete stored signals and spectra from disk and memory. Pass a specific data_id to remove one item, or omit to clear all.

data_id string

Permissions 2

filesystem low
Server uses filesystem capabilities via: open(), os, pathlib
env_vars low
Server uses env_vars capabilities via: os.environ

Scan Findings 64

low
Tool 'calculate_motor_params' has no annotations annotation_checker · 100%
low
Tool 'compute_fault_frequencies' has no annotations annotation_checker · 100%
low
Tool 'compute_bearing_frequencies' has no annotations annotation_checker · 100%
low
Tool 'preprocess_signal' has no annotations annotation_checker · 100%
low
Tool 'compute_spectrum' has no annotations annotation_checker · 100%
low
Tool 'compute_power_spectral_density' has no annotations annotation_checker · 100%
low
Tool 'find_spectrum_peaks' has no annotations annotation_checker · 100%
low
Tool 'detect_broken_rotor_bars' has no annotations annotation_checker · 100%
low
Tool 'detect_eccentricity' has no annotations annotation_checker · 100%
low
Tool 'detect_stator_faults' has no annotations annotation_checker · 100%
low
Tool 'detect_bearing_faults' has no annotations annotation_checker · 100%
low
Tool 'compute_envelope_spectrum' has no annotations annotation_checker · 100%
low
Tool 'compute_band_energy' has no annotations annotation_checker · 100%
low
Tool 'compute_time_frequency' has no annotations annotation_checker · 100%
low
Tool 'inspect_signal_file' has no annotations annotation_checker · 100%
low
Tool 'load_signal_from_file' has no annotations annotation_checker · 100%
low
Tool 'generate_test_current_signal' has no annotations annotation_checker · 100%
low
Tool 'run_full_diagnosis' has no annotations annotation_checker · 100%
low
Tool 'diagnose_from_file' has no annotations annotation_checker · 100%
low
Tool 'list_stored_data' has no annotations annotation_checker · 100%
low
Tool 'clear_stored_data' has no annotations annotation_checker · 100%
high
Remote transport without authentication auth_checker · 70%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
medium
Vulnerable dependency: mcp@1.0.0 (GHSA-3qhf-m339-9g5v) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0 (GHSA-9h52-p55h-vw2f) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0 (GHSA-j975-95f5-7wqh) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0 (GHSA-jpw9-pfvf-9f58) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0 (GHSA-vj7q-gjh5-988w) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0 (PYSEC-2026-1616) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0 (PYSEC-2026-1617) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0 (PYSEC-2026-1618) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0 (PYSEC-2026-3482) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.0.0 (PYSEC-2026-3483) dependency_analyzer · 95%
medium
Vulnerable dependency: pydantic@2.0.0 (GHSA-mr82-8j83-vxmv) dependency_analyzer · 95%
medium
Vulnerable dependency: pydantic@2.0.0 (PYSEC-2026-1812) dependency_analyzer · 95%
info
pyproject.toml metadata manifest_parser · 100%
info
Tool: calculate_motor_params manifest_parser · 90%
info
Tool: compute_fault_frequencies manifest_parser · 90%
info
Tool: compute_bearing_frequencies manifest_parser · 90%
info
Tool: preprocess_signal manifest_parser · 90%
info
Tool: compute_spectrum manifest_parser · 90%
info
Tool: compute_power_spectral_density manifest_parser · 90%
info
Tool: find_spectrum_peaks manifest_parser · 90%
info
Tool: detect_broken_rotor_bars manifest_parser · 90%
info
Tool: detect_eccentricity manifest_parser · 90%
info
Tool: detect_stator_faults manifest_parser · 90%
info
Tool: detect_bearing_faults manifest_parser · 90%
info
Tool: compute_envelope_spectrum manifest_parser · 90%
info
Tool: compute_band_energy manifest_parser · 90%
info
Tool: compute_time_frequency manifest_parser · 90%
info
Tool: inspect_signal_file manifest_parser · 90%
info
Tool: load_signal_from_file manifest_parser · 90%
info
Tool: generate_test_current_signal manifest_parser · 90%
info
Tool: run_full_diagnosis manifest_parser · 90%
info
Tool: diagnose_from_file manifest_parser · 90%
info
Tool: list_stored_data manifest_parser · 90%
info
Tool: clear_stored_data manifest_parser · 90%
info
Transport: streamable-http manifest_parser · 80%
info
Required env vars (1) manifest_parser · 80%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
low
Permission: filesystem access detected permission_analyzer · 80%
low
Permission: env_vars access detected permission_analyzer · 90%
info
No dependency files found for SBOM generation sbom_generator · 100%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%