Skip to main content
Glama
LGDiMaggio

mcp-server-mcsa

by LGDiMaggio

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MCSA_DATA_DIRNoDirectory to store signal and spectrum data files. Defaults to ~/.mcsa_data/

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
calculate_motor_paramsA

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.

compute_fault_frequenciesA

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.

compute_bearing_frequenciesA

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.

preprocess_signalA

Preprocess a stator-current signal for spectral analysis.

Applies (in order): DC offset removal → notch filtering → bandpass filtering → normalisation → windowing. Returns the preprocessed signal.

compute_spectrumA

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.

compute_power_spectral_densityB

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.

find_spectrum_peaksA

Detect peaks in a frequency spectrum.

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

detect_broken_rotor_barsA

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.

detect_eccentricityA

Detect air-gap eccentricity faults from current spectrum.

Analyses sidebands at f_s ± k·f_r for static and dynamic eccentricity. Returns severity classification.

detect_stator_faultsB

Detect stator inter-turn short circuit faults from current spectrum.

Analyses sidebands at f_s ± 2k·f_r caused by stator winding asymmetry.

detect_bearing_faultsA

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.

compute_envelope_spectrumA

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.

compute_band_energyB

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.

compute_time_frequencyA

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.

inspect_signal_fileA

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.

load_signal_from_fileA

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.

generate_test_current_signalA

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.

run_full_diagnosisA

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.

diagnose_from_fileA

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.

list_stored_dataA

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_dataA

Delete stored signals and spectra from disk and memory.

Pass a specific data_id to remove one item, or omit to clear all.

Prompts

Interactive templates invoked by user choice

NameDescription
analyze_motor_currentStep-by-step guided prompt for MCSA analysis of a motor current signal.

Resources

Contextual data attached and managed by the client

NameDescription
fault_signatures_resourceReference table of MCSA fault signatures, frequencies, and empirical thresholds.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/LGDiMaggio/mcp-motor-current-signature-analysis'

If you have feedback or need assistance with the MCP directory API, please join our Discord server