Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Auto Manager

БесплатноНе проверен

Enables natural language analysis of mechanical test data files (CSV, TDMS, MDF) by providing tools for channel statistics, spectrum analysis, rainflow fatigue

GitHubEmbed

Описание

Enables natural language analysis of mechanical test data files (CSV, TDMS, MDF) by providing tools for channel statistics, spectrum analysis, rainflow fatigue counting, thermal state detection, and report generation.

README

Measurement analysis for mechanical test engineers — load messy DAQ files, get answers in one command, and let your LLM drive the whole toolbox over MCP.

You ran the test. Now you have a CSV from one rig, a TDMS file from another, semicolons and decimal commas from the German lab, and a manager who wants a report. auto-manager reads all of it, figures out what each channel is (accelerometer? load cell? thermocouple?), runs the right analysis for each, and writes a self-contained HTML report with plain-English findings:

  • Accel_X: dominant frequency 32.5 Hz, Q≈16, broadband RMS 0.84 g (further peaks: 120.0 Hz).
  • Load: 186 fatigue cycles counted (rainflow, ASTM E1049), max range 24.6 kN; damage-equivalent constant-amplitude range 14.4 kN (m=5).
  • TC_Air: 3 steady plateau(s) at 25.0, 85.1, −20.1; max transition overshoot 5.1.
  • Force: possible clipping: 608 samples pinned at the minimum.

No project files, no wiring diagrams, no license server.

Install

pip install "auto-manager @ git+https://github.com/Maxpeng59/auto-manager"
# or, inside a clone:  pip install .

Python ≥ 3.10. MDF/MF4 support is an extra: pip install "auto-manager[mdf] @ git+...".

Try it in 60 seconds

automgr samples                                 # writes 3 realistic demo datasets
automgr info    samples/weld_fatigue_load.csv   # channels, units, detected kinds
automgr report  samples/bracket_vibration.csv --open   # full HTML report
automgr fatigue samples/weld_fatigue_load.csv -c Last
automgr thermal samples/thermal_chamber.csv

The demo files are deliberately awkward — a German export with semicolons, decimal commas and a metadata preamble; a tab file with ISO timestamps — because that is what real DAQ exports look like.

What it does

command what you get
automgr info FILE channels, units, auto-detected kinds, sample rate, duration, metadata
automgr stats FILE [-c CH] min/max/mean/RMS/crest factor + data-quality flags (NaN gaps, clipping)
automgr spectrum FILE -c CH Welch PSD: dominant peaks with Q estimates, broadband & band RMS
automgr fatigue FILE -c CH rainflow cycle counting per ASTM E1049 (validated against the standard's worked example), range histogram, damage-equivalent ranges, optional Miner damage with your S-N parameters
automgr thermal FILE [-c CH] soak plateau detection, ramp rates, controller overshoot
automgr report FILE everything above, chosen per channel automatically, as one shareable HTML file with charts, findings and a provenance footer (source hash, tool version)
automgr mcp all of it as MCP tools for Claude / any MCP client

Every command works with zero flags on a well-formed file; every error message says what to do next (--rate when a file has no time column, channel suggestions on typos, ...).

File formats

  • CSV / TXT / TSV — auto-detects delimiter (, ; tab), decimal commas, metadata preambles, separate unit rows, units embedded in headers (Load (kN), Accel [g]), datetime or elapsed-time columns, text status columns, NaN gaps.
  • TDMS (NI LabVIEW/DIAdem) — via npTDMS, including waveform timing and units.
  • MDF / MF4 (CANape, INCA, ...) — via asammdf ([mdf] extra).

The loaders normalise everything into one channel model, so a future live-DAQ backend feeds the same analyses.

Channel auto-classification

Units and names are strongly conventional in test data. g/m/s² → acceleration → PSD. kN/µε/Nm → load/strain/torque → rainflow. °C/TC_1/PT100 → temperature → steady-state detection. You can always override by calling a specific analysis on any channel.

Use it from an LLM (MCP)

auto-manager ships an MCP server so a model can be your natural-language front end — "load bench_run_042.csv, tell me whether the 32 Hz mode shifted vs. Tuesday's baseline, and write me a report" — while the numbers come from real signal processing, not from a model's imagination.

# Claude Code
claude mcp add automgr -- automgr mcp
// Claude Desktop (claude_desktop_config.json)
{ "mcpServers": { "automgr": { "command": "automgr", "args": ["mcp"] } } }

Exposed tools: measurement_info, channel_stats, spectrum, fatigue_rainflow, thermal_steady_states, channel_segment (inspect raw samples), generate_report, supported_formats. The model sees channel kinds and units, so it knows a kN channel gets rainflow, not an FFT.

Python API

import auto_manager as am

m = am.load("samples/bracket_vibration.csv")          # any supported format
psd = am.welch_psd(m.channel("Accel_X"), m.sample_rate)
print(psd["peaks"][0])        # {'freq_hz': 32.5, 'psd': ..., 'q_estimate': 16.2}

fat = am.rainflow(m.channel("Load"), sn_exponent=5, sn_ref_range=80.0, sn_ref_cycles=2e6)
soaks = am.steady_states(m.channel("TC_Air"), m.sample_rate)

from auto_manager.report import generate_report
generate_report(m)             # -> bracket_vibration.report.html

Honest limitations (v0.1)

  • File-based analysis only. Live DAQ (LabJack, VISA/SCPI instruments) is the next milestone — the channel model is already designed for it.
  • Steady-state detection is a windowed heuristic; its parameters (--slope-limit, --min-duration) are exposed and echoed into results for reproducibility.
  • Miner damage needs your S-N parameters; the reference slopes (m=3, m=5) shown by default are labelled as assumptions, not material data.
  • No unit conversion (a lbf channel stays in lbf) and no mean-stress correction yet.
  • Reports are generated automatically — review before you release them.

Roadmap

This is module 1 of a four-module plan for an AI-native hardware+software test bench (see research/2026-07-02-landscape-and-architecture.md for the full landscape study):

  1. Natural-language analysis over measurement filesyou are here
  2. Auto-control of external hardware (asyncio hardware-abstraction service as the LLM's tool surface; human approval on state-changing writes; simulation/dry-run backend)
  3. LLM-generated firmware for a fixed companion dev-board kit (two-domain firmware: frozen safety kernel + MPU-restricted app partition; sim→HIL pipeline; A/B rollback)
  4. Custom companion PCB (demand-gated)

Development

uv venv && uv pip install -e ".[dev]"
uv run pytest            # 47 tests, incl. ASTM E1049 vector & MCP stdio handshake
python examples/generate_sample_data.py   # regenerate examples/data

License

MIT

from github.com/Maxpeng59/auto-manager

Установка Auto Manager

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/Maxpeng59/auto-manager

FAQ

Auto Manager MCP бесплатный?

Да, Auto Manager MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Auto Manager?

Нет, Auto Manager работает без API-ключей и переменных окружения.

Auto Manager — hosted или self-hosted?

Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.

Как установить Auto Manager в Claude Desktop, Claude Code или Cursor?

Открой Auto Manager на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Auto Manager with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории development