Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
MCP server for Motor Current Signature Analysis — fault detection in electric motors
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"mcsa": {
"command": "uvx",
"args": [
"mcp-server-mcsa"
]
}
}
}ターミナルでこれを実行します
claude mcp add mcsa -- uvx mcp-server-mcsaプロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"mcsa": {
"command": "uvx",
"args": [
"mcp-server-mcsa"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"mcsa": {
"type": "stdio",
"command": "uvx",
"args": [
"mcp-server-mcsa"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント LGDiMaggio で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.2.1)がレジストリに届いたのは9 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Master CSS
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Inspect Master CSS classes, generated CSS, and project stylesheets from your AI client.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
A Model Context Protocol (MCP) server for Motor Current Signature Analysis (MCSA) — non-invasive spectral analysis and fault detection in electric motors using stator-current signals.
mcp-server-mcsa turns any LLM into a predictive-maintenance expert. By integrating advanced techniques such as Fast Fourier Transform (FFT) and envelope analysis, the system can *listen* to a motor's electrical signature and automatically identify mechanical and electrical anomalies — all through natural language.
MCSA is an industry-standard condition-monitoring technique that analyses the harmonic content of the stator current to detect rotor, stator, bearing, and air-gap faults in electric motors — without requiring vibration sensors, downtime, or physical access to the machine. This server brings the full MCSA diagnostic workflow to any MCP-compatible AI assistant (Claude Desktop, VS Code Copilot, and others), enabling both interactive expert analysis and automated condition-monitoring pipelines.
.npy files~/.mcsa_data/ as compressed .npz files; referenced by short IDs (sig_xxxx, spec_xxxx) to keep large arrays out of the chat context; data survives server restarts| Tool | Description |
|---|---|
inspect_signal_file | Inspect a signal file format and metadata without loading |
load_signal_from_file | Load a current signal from CSV / WAV / NPY file → returns signal_id |
calculate_motor_params | Compute slip, sync speed, rotor frequency from motor data |
compute_fault_frequencies | Calculate expected fault frequencies for all common fault types |
compute_bearing_frequencies | Calculate BPFO, BPFI, BSF, FTF from bearing geometry |
preprocess_signal | DC removal, filtering, normalisation, windowing pipeline → returns new signal_id |
compute_spectrum | Single-sided FFT amplitude spectrum → returns spectrum_id |
compute_power_spectral_density | Welch PSD estimation → returns spectrum_id |
find_spectrum_peaks | Detect and characterise peaks in a spectrum |
detect_broken_rotor_bars | BRB fault index with severity classification |
detect_eccentricity | Air-gap eccentricity detection via sidebands |
detect_stator_faults | Stator inter-turn short circuit detection |
detect_bearing_faults | Bearing defect detection from current spectrum |
compute_envelope_spectrum | Hilbert envelope spectrum for modulation analysis |
compute_band_energy | Integrated spectral energy in a frequency band |
compute_time_frequency | STFT analysis with optional frequency tracking |
generate_test_current_signal | Synthetic motor current with optional faults → returns signal_id |
run_full_diagnosis | Complete MCSA diagnostic pipeline from signal or signal_id |
diagnose_from_file | Complete MCSA diagnostic pipeline directly from file |
list_stored_data | List all signals and spectra persisted on disk |
clear_stored_data | Delete one or all stored items from disk |
| URI | Description |
|---|---|
mcsa://fault-signatures | Reference table of fault signatures, frequencies, and empirical thresholds |
| Prompt | Description |
|---|---|
analyze_motor_current | Step-by-step guided workflow for MCSA analysis |
uv is the recommended Python package manager. It handles everything (Python, packages, virtual environments) in a single tool and is used throughout the MCP ecosystem.
Windows (PowerShell):
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
macOS / Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
After installing, restart your terminal so the
uv/uvxcommands are available.
uvx mcp-server-mcsa --help
You should see the help text. That's it — no pip install needed. uvx downloads and runs the package automatically in an isolated environment.
Pick your client and add the configuration below. No other steps are required.
Open the config file:
%APPDATA%\Claude\claude_desktop_config.json~/Library/Application Support/Claude/claude_desktop_config.jsonAdd mcsa inside the mcpServers object (create the file if it doesn't exist):
{
"mcpServers": { "mcsa": { "command": "uvx", "args": ["mcp-server-mcsa"] } } }
Then restart Claude Desktop.
Create (or edit) .vscode/mcp.json in your workspace:
{
"servers": { "mcsa": { "command": "uvx", "args": ["mcp-server-mcsa"] } } }
Go to Settings → MCP Servers → Add new server:
commanduvx mcp-server-mcsaIn your MCP client, try:
"Generate a test signal with a broken rotor bar fault and run a full diagnosis. Motor: 4 poles, 50 Hz, 1470 RPM."
If the server responds with a diagnostic report, you're all set.
Alternative: install with pip (not recommended — see note)
pip install mcp-server-mcsa
Then configure your client with:
{
"mcpServers": { "mcsa": { "command": "python", "args": ["-m", "mcp_server_mcsa"] } } }
⚠️ Common issue on Windows: if you installed Python from the Microsoft Store, the
mcp-server-mcsacommand may not be in your PATH, causing a "server disconnected" error. In that case, find your Python path withpython -c "import sys; print(sys.executable)"and use the full path in the config:
`json
{
"mcpServers": {
"mcsa": {
"command": "C:/Users/YOU/AppData/Local/.../python.exe",
"args": ["-m", "mcp_server_mcsa"]
}
}
}
`
Using
uvxavoids this problem entirely.
Alternative: install from source (for development)
git clone https://github.com/LGDiMaggio/mcp-motor-current-signature-analysis.git
cd mcp-motor-current-signature-analysis uv sync --dev
Configure the client to point to the local repo:
{
"mcpServers": { "mcsa": { "command": "uv", "args": ["--directory", "/absolute/path/to/mcp-motor-current-signature-analysis", "run", "mcp-server-mcsa"] } } }
Run tests:
uv run pytest
Debug with MCP Inspector:
uv run mcp dev src/mcp_server_mcsa/server.py
| Problem | Fix |
|---|---|
| "server disconnected" on Claude Desktop | Check the logs at %APPDATA%\Claude\logs\ (Windows) or ~/Library/Logs/Claude/ (macOS). Most common cause: the command in the config is not found. Use uvx to avoid PATH issues. |
uvx: command not found | Restart your terminal after installing uv. On Windows, you may need to close and reopen PowerShell. |
mcp-server-mcsa: command not found (pip) | The script wasn't added to PATH. Use python -m mcp_server_mcsa instead, or switch to uvx. |
| Server starts but tools don't appear | Make sure you restarted the MCP client after editing the config. |
Signals and spectra are persisted to disk as compressed .npz files in ~/.mcsa_data/ (configurable via the MCSA_DATA_DIR environment variable). This means:
sig_xxxx, spec_xxxx) and compact summaries are returned to the LLM.~/.mcsa_data/
signals/ sig_a1b2c3d4.npz ← loaded from CSV sig_e5f6g7h8.npz ← generated test signal spectra/ spec_i9j0k1l2.npz ← FFT result
Use list_stored_data to see everything on disk and clear_stored_data to remove items.
The fastest way to analyse a measured signal is the diagnose_from_file tool. Simply provide the file path and motor nameplate data:
"Diagnose the motor from
C:\data\motor_phaseA.csv— 50 Hz supply,
4 poles, 1470 RPM"
The server loads the file, preprocesses the signal, computes the spectrum, runs all fault detectors, and returns a complete JSON report with severity-classified results.
"Load the signal from
measurement.wav" → returnssignal_id: sig_a1b2
or: "Generate a test signal with a broken-rotor-bar fault" →
sig_c3d4
"Calculate motor parameters for a 4-pole motor, 50 Hz supply, running at 1470 RPM"
"What are the expected fault frequencies for this motor?"
"Preprocess signal sig_a1b2" → returns new
signal_id: sig_e5f6
"Compute the FFT spectrum of sig_e5f6" → returns
spectrum_id: spec_g7h8
"Check for broken rotor bars in spec_g7h8"
"Compute the envelope spectrum of sig_e5f6"
The run_full_diagnosis tool runs the entire pipeline on a stored signal in a single call:
Input: signal_id + motor nameplate data
Output: complete report with fault severities and recommendations
For bearing fault analysis, you need the bearing geometry (number of balls, ball diameter, pitch diameter, contact angle). The server will:
| Format | Extensions | Sampling Rate |
|---|---|---|
| CSV / TSV | .csv, .tsv, .txt | From time column or user-supplied |
| WAV | .wav | Embedded in header |
| NumPy | .npy | User-supplied |
Sidebands at $(1 \pm 2s) \cdot f_s$ where $s$ is slip and $f_s$ is supply frequency. Severity is classified by the dB ratio of sideband to fundamental amplitude.
冒頭だけを表示しています。続きはリポジトリで読めます