152152 font-size : .7rem ; color : # 94a3b8 ; font-family : 'Inter' , sans-serif;
153153 }
154154
155- .badges { display : flex; justify-content : center; gap : .5rem ; flex-wrap : wrap; margin-top : 2rem ; }
155+ .badges { display : flex; justify-content : center; gap : .6rem ; flex-wrap : wrap; margin-top : 2rem ; }
156+ .badge-pill {
157+ display : inline-flex;
158+ align-items : center;
159+ gap : .4rem ;
160+ padding : .45rem .7rem ;
161+ border-radius : 999px ;
162+ border : 1px solid # bfdbfe ;
163+ background : # eff6ff ;
164+ color : # 1e3a8a ;
165+ font-size : .8rem ;
166+ font-weight : 600 ;
167+ }
168+ .badge-pill .muted { background : # f8fafc ; border-color : # cbd5e1 ; color : # 334155 ; }
156169 .stats { display : grid; grid-template-columns : repeat (auto-fit, minmax (140px , 1fr )); gap : 1.5rem ; padding : 3rem 0 ; text-align : center; }
157170 .stat-item .stat-num { font-size : 2.2rem ; font-weight : 800 ; color : var (--brand ); }
158171 .stat-item .stat-label { font-size : .85rem ; color : var (--text-muted ); margin-top : .2rem ; }
198211 .audience-card ul li { padding : .35rem 0 ; font-size : .92rem ; color : var (--text-primary ); }
199212 .audience-card ul li ::before { content : '✓ ' ; color : var (--success ); font-weight : 700 ; }
200213
201- .screenshots { display : grid; grid-template-columns : repeat (auto-fit, minmax (300px , 1fr )); gap : 1.5rem ; }
202- .screenshot-card { border-radius : 12px ; overflow : hidden; border : 1px solid var (--border-soft ); background : # fff ; }
203- .screenshot-card img { width : 100% ; display : block; }
204- .screenshot-card figcaption { padding : .8rem 1rem ; font-size : .88rem ; color : var (--text-muted ); text-align : center; }
214+ .chat-examples { display : grid; grid-template-columns : repeat (auto-fit, minmax (300px , 1fr )); gap : 1.25rem ; }
215+ .chat-card { border-radius : 12px ; border : 1px solid var (--border-soft ); background : # fff ; padding : 1.2rem ; }
216+ .chat-line { border-radius : 10px ; padding : .8rem .9rem ; margin-bottom : .6rem ; font-size : .9rem ; }
217+ .chat-line .user { background : # eff6ff ; border : 1px solid # bfdbfe ; color : # 1e3a8a ; }
218+ .chat-line .ai { background : # f0fdf4 ; border : 1px solid # bbf7d0 ; color : # 14532d ; }
219+ .chat-line : last-child { margin-bottom : 0 ; }
205220
206221 .cta-banner {
207222 background : linear-gradient (135deg , # 0d1117, # 161b22 );
215230 .cta-banner p { color : # cbd5e1 ; max-width : 560px ; margin : 0 auto 2rem ; font-size : 1.05rem ; }
216231 .cta-banner .btn-primary { background : # 238636 ; box-shadow : 0 2px 8px rgba (35 , 134 , 54 , .3 ); }
217232 .cta-banner .btn-primary : hover { background : # 2ea043 ; }
233+ .cta-banner .btn-outline {
234+ background : # ffffff ;
235+ color : # 0f172a !important ;
236+ border-color : # ffffff !important ;
237+ font-weight : 700 ;
238+ }
239+ .cta-banner .btn-outline : hover { background : # dbeafe ; }
218240
219241 footer {
220242 border-top : 1px solid var (--border-soft );
242264<!-- ==================== NAV ==================== -->
243265< nav aria-label ="Primary ">
244266 < div class ="container ">
245- < a href ="# " class ="logo "> < span > 🏭</ span > PM- MCP</ a >
267+ < a href ="# " class ="logo "> < span > 🏭</ span > PM MCP</ a >
246268 < ul >
247269 < li > < a href ="#features "> Features</ a > </ li >
248270 < li > < a href ="#how-it-works "> How It Works</ a > </ li >
256278<!-- ==================== HERO ==================== -->
257279< header class ="hero ">
258280 < div class ="container ">
259- < h1 > Turn Vibration Data into < em > Maintenance Decisions</ em > — with AI </ h1 >
281+ < h1 > From Machine Vibrations to < em > Clear Maintenance Decisions</ em > </ h1 >
260282 < p class ="tagline ">
261- An open- source MCP server that gives LLMs like Claude expert-level machinery diagnostics:
262- FFT analysis, bearing fault detection, ISO 20816 assessment — all through natural conversation .
283+ A friendly open source assistant for maintenance teams.
284+ Ask simple questions and get clear answers you can share right away .
263285 </ p >
264286 < div class ="hero-cta ">
265287 < a href ="https://github.com/LGDiMaggio/predictive-maintenance-mcp " class ="btn btn-primary " target ="_blank " rel ="noopener ">
@@ -276,11 +298,11 @@ <h1>Turn Vibration Data into <em>Maintenance Decisions</em> — with AI</h1>
276298 </ div >
277299
278300 < div class ="badges ">
279- < a href ="https://pypi.org/project/predictive-maintenance-mcp/ " target ="_blank " rel ="noopener "> < img alt =" PyPI version " src =" https://img.shields.io/pypi/v/predictive-maintenance-mcp?style=flat-square " loading =" lazy " > </ a >
280- < a href ="https://github.com/LGDiMaggio/predictive-maintenance-mcp/actions/workflows/tests.yml " target ="_blank " rel ="noopener "> < img alt =" Tests " src =" https://img.shields.io/github/actions/workflow/status/LGDiMaggio/predictive-maintenance-mcp/tests.yml?label=tests&style=flat-square " loading =" lazy " > </ a >
281- < a href ="https://codecov.io/gh/LGDiMaggio/predictive-maintenance-mcp " target ="_blank " rel ="noopener "> < img alt =" Coverage " src =" https://img.shields.io/codecov/c/github/LGDiMaggio/predictive-maintenance-mcp?style=flat-square " loading =" lazy " > </ a >
282- < img alt =" License MIT " src =" https://img.shields.io/badge/license- MIT-yellow?style=flat-square " loading =" lazy " >
283- < img alt =" Python 3.11+ " src =" https://img.shields.io/badge/python- 3.11+-blue?style=flat-square " loading =" lazy " >
301+ < a class =" badge-pill " href ="https://pypi.org/project/predictive-maintenance-mcp/ " target ="_blank " rel ="noopener "> 📦 PyPI ready </ a >
302+ < a class =" badge-pill " href ="https://github.com/LGDiMaggio/predictive-maintenance-mcp/actions/workflows/tests.yml " target ="_blank " rel ="noopener "> ✅ Tests passing </ a >
303+ < a class =" badge-pill " href ="https://codecov.io/gh/LGDiMaggio/predictive-maintenance-mcp " target ="_blank " rel ="noopener "> 📈 Full coverage </ a >
304+ < span class =" badge-pill muted " > 🛡 MIT license </ span >
305+ < span class =" badge-pill muted " > 🐍 Python 3.11 and newer </ span >
284306 </ div >
285307 </ div >
286308</ header >
@@ -307,7 +329,7 @@ <h1>Turn Vibration Data into <em>Maintenance Decisions</em> — with AI</h1>
307329 </ div >
308330 < div class ="stat-item ">
309331 < div class ="stat-num "> 100%</ div >
310- < div class ="stat-label "> Privacy- First</ div >
332+ < div class ="stat-label "> Privacy First</ div >
311333 </ div >
312334 </ div >
313335 </ div >
@@ -317,38 +339,38 @@ <h1>Turn Vibration Data into <em>Maintenance Decisions</em> — with AI</h1>
317339< section id ="features ">
318340 < div class ="container ">
319341 < h2 > What You Can Do</ h2 >
320- < p class ="section-sub "> Professional-grade diagnostics tools, accessible through any MCP-compatible AI assistant .</ p >
342+ < p class ="section-sub "> Everything is designed to be clear, practical, and easy to explain to your team .</ p >
321343
322344 < div class ="features-grid ">
323345 < div class ="feature-card ">
324346 < div class ="icon "> 📊</ div >
325- < h3 > FFT Spectrum Analysis </ h3 >
326- < p > Frequency-domain decomposition with automatic peak detection, harmonic identification, and dB-normalized visualization .</ p >
347+ < h3 > Spectrum Check </ h3 >
348+ < p > Find the strongest vibration components and spot recurring patterns in seconds .</ p >
327349 </ div >
328350 < div class ="feature-card ">
329351 < div class ="icon "> 🔍</ div >
330- < h3 > Envelope Analysis </ h3 >
331- < p > Bearing-fault-focused demodulation that reveals characteristic defect frequencies (BPFO, BPFI, BSF, FTF) hidden in raw signals .</ p >
352+ < h3 > Bearing Focus View </ h3 >
353+ < p > Highlight hidden bearing issues and understand where to inspect first .</ p >
332354 </ div >
333355 < div class ="feature-card ">
334356 < div class ="icon "> 📏</ div >
335- < h3 > ISO 20816-3 Assessment </ h3 >
336- < p > Automated vibration severity evaluation per international standards, with unit conversion (g ↔ mm/s) and hypothesis-based flow .</ p >
357+ < h3 > Standards Guidance </ h3 >
358+ < p > Get a plain language severity result based on international vibration guidance .</ p >
337359 </ div >
338360 < div class ="feature-card ">
339361 < div class ="icon "> 🤖</ div >
340- < h3 > ML Anomaly Detection </ h3 >
341- < p > Train models on healthy baseline data and predict anomalies in new signals. Isolation Forest with automatic feature extraction .</ p >
362+ < h3 > Early Warning Alerts </ h3 >
363+ < p > Compare with healthy behavior and catch unusual trends before failures happen .</ p >
342364 </ div >
343365 < div class ="feature-card ">
344366 < div class ="icon "> 📄</ div >
345- < h3 > Interactive HTML Reports</ h3 >
346- < p > Publication-quality reports with Plotly charts, auto-generated summaries, and shareable files for operations teams and management .</ p >
367+ < h3 > Shareable Reports</ h3 >
368+ < p > Generate clean reports with comments, charts, and a summary for managers .</ p >
347369 </ div >
348370 < div class ="feature-card ">
349371 < div class ="icon "> 📁</ div >
350- < h3 > Multi-Format Ingestion </ h3 >
351- < p > Load signals from CSV, MATLAB (.mat), WAV, NumPy (.npy), and Parquet — unified loading with automatic metadata handling .</ p >
372+ < h3 > Easy Data Import </ h3 >
373+ < p > Bring your vibration files in quickly and start analysis without manual cleanup .</ p >
352374 </ div >
353375 </ div >
354376 </ div >
@@ -358,20 +380,20 @@ <h3>Multi-Format Ingestion</h3>
358380< section id ="how-it-works " class ="surface-muted ">
359381 < div class ="container ">
360382 < h2 > How It Works</ h2 >
361- < p class ="section-sub "> Three steps from raw data to actionable insight .</ p >
383+ < p class ="section-sub "> Start quickly and move from question to decision with confidence .</ p >
362384
363385 < div class ="how-steps ">
364386 < div class ="how-step ">
365- < h3 > Install & Connect</ h3 >
366- < p > < code > pip install predictive-maintenance-mcp</ code > < br > Add to Claude Desktop, VS Code, or any MCP- compatible client.</ p >
387+ < h3 > Install and Connect</ h3 >
388+ < p > < code > pip install predictive-maintenance-mcp</ code > < br > Connect to Claude Desktop, VS Code, or another compatible client.</ p >
367389 </ div >
368390 < div class ="how-step ">
369391 < h3 > Ask in Plain Language</ h3 >
370392 < p > "Analyze the bearing vibration data and check if there's an outer race fault."</ p >
371393 </ div >
372394 < div class ="how-step ">
373- < h3 > Get Expert Analysis </ h3 >
374- < p > The AI orchestrates FFT, envelope, ISO checks — and delivers evidence-based results with interactive reports .</ p >
395+ < h3 > Receive a Clear Answer </ h3 >
396+ < p > The assistant runs the right checks in the background and gives a clear next step .</ p >
375397 </ div >
376398 </ div >
377399 </ div >
@@ -381,7 +403,7 @@ <h3>Get Expert Analysis</h3>
381403< section id ="who-its-for ">
382404 < div class ="container ">
383405 < h2 > Built for Two Audiences</ h2 >
384- < p class ="section-sub "> Whether you maintain machines or build AI tools — this project is your starting point.</ p >
406+ < p class ="section-sub "> Whether you maintain machines or build AI tools, this project is your starting point.</ p >
385407
386408 < div class ="audience-grid ">
387409 < div class ="audience-card ">
@@ -400,7 +422,7 @@ <h3>Reliability & Maintenance Engineers</h3>
400422 < div class ="audience-card ">
401423 < div class ="role-icon "> 💻</ div >
402424 < h3 > AI & Software Developers</ h3 >
403- < p > Learn MCP tool design and build industrial copilots on a production-ready foundation.</ p >
425+ < p > Learn MCP tool design and build industrial copilots on a solid foundation.</ p >
404426 < ul >
405427 < li > Study real MCP tool architecture</ li >
406428 < li > Extend with custom tools and datasets</ li >
@@ -418,27 +440,21 @@ <h3>AI & Software Developers</h3>
418440< section id ="screenshots " class ="surface-muted ">
419441 < div class ="container ">
420442 < h2 > See It in Action</ h2 >
421- < p class ="section-sub "> Professional visualizations generated through natural language commands.</ p >
422-
423- < div class ="screenshots ">
424- < figure class ="screenshot-card ">
425- < img src ="https://raw.githubusercontent.com/LGDiMaggio/predictive-maintenance-mcp/main/assets/envelope_analysis.png "
426- alt ="Envelope analysis showing bearing fault frequencies with BPFO, BPFI, BSF peaks "
427- loading ="lazy " width ="600 " height ="400 ">
428- < figcaption > Envelope analysis — bearing defect frequency identification</ figcaption >
429- </ figure >
430- < figure class ="screenshot-card ">
431- < img src ="https://raw.githubusercontent.com/LGDiMaggio/predictive-maintenance-mcp/main/assets/iso.png "
432- alt ="ISO 20816-3 vibration severity assessment chart with zone classification "
433- loading ="lazy " width ="600 " height ="400 ">
434- < figcaption > ISO 20816-3 vibration severity assessment</ figcaption >
435- </ figure >
436- < figure class ="screenshot-card ">
437- < img src ="https://raw.githubusercontent.com/LGDiMaggio/predictive-maintenance-mcp/main/assets/MCPserver.png "
438- alt ="MCP server architecture diagram showing tools, resources, and prompts "
439- loading ="lazy " width ="600 " height ="400 ">
440- < figcaption > MCP server architecture overview</ figcaption >
441- </ figure >
443+ < p class ="section-sub "> Real conversational examples that show how easy it feels to use.</ p >
444+
445+ < div class ="chat-examples ">
446+ < div class ="chat-card ">
447+ < div class ="chat-line user "> You: Is this pump safe to run for the next shift?</ div >
448+ < div class ="chat-line ai "> Assistant: Vibration is in the warning area. Plan inspection within 24 hours and reduce load by about 15 percent.</ div >
449+ </ div >
450+ < div class ="chat-card ">
451+ < div class ="chat-line user "> You: What should I check first on this motor?</ div >
452+ < div class ="chat-line ai "> Assistant: Start with the drive end bearing. I see a pattern consistent with outer race wear and rising energy over time.</ div >
453+ </ div >
454+ < div class ="chat-card ">
455+ < div class ="chat-line user "> You: Please create a short report for my manager.</ div >
456+ < div class ="chat-line ai "> Assistant: Done. Summary, risk level, recommended action, and charts are ready in a shareable html report.</ div >
457+ </ div >
442458 </ div >
443459 </ div >
444460</ section >
@@ -447,17 +463,17 @@ <h2>See It in Action</h2>
447463< section >
448464 < div class ="container ">
449465 < h2 > Technology Stack</ h2 >
450- < p class ="section-sub "> Built on battle-tested Python libraries and the open Model Context Protocol.</ p >
466+ < p class ="section-sub "> Built on proven Python libraries and the open Model Context Protocol.</ p >
451467 < div class ="features-grid ">
452468 < div class ="feature-card " style ="text-align:center ">
453469 < div class ="icon "> ⚡</ div >
454470 < h3 > FastMCP Framework</ h3 >
455- < p > High-performance MCP server with automatic schema generation and transport handling.</ p >
471+ < p > Fast MCP server with automatic schema generation and transport handling.</ p >
456472 </ div >
457473 < div class ="feature-card " style ="text-align:center ">
458474 < div class ="icon "> 🧪</ div >
459475 < h3 > SciPy + NumPy</ h3 >
460- < p > Industry-standard scientific computing for signal processing and spectral analysis.</ p >
476+ < p > Trusted scientific computing for signal processing and spectral analysis.</ p >
461477 </ div >
462478 < div class ="feature-card " style ="text-align:center ">
463479 < div class ="icon "> 🧠</ div >
@@ -473,12 +489,12 @@ <h3>scikit-learn</h3>
473489 < div class ="container ">
474490 < div class ="cta-banner ">
475491 < h2 > Ready to Transform Your Maintenance Workflow?</ h2 >
476- < p > Install in 60 seconds . Ask your first diagnostic question in under 5 minutes. No credit card, no vendor lock-in .</ p >
492+ < p > Install in one minute . Ask your first question in plain language. Clear answers, clear actions .</ p >
477493 < div class ="hero-cta ">
478494 < a href ="https://github.com/LGDiMaggio/predictive-maintenance-mcp " class ="btn btn-primary " target ="_blank " rel ="noopener ">
479495 Get Started on GitHub →
480496 </ a >
481- < a href ="https://pypi.org/project/predictive-maintenance-mcp/ " class ="btn btn-outline " style =" color:#fff;border-color:rgba(255,255,255,.3) " target ="_blank " rel ="noopener ">
497+ < a href ="https://pypi.org/project/predictive-maintenance-mcp/ " class ="btn btn-outline " target ="_blank " rel ="noopener ">
482498 View on PyPI
483499 </ a >
484500 </ div >
0 commit comments