denpex-mcp 0.2.15 → 0.2.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -11
- package/dist/index.js +2474 -2183
- package/package.json +55 -55
package/README.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# Denpex MCP server
|
|
2
2
|
|
|
3
|
-
Diagnose GPU/ML training failures
|
|
4
|
-
checkpoint corruption
|
|
3
|
+
Diagnose GPU/ML training failures. CUDA OOM, NCCL timeouts, Xid faults, NaN loss,
|
|
4
|
+
checkpoint corruption, **without leaving your AI tool**. Ask Claude Desktop, Cursor,
|
|
5
5
|
or Claude Code to *"diagnose the crash in `./logs/train.err`"* and Denpex reads the log
|
|
6
6
|
straight off disk and hands back the root cause and the fix.
|
|
7
7
|
|
|
8
8
|
- 🩺 **Root cause + escalating fix** (primary → fallback → emergency), verification command, and prevention.
|
|
9
|
-
- 🧭 **Find the culprit rank** in a distributed/NCCL hang, and route GPU Xid faults to the right node action
|
|
9
|
+
- 🧭 **Find the culprit rank** in a distributed/NCCL hang, and route GPU Xid faults to the right node action, offline, instantly.
|
|
10
10
|
- 📚 **Bundled failure encyclopedia** (500+ documented classes) searchable by error code or symptom.
|
|
11
11
|
- 🔒 **Zero-egress mode** (`DENPEX_LOCAL=1`): diagnose entirely on-host, nothing leaves the machine. Plus client-side PII scrubbing even in cloud mode.
|
|
12
12
|
|
|
@@ -75,7 +75,7 @@ claude mcp add denpex -e DENPEX_API_KEY=dpx_your_key_here -- npx -y denpex-mcp
|
|
|
75
75
|
|
|
76
76
|
### 3. Use it
|
|
77
77
|
|
|
78
|
-
> "My training job crashed
|
|
78
|
+
> "My training job crashed, diagnose the log at `./logs/rank0.err`."
|
|
79
79
|
> "What does Xid 79 mean?"
|
|
80
80
|
> "This 64-GPU run is hung. Which rank failed first?" *(→ `analyze_cascade`)*
|
|
81
81
|
|
|
@@ -85,7 +85,7 @@ Or pick the **`diagnose-training-crash`** prompt your client surfaces.
|
|
|
85
85
|
|
|
86
86
|
## Offline / air-gapped mode
|
|
87
87
|
|
|
88
|
-
Diagnose entirely on-host
|
|
88
|
+
Diagnose entirely on-host, no network, no logs leaving the cluster. Ideal for VPCs,
|
|
89
89
|
secure data centers, and privacy-sensitive labs. Add `DENPEX_LOCAL=1`:
|
|
90
90
|
|
|
91
91
|
```json
|
|
@@ -115,20 +115,20 @@ are unavailable offline.
|
|
|
115
115
|
| `recent_diagnoses` | Recall your recent diagnoses and their fixes. | API key |
|
|
116
116
|
| `ask_followup` | Conversational follow-up on a diagnosis. | Team plan / trial |
|
|
117
117
|
| `check_versions` | Flag known-bad CUDA/PyTorch/NCCL/driver combos. | Team plan / trial |
|
|
118
|
-
| `compare_runs` | "It worked yesterday"
|
|
118
|
+
| `compare_runs` | "It worked yesterday", isolate what changed between a good run and a bad one. | Team plan / trial |
|
|
119
119
|
| `diff_environments` | Diff torch/CUDA/NCCL/driver versions and env vars between two runs. | Team plan / trial |
|
|
120
120
|
| `validate_checkpoint` | Find the newest checkpoint that is actually safe to resume from. | Team plan / trial |
|
|
121
|
-
| `preflight_check` | "Is this cluster safe to launch on?"
|
|
121
|
+
| `preflight_check` | "Is this cluster safe to launch on?", blockers before you burn GPU-hours. | Scale plan |
|
|
122
122
|
| `node_health` | Score every monitored node, worst first. | Scale plan |
|
|
123
123
|
| `predict_failures` | Nodes trending toward a failure that has not happened yet. | Scale plan |
|
|
124
124
|
| `list_incidents` | Incidents Denpex's monitor caught & escalated on your fleet. | Scale plan |
|
|
125
125
|
|
|
126
|
-
Gated tools degrade gracefully
|
|
126
|
+
Gated tools degrade gracefully, they tell you exactly which plan unlocks them and which
|
|
127
127
|
tools work on your current plan. The failure encyclopedia is also exposed as resources at
|
|
128
128
|
`denpex://failures/{slug}`.
|
|
129
129
|
|
|
130
130
|
**Structured output.** Every tool above returns `structuredContent` alongside its
|
|
131
|
-
markdown, validated against a declared output schema
|
|
131
|
+
markdown, validated against a declared output schema, so an agent branches on
|
|
132
132
|
`confidenceBand === "low"` or iterates `rankedHypotheses` instead of regexing prose.
|
|
133
133
|
Two fields deserve attention when you write the agent loop:
|
|
134
134
|
|
|
@@ -145,7 +145,7 @@ Two fields deserve attention when you write the agent loop:
|
|
|
145
145
|
|
|
146
146
|
| Variable | Default | Purpose |
|
|
147
147
|
|----------|---------|---------|
|
|
148
|
-
| `DENPEX_API_KEY`
|
|
148
|
+
| `DENPEX_API_KEY` |, | Your `dpx_…` key. Enables cloud tools. |
|
|
149
149
|
| `DENPEX_API_URL` | `https://api.denpex.com` | Override the API base (self-host / staging). |
|
|
150
150
|
| `DENPEX_LOCAL` | `0` | `1` → diagnose entirely on-host (zero egress). |
|
|
151
151
|
| `DENPEX_PRIVACY` | `off` | `mask` / `strict` → scrub PII from logs **before** they leave the machine. |
|
|
@@ -163,4 +163,4 @@ npm run inspector # interactive protocol inspector (MCP Inspector)
|
|
|
163
163
|
|
|
164
164
|
The offline corpus (`src/data/denpex_patterns.json`) and canonical engine
|
|
165
165
|
(`src/offline/canonical-engine.mjs`) are generated from the repo's single source of truth
|
|
166
|
-
during `npm run build
|
|
166
|
+
during `npm run build`, never hand-edit either artifact.
|