预测性维护MCP服务器
    
赋予任何人工智能助手分析振动数据、检测机械故障和生成专业诊断报告的能力——通过自然对话。
开源 主控程序 服务器和 预测性维护人工智能代理 这使LLM成为状态监测助手。工程师们用通俗易懂的语言描述他们需要什么;人工智能调用正确的分析工具并提供结果——轴承故障检测、风险评估、异常检测和剩余使用寿命估算。也可作为 Claude代码插件 具备7种诊断技能。它是专为 支持和加速专家决策.
______________________________________________________________________
快速开始
pip install predictive-maintenance-mcpWindows--自动设置(推荐):
克隆仓库并运行安装脚本——它安装venv、预编译依赖项并写入 claude_desktop_config.json 自动(也处理OneDrive/云同步路径):
git clone https://github.com/LGDiMaggio/predictive-maintenance-mcp.git
cd predictive-maintenance-mcp
.\setup_claude.ps1手动配置(Windows/macOS/Linux):
找到完整的路径 uvx 在您的系统上(where uvx 在Windows上, which uvx 在macOS/Linux上),然后添加到 %APPDATA%\Claude\claude_desktop_config.json (Windows)或 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
{
"mcpServers": {
"predictive-maintenance": {
"command": "/full/path/to/uvx",
"args": ["predictive-maintenance-mcp"],
"env": { "UV_LINK_MODE": "copy" }
}
}
}为什么是全程? Claude Desktop以最小的成本启动服务器PATH这通常会省略用户本地工具目录(例如。~/.local/bin).使用完整路径uvx避免了无声的“找不到命令”失败。在Windows上,典型的路径是C:\Users\\.local\bin\uvx.exe.
重新启动克劳德桌面。你准备好了——试试: *“加载real_train/OuterRaceFault_1.csv,检查轴承是否健康。”*
更多选项: 从源代码安装 · VS代码设置 · · 与当地LLM(Ollama)一起使用
______________________________________________________________________
看实际效果
Full diagnostic workflow: load signal → spectral analysis → fault detection → severity assessment → report generation
______________________________________________________________________
它能做什么?
上传振动信号→ 通过对话获得专业诊断。
| 你说 | 人工智能确实如此 |
|---|---|
| *“这个轴承健康吗?”* | 加载信号,运行频谱分析,检查故障模式,对严重程度进行分类 |
| *“生成完整的诊断报告”* | 生成带有图表、故障标记和严重性评估的交互式HTML报告 |
| *“从test_pump_manual.pdf中提取规格并诊断信号”* | 阅读设备手册,查找轴承型号,计算预期故障频率,将其与信号进行匹配 |
| *“在我的健康基线上训练一个异常检测器,然后标记异常”* | 在正常数据上训练机器学习模型,对新信号进行评分,突出异常值 |
AI不会猜测——它会呼叫 52个专用MCP端点 (46个工具、2个资源、4个提示)在您的计算机上本地运行。您的数据永远不会离开您的基础设施。
See the full endpoint list (52 MCP endpoints: 43 tools, 1 resource, 4 prompts)
信号采集(7个工具+2个资源)
| 端点 | 类型 | 描述 |
|---|---|---|
load_signal | 工具 | 加载振动文件(CSV、WAV、MAT、NPY、Parquet) |
list_signals | 工具 | 使用元数据浏览可用信号文件 |
list_stored_signals | 工具 | 列出内存中的缓存信号 |
get_signal_info | 工具 | 信号元数据(采样率、持续时间、统计数据) |
generate_test_signal | 工具 | 创建用于测试的合成信号 |
clear_signal / clear_all_signals | 工具 | 缓存管理 |
signal://list | 资源 | 浏览所有信号文件 |
signal://read/{filename} | 资源 | 读取信号元数据 |
光谱和统计分析(10个工具)
| 工具 | 说明 |
|---|---|
analyze_fft | 具有自动峰值检测功能的频谱 |
analyze_envelope | 轴承故障检测的包络分析 |
analyze_statistics | 时域特征(RMS、峰度、峰值因子) |
compute_power_spectral_density | 功率谱密度(Welch法) |
compute_spectrogram_stft | 时频谱图 |
extract_features_from_signal | 17+统计和光谱特征 |
compute_envelope_spectrum_tool | 包络谱计算 |
plot_signal / plot_spectrum / plot_envelope | 可视化工具(3个工具) |
诊断与健康评估(14种工具)
| 工具 | 说明 |
|---|---|
calculate_bearing_characteristic_frequencies | 根据轴承几何形状计算预期故障频率 |
check_bearing_fault_peak_tool | 检测故障频率处的峰值 |
check_bearing_faults_direct | 多故障检测(内/外/球/笼) |
diagnose_vibration_tool | 综合循证诊断管道 |
search_bearing_catalog | 按型号查找轴承规格 |
lookup_bearing_and_compute_tool | 目录查找+频率计算 |
evaluate_iso_20816 | 振动严重性评估(4个严重区) |
assess_vibration_severity | 健康分类 |
train_anomaly_model | 在健康基线上训练新颖性检测 |
predict_anomalies | 对异常的新信号进行评分 |
search_documentation | 设备手册语义检索 |
read_manual_excerpt / extract_manual_specs | 从PDF中提取规格(2个工具) |
list_machine_manuals | 浏览可用文档 |
报告(9个工具)
| 工具 | 说明 |
|---|---|
generate_fft_report | 交互式频率分析报告 |
generate_envelope_report | 带故障标记的包络分析 |
generate_iso_report | 严重区域可视化 |
generate_diagnostic_report_docx | 结构化Word文档报告 |
generate_pca_visualization_report | 2D/3D异常投影 |
generate_feature_comparison_report | 交叉信号特征比较 |
plot_iso_20816_chart | ISO 20816严重性区域图 |
list_html_reports / get_report_info | 报表管理(2个工具) |
预测(3个工具)
| 工具 | 说明 |
|---|---|
estimate_rul | 剩余使用寿命估算(线性、指数、威布尔、卡尔曼) |
analyze_signal_trend | 特征时间序列的趋势检测(增加/减少/稳定) |
detect_signal_degradation_onset | 用于早期退化预警的基线偏差检测 |
决策支持(3个工具)
| 工具 | 说明 |
|---|---|
check_vibration_alert | ISO 10816振动严重程度警报分类(A/B/C/D区) |
check_custom_vibration_alert | 基于阈值的自定义振动警报 |
generate_maintenance_recommendations | 基于诊断的情境感知维护建议 |
引导式工作流(4个提示+2个资源)
| 提示 | 描述 |
|---|---|
diagnose_bearing | 完整的轴承故障诊断决策树 |
diagnose_gear | 齿轮故障检测工作流程 |
quick_diagnostic_report | 快速健康筛查 |
generate_iso_diagnostic_report | 生成符合ISO标准的诊断报告 |
______________________________________________________________________
Claude代码插件
该项目包括 克劳德代码插件 具有在对话过程中自动激活的领域特定技能。安装后,Claude将获得有指导的诊断工作流程、自主代理和快速命令。
/plugin marketplace add LGDiMaggio/predictive-maintenance-mcp
/plugin install predictive-maintenance@predictive-maintenance-marketplaceClaude Code plugin: domain skills activate automatically, slash commands for quick diagnostics
技能(7)——根据上下文自动激活
| 技能 | 它做什么 |
|---|---|
| 轴承诊断 | 浏览完整的轴承故障诊断工作流程 |
| 齿轮诊断 | 通过频谱模式分析进行齿轮故障检测 |
| 快速筛查 | 30秒振动健康检查 |
| 报告生成 | 专业的HTML和Word报告生成 |
| 异常检测 | 训练并运行基于机器学习的异常检测模型 |
| 信号管理 | 加载、检查和管理振动信号 |
| 文档检索 | 搜索设备手册和轴承目录 |
代理(2)——自主执行复杂任务
| 代理 | 它做什么 |
|---|---|
| 诊断管道 | 端到端:负载信号→ 频谱分析→ 故障检测→ 严重性评估→ 报告 |
| 信号浏览器 | 探索和比较多个信号,发现异常值,描述模式 |
命令(3)——快速入口点
| 命令 | 示例 |
|---|---|
/pm-diagnose | /pm-diagnose bearing_signal.csv --全面故障诊断 |
/pm-screen | /pm-screen bearing_signal.csv --快速健康检查 |
/pm-report | /pm-report bearing_signal.csv full --生成所有报告 |
______________________________________________________________________
报告
所有分析工具生成 交互式HTML报告 您可以在任何浏览器中打开——平移、缩放、悬停以获取详细信息。还支持结构化Word(.docx)导出。
Report examples
| 报告类型 | 显示内容 |
|---|---|
| 频谱 | 峰值检测,谐波标记 |
| 包络分析 | 轴承故障频率匹配 |
| 严重性评估 | 振动健康区(ISO 20816-3) |
| Word文档 | 带有嵌入式图表的完整诊断叙述 |
| PCA可视化 | 多信号异常聚类 |
| 特征比较 | 并排信号特征分析 |
______________________________________________________________________
包含样本数据
该项目附带 20个真实的轴承振动信号 从生产机械测试中——开箱即用。
- 训练集:2个健康基线+12个故障信号(内圈、外圈)
- 测试集:1个健康基线+5个故障信号
尝试: *“加载real_train/OuterRaceFault_1.csv并诊断轴承故障。”*
完整的数据集文档: 数据/README.md
______________________________________________________________________
建筑
YOU (natural language)
│
v
LLM (Claude, GPT, Ollama...)
understands intent, selects tools
│
v ── Model Context Protocol ──
┌──────────────────────────────┐
│ Predictive Maintenance │
│ MCP Server │
│ │
│ Signal Analysis Reports │
│ Fault Detection ML │
│ Severity Rating RAG Docs │
└──────────────────────────────┘
│
v
YOUR DATA (stays local)
signals · manuals · models代码库遵循 模块化架构 围绕ISO 13374六块诊断标准组织——信号采集、处理、诊断、预测和决策支持作为单独的子包。
Detailed module structure
src/predictive_maintenance_mcp/
├── mcp_tools/ # MCP endpoint registration (52 MCP endpoints)
│ ├── acquisition_tools.py # Signal loading & management
│ ├── analysis_tools.py # Spectral & statistical analysis
│ ├── diagnostics_tools.py # Fault detection, ML, document search
│ ├── report_tools.py # HTML/DOCX report generation
│ ├── prompts.py # Guided diagnostic workflows
│ └── _utils.py # Shared utilities
├── signal_acquisition/ # Multi-format loaders (CSV, MAT, WAV, NPY, Parquet)
├── signal_processing/ # Spectral analysis & feature extraction
├── diagnostics/ # Bearing/gear analysis, ISO standards
├── decision_support/ # Evidence-based diagnosis pipeline
├── prognostics/ # RUL estimation (linear, exponential, Weibull) & trend analysis
├── rag.py # Document indexing & search (FAISS/TF-IDF)
├── models.py # Pydantic data models
├── server.py # FastMCP server entry point
└── config.py # Configuration management执行的标准:ISO 13374(诊断架构)、ISO 20816-3(振动严重程度分类)、MIMOSA OSA-CBM(基于状态的维护框架)。
关键设计选择:
- 隐私第一 --原始振动数据永远不会离开您的机器;只有计算结果流向LLM
- 法学硕士不可知论 --适用于Claude、ChatGPT、Microsoft Copilot Studio或任何兼容MCP的客户端。使用 奥拉玛 用于完全气隙部署
- 模块化 --只使用你需要的工具,用你自己的工具进行扩展
______________________________________________________________________
文档
| 指南 | 适用 |
|---|---|
| 工程师快速入门 | 快速获得结果,无需编码 |
| 开发人员快速入门 | 了解MCP,扩展服务器 |
| 插件自述 | Claude Code插件的安装和使用 |
| HTTPS部署 | 适用于企业环境的Docker+HTTPS |
| 奥利玛指南 | 与本地LLM一起使用(完全气隙) |
| 建筑 | ISO 13374块映射和模块设计 |
| 例子 | 完整的诊断工作流程 |
| 安装 | 详细的设置和故障排除 |
| 贡献 | 如何做出贡献(欢迎所有技能水平的人) |
| 更新日志 | 版本历史 |
______________________________________________________________________
测试
86%的测试覆盖率 跨Windows、macOS和Linux(Python 3.11和3.12)。
pytest # run all tests
pytest --cov=src --cov-report=html # with coverage report20多个测试文件,涵盖信号分析、故障检测、严重性评估、ML模型、报告生成、RAG搜索和实际轴承故障数据验证。
______________________________________________________________________
路线图
- \[x\] 52个模块化架构的MCP端点(43个工具、1个资源、4个提示)
- \[x\] Claude Code插件(7个技能,2个代理,3个命令)
- \[x\] 86%的测试覆盖率,3个平台上的CI/CD
- \[x\] 用于企业部署的Docker+SSE/HTTP传输
- \[x\] 语义文档搜索(FAISS+TF-IDF)
- \[\]可定制的严重性阈值
- \[x\] 剩余使用寿命(RUL)估计模型(线性、指数、威布尔退化)
- \[x\] 趋势分析和退化开始检测
- \[\]多信号趋势和历史比较
- \[\]实时流媒体(MQTT/Kafka)
- \[\]用于多资产监控的车队仪表板
- \[\]CMMS集成(SAP、Maximo、Infor)
______________________________________________________________________
相关
claude stwinbox诊断 --通过MCP将物理边缘传感器(STEVAL-STWINBX1)连接到Claude,并使用Claude Skills进行引导状态监测,从而扩展了该项目。相同的分析引擎、真实的硬件、操作员友好的报告。
______________________________________________________________________
贡献
欢迎投稿 所有人 --不仅仅是程序员。领域专家、技术作家和测试人员同样受到重视。看 贡献.md 根据您的背景量身定制的路径。
快速开始:浏览 问题 为了 good first issue 或 help wanted 标签。
______________________________________________________________________
引用
@software{dimaggio_predictive_maintenance_mcp_2025,
title = {Predictive Maintenance MCP Server},
author = {Di Maggio, Luigi Gianpio},
year = {2025},
version = {0.8.0},
url = {https://github.com/LGDiMaggio/predictive-maintenance-mcp},
doi = {10.5281/zenodo.17611542}
}许可证
麻省理工学院——见 许可证样本数据为CC BY-NC-SA 4.0(非商业);对于商业用途,请用您自己的机器数据替换。
致谢
______________________________________________________________________
*一个开源的预测性维护人工智能代理和状态监测副驾驶,旨在支持可靠性工程师和开发人员社区。*
