disk-health-mcp
MCP server for disk health diagnostics: SMART, NVMe, ZFS, RAID and I/O metrics, with manufacturer-aware severity assessment.
Part of the Server MCP suite. It exposes 13 read-mostly tools and can
use InfluxDB/Telegraf data before falling back to smartctl/nvme-cli over SSH or
locally. Every tool publishes a structured ToolResponse next to the readable text.
Streamable HTTP is available with --transport streamable-http (loopback by default,
bearer token for other addresses).
Storage coverage includes ZFS, mdadm and mergerFS + SnapRAID (SnapRAID status and a mount summary), so the same server can diagnose NAS stacks that do not use ZFS or RAID.
InfluxDB lookups use only successful SMART samples (exit_status = 0) from the last 24
hours and ignore standby rows instead of presenting them as zeroed health data. Reports
show the sample timestamp, model and serial, plus the live lsblk identity when it can be
resolved. A sample older than two 5-minute poll intervals (10 minutes) is marked stale, and
recent non-success polls are reported instead of hidden. A serial that does not match the
live device is named as a mismatch and is never rendered as the requested disk's health.
run_smart_test pre-flights smartctl and uses -n standby, so it reports an unavailable
tool or a sleeping disk instead of starting a test blindly. Telegraf -> InfluxDB is the
supported SMART source; Prometheus is optional and
the smartmon_* metrics require node_exporter with its smartmon collector. A
loopback-only InfluxDB can be reached with the optional ssh_tunnel block (or a manual
ssh -N -L); see configuration.
uv run --directory apps/disk-health-mcp disk-health-mcp
Requires a config file; see config.example.yaml in this directory. The SMART attribute
database is generated offline with scripts/generate_smartdb.py.
Metadata
Release files for disk-health-mcp 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| disk_health_mcp-0.4.0.tar.gz | 66.0 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| disk_health_mcp-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 108.6 kB
Release files / disk_health_mcp-0.4.0.tar.gz
| Download URL | disk_health_mcp-0.4.0.tar.gz |
|---|---|
| Size | 66.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d72968a3d7d4ac0f0ed27e5e3597ef0a5d91de8ab11eee4f48e58df6823c3576
|
|
BLAKE2b-256 checksum How to use checksums |
f90d476fdcee0b9e956c697be51c906be937c5732a5b5395b291465935a8bea0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / disk_health_mcp-0.4.0-py3-none-any.whl
| Download URL | disk_health_mcp-0.4.0-py3-none-any.whl |
|---|---|
| Size | 42.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b8d70e3609cab8ad6e66af486f46cbe27abef44af8c64eb2c0209b42d4585178
|
|
BLAKE2b-256 checksum How to use checksums |
b2f59f0c6a21ad63ff9ca024622a93718040101aca9b4bba0e1ced1053ebf523
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for disk-health-mcp 0.4.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.