使用说明
mcp服务器mcsa
A. 模型上下文协议(MCP)服务器 为了 电机电流特征分析(MCSA) --利用定子电流信号对电动机进行无创频谱分析和故障检测。
mcp服务器mcsa 将任何LLM变成预测性维护专家。通过整合先进技术,如 快速傅里叶变换(FFT) 和 包络分析,系统可以 听 通过自然语言自动识别电机的电气特征,并自动识别机械和电气异常。
MCSA是一种行业标准的状态监测技术,它分析定子电流的谐波含量,以检测电动机中的转子、定子、轴承和气隙故障,而不需要振动传感器、停机时间或物理访问机器。该服务器将完整的MCSA诊断工作流程带到任何兼容MCP的AI助手(Claude Desktop、VS Code Copilot等),实现交互式专家分析和自动状态监测管道。
特性
- 真实信号加载 --从CSV、TSV、WAV和NumPy读取测量数据
.npy文件 - 电机参数计算 --铭牌数据中的转差、同步速度、转子频率
- 故障频率计算 --转子断条、偏心、定子故障、混合偏心
- 轴承缺陷频率 --轴承几何形状的BPFO、BPFI、BSF、FTF
- 信号预处理 --直流去除、归一化、开窗、带通/陷波滤波
- 光谱分析 --FFT频谱、Welch PSD、频谱峰值检测
- 包络分析 --机械/轴承故障的Hilbert变换解调
- 时频分析 --非平稳条件下具有频率跟踪的短时傅里叶变换
- 故障检测 --自动严重程度分类(健康/初期/中度/重度)
- 一次性诊断 --来自信号阵列或直接来自文件的完整管道
- 测试信号生成 --用于演示和基准测试的具有可配置故障注入的合成信号
- 持久数据存储 --信号和频谱保存到
~/.mcsa_data/压缩后.npz文件夹;由短ID引用(sig_xxxx,spec_xxxx)将大型数组排除在聊天环境之外;数据在服务器重启后仍然存在
工具(21)
| 工具 | 说明 |
|---|---|
inspect_signal_file |
在不加载的情况下检查信号文件格式和元数据 |
load_signal_from_file |
从CSV/WAV/NPY文件加载电流信号→ 回报 signal_id |
calculate_motor_params |
根据电机数据计算转差、同步速度、转子频率 |
compute_fault_frequencies |
计算所有常见故障类型的预期故障频率 |
compute_bearing_frequencies |
根据轴承几何形状计算BPFO、BPFI、BSF、FTF |
preprocess_signal |
直流去除、滤波、归一化、开窗管道→ 返回新 signal_id |
compute_spectrum |
单侧FFT振幅谱→ 回报 spectrum_id |
compute_power_spectral_density |
Welch PSD估计→ 回报 spectrum_id |
find_spectrum_peaks |
检测并表征光谱中的峰值 |
detect_broken_rotor_bars |
带严重性分类的BRB故障指数 |
detect_eccentricity |
通过边带检测气隙偏心 |
detect_stator_faults |
定子匝间短路检测 |
detect_bearing_faults |
从电流频谱检测轴承缺陷 |
compute_envelope_spectrum |
调制分析的Hilbert包络谱 |
compute_band_energy |
频带内的积分频谱能量 |
compute_time_frequency |
带可选频率跟踪的短时傅里叶变换分析 |
generate_test_current_signal |
带可选故障的合成电机电流→ 回报 signal_id |
run_full_diagnosis |
从信号或 signal_id |
diagnose_from_file |
直接从文件中完成MCSA诊断流程 |
list_stored_data |
列出磁盘上保存的所有信号和光谱 |
clear_stored_data |
从磁盘中删除一个或所有存储的项目 |
资源
| URI | 描述 |
|---|---|
mcsa://fault-signatures |
故障特征、频率和经验阈值参考表 |
提示
| 提示 | 描述 |
|---|---|
analyze_motor_current |
MCSA分析的分步指导工作流程 |
安装和设置
步骤1--安装uv(一次性,如果你没有的话)
紫外线 是推荐的Python包管理器。它在一个工具中处理所有内容(Python、包、虚拟环境),并在整个MCP生态系统中使用。
视窗 (PowerShell):
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
macOS/Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
安装后, 重新启动终端 所以
uv/uvx命令可用。
第2步——验证它是否有效
uvx mcp-server-mcsa --help
您应该看到帮助文本。 就这样 --没有 pip install 需要。 uvx 在隔离环境中自动下载并运行该包。
步骤3--添加到MCP客户端
选择您的客户端并在下面添加配置。 不需要其他步骤。
克劳德桌面
打开配置文件:
- 视窗:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
添加 mcsa 里面 mcpServers object(如果文件不存在,则创建该文件):
{
"mcpServers": {
"mcsa": {
"command": "uvx",
"args": ["mcp-server-mcsa"]
}
}
}
然后 重新启动克劳德桌面.
VS代码(复制/继续)
创建(或编辑) .vscode/mcp.json 在您的工作空间中:
{
"servers": {
"mcsa": {
"command": "uvx",
"args": ["mcp-server-mcsa"]
}
}
}
光标
首选 设置→ MCP服务器→ 添加新服务器:
- 类型:
command - 命令:
uvx mcp-server-mcsa
第4步——测试
在您的MCP客户端中,尝试:
生成转子条断裂故障的测试信号,并进行全面诊断。电机:4极,50 Hz,1470 RPM
如果服务器返回诊断报告,则一切就绪。
Alternative: install with pip (not recommended — see note)
pip install mcp-server-mcsa
然后使用以下配置您的客户端:
{
"mcpServers": {
"mcsa": {
"command": "python",
"args": ["-m", "mcp_server_mcsa"]
}
}
}
⚠️ Windows上的常见问题:如果您从Microsoft Store安装了Python
mcp-server-mcsa命令可能不在您的PATH中,导致“服务器断开连接”错误。在这种情况下,使用以下命令查找Python路径python -c "import sys; print(sys.executable)"并在配置中使用完整路径:{ "mcpServers": { "mcsa": { "command": "C:/Users/YOU/AppData/Local/.../python.exe", "args": ["-m", "mcp_server_mcsa"] } } }使用
uvx完全避免了这个问题。
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
配置客户端以指向本地仓库:
{
"mcpServers": {
"mcsa": {
"command": "uv",
"args": ["--directory", "/absolute/path/to/mcp-motor-current-signature-analysis", "run", "mcp-server-mcsa"]
}
}
}
运行测试:
uv run pytest
使用MCP检查器进行调试:
uv run mcp dev src/mcp_server_mcsa/server.py
故障排除
| 问题 | 修复 |
|---|---|
| Claude Desktop上的“服务器已断开连接” | 请查看以下日志 %APPDATA%\Claude\logs\ (Windows)或 ~/Library/Logs/Claude/ (macOS)。最常见的原因:找不到配置中的命令。使用 uvx 以避免PATH问题。 |
uvx: command not found |
安装uv后重新启动终端。在Windows上,您可能需要关闭并重新打开PowerShell。 |
mcp-server-mcsa: command not found (pip) |
脚本未添加到PATH中。使用 python -m mcp_server_mcsa 相反,或切换到 uvx. |
| 服务器已启动,但工具未显示 | 请确保在编辑配置后重新启动了MCP客户端。 |
数据存储
信号和频谱 持久化到磁盘 压缩后 .npz 文件
在 ~/.mcsa_data/ (可通过配置 MCSA_DATA_DIR 环境
变量)。这意味着:
- 大型数组永远不会进入聊天 --只有短ID(
sig_xxxx,spec_xxxx)并且紧凑的摘要被返回给LLM。 - 数据在服务器重启后仍然存在 --明天重新打开克劳德桌面 你的信号仍然存在。
- 所有数据集中在一个地方 --加载测量和生成测试 信号并排显示在同一文件夹中。
~/.mcsa_data/
signals/
sig_a1b2c3d4.npz ← loaded from CSV
sig_e5f6g7h8.npz ← generated test signal
spectra/
spec_i9j0k1l2.npz ← FFT result
使用 list_stored_data 查看磁盘上的所有内容 clear_stored_data
删除项目。
使用示例
真实信号——一次性诊断
分析测量信号的最快方法是 diagnose_from_file
工具。只需提供文件路径和电机铭牌数据:
“从以下方面诊断电机
C:\data\motor_phaseA.csv--50Hz电源, 4极,1470转/分”
服务器加载文件,预处理信号,计算频谱, 运行所有故障检测器,并返回一个完整的JSON报告 严重程度分级结果。
分步工作流程(带信号ID)
-
加载测量信号 (或生成一个合成的):
“从以下位置加载信号
measurement.wav" → 回报signal_id: sig_a1b2或:“生成转子断条故障的测试信号”→sig_c3d4 -
计算电机参数:
“计算以1470 RPM运行的4极50 Hz电源电机的电机参数”
-
计算预期故障频率:
“此电机的预期故障频率是多少?”
-
对信号进行预处理:
“预处理信号sig_a1b2”→ 返回新
signal_id: sig_e5f6 -
分析频谱:
“计算sig_e5f6的FFT频谱”→ 回报
spectrum_id: spec_g7h8 -
检测特定故障:
“检查spec_g7h8中的转子线棒是否断裂”
-
包络分析(可选):
“计算sig_e5f6的包络谱”
基于存储信号的快速诊断
这 run_full_diagnosis 该工具根据存储的信号运行整个管道
在一次通话中:
Input: signal_id + motor nameplate data
Output: complete report with fault severities and recommendations
轴承分析
对于轴承故障分析,您需要轴承几何形状(球的数量, 球直径、节径、接触角)。服务器将:
- 计算特征缺陷频率(BPFO、BPFI、BSF、FTF)
- 计算预期的当前边带
- 在频谱中搜索那些边带
支持的文件格式
| 格式 | 扩展名 | 采样率 |
|---|---|---|
| CSV/TSV | .csv, .tsv, .txt |
从时间列或用户提供 |
| WAV | .wav |
嵌入表头 |
| NumPy | .npy |
用户提供 |
故障检测理论
转子杆断裂(BRB)
$(1\pm2s)\cdot f_s$处的边带,其中$s$为滑动,$f_s$为供电频率。 严重性根据边带与基波振幅的dB比进行分类。
偏心
$f_s\pm k\cdot f_r$处的边带,其中$f_r$是转子机械频率。
定子匝间故障
由于绕组不对称,$f_s\pm 2k\cdot f_r$处的边带。
轴承缺陷
扭矩振荡调节定子电流,在$f_s\pm k\cdot f_{defect}$处产生边带。 缺陷频率取决于轴承几何形状(BPFO、BPFI、BSF、FTF)。
严重性阈值(低于基本值dB)
| 级别 | 范围 |
|---|---|
| 健康 | ≤-50 dB |
| 初期 | -50至-45 dB |
| 中等 | -45至-40 dB |
| 严重 | >-35 dB |
备注:这些是一般准则。实际阈值应根据基线测量值适应特定的电机、负载和应用。
发展
设置
git clone https://github.com/LGDiMaggio/mcp-motor-current-signature-analysis.git
cd mcp-motor-current-signature-analysis
uv sync --dev
运行测试
uv run pytest
使用MCP检查器运行
uv run mcp dev src/mcp_server_mcsa/server.py
棉绒和类型检查
uv run ruff check src/ tests/
uv run pyright src/
依赖项
文档
有关每个工具、资源和提示的详细参考,包括 参数表、诊断工作流、集成模式和严重性 阈值——请参见 使用指南.
引用
如果您在研究中使用此软件,请引用它:
@software{dimaggio_mcsa_2025,
author = {Di Maggio, Luigi Gianpio},
title = {mcp-server-mcsa: MCP Server for Motor Current Signature Analysis},
year = 2025,
url = {https://github.com/LGDiMaggio/mcp-motor-current-signature-analysis},
license = {MIT}
}
GitHub展示了 “引用此存储库” 按钮自动从
CITATION.cff文件。
许可证
麻省理工学院——见 许可证 了解详情。