Auto Manager
БесплатноНе проверенEnables natural language analysis of mechanical test data files (CSV, TDMS, MDF) by providing tools for channel statistics, spectrum analysis, rainflow fatigue
Описание
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
lbfchannel 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):
- Natural-language analysis over measurement files ← you are here
- 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)
- 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)
- 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
Установка Auto Manager
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/Maxpeng59/auto-managerFAQ
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
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare Auto Manager with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
