denpex-mcp 0.1.0 → 0.2.0
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 +31 -9
- package/dist/index.js +710 -83
- package/package.json +5 -2
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@ 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
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** (300+ classes offline; the full corpus runs online) 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
|
|
|
13
13
|
---
|
|
@@ -17,9 +17,10 @@ straight off disk and hands back the root cause and the fix.
|
|
|
17
17
|
### 1. Get an API key (optional but recommended)
|
|
18
18
|
|
|
19
19
|
Sign in at **[denpex.com/dashboard](https://denpex.com/dashboard) → API Keys** and create a key (`dpx_…`).
|
|
20
|
-
The key unlocks
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
The key unlocks authenticated cloud diagnosis, your diagnosis history, quota, and fleet
|
|
21
|
+
incidents. *Without a key, `diagnose_crash` uses the same canonical anonymous engine as
|
|
22
|
+
the homepage's three free diagnoses. Set `DENPEX_LOCAL=1` explicitly for zero-egress;
|
|
23
|
+
`lookup_failure` and `analyze_cascade` remain available from the bundled offline data.*
|
|
23
24
|
|
|
24
25
|
### 2. Add it to your client
|
|
25
26
|
|
|
@@ -91,8 +92,9 @@ secure data centers, and privacy-sensitive labs. Add `DENPEX_LOCAL=1`:
|
|
|
91
92
|
} } }
|
|
92
93
|
```
|
|
93
94
|
|
|
94
|
-
The bundled engine (
|
|
95
|
-
localization) covers the
|
|
95
|
+
The bundled engine (fast patterns + a 300+-class encyclopedia snapshot + Xid routing + cascade
|
|
96
|
+
localization) covers the common failure classes; the full, continuously-grown corpus and the
|
|
97
|
+
deep-analysis tiers run online. The LLM fallback for novel
|
|
96
98
|
errors is cloud-only and simply unavailable offline.
|
|
97
99
|
|
|
98
100
|
---
|
|
@@ -101,19 +103,39 @@ errors is cloud-only and simply unavailable offline.
|
|
|
101
103
|
|
|
102
104
|
| Tool | What it does | Needs |
|
|
103
105
|
|------|--------------|-------|
|
|
104
|
-
| `diagnose_crash` | Root cause + escalating fix from `logs` / `file` / `dir`. |
|
|
105
|
-
| `lookup_failure` | Search the
|
|
106
|
+
| `diagnose_crash` | Root cause + escalating fix from `logs` / `file` / `dir`. Also accepts `telemetry` (dmesg / nvidia-smi / ibstat), `codeContext` and `topologyMap`. | canonical cloud by default; explicit offline mode |
|
|
107
|
+
| `lookup_failure` | Search the bundled encyclopedia (300+ classes) by code/keyword/symptom. | works offline |
|
|
106
108
|
| `analyze_cascade` | Find the culprit rank in a distributed hang; route Xid faults. | works offline |
|
|
109
|
+
| `submit_fix_outcome` | Report whether a fix worked. **This is what makes the next diagnosis better.** | API key |
|
|
107
110
|
| `check_quota` | Your plan and remaining diagnoses this month. | API key |
|
|
108
111
|
| `recent_diagnoses` | Recall your recent diagnoses and their fixes. | API key |
|
|
109
112
|
| `ask_followup` | Conversational follow-up on a diagnosis. | Team plan / trial |
|
|
110
113
|
| `check_versions` | Flag known-bad CUDA/PyTorch/NCCL/driver combos. | Team plan / trial |
|
|
114
|
+
| `compare_runs` | "It worked yesterday" — isolate what changed between a good run and a bad one. | Team plan / trial |
|
|
115
|
+
| `diff_environments` | Diff torch/CUDA/NCCL/driver versions and env vars between two runs. | Team plan / trial |
|
|
116
|
+
| `validate_checkpoint` | Find the newest checkpoint that is actually safe to resume from. | Team plan / trial |
|
|
117
|
+
| `preflight_check` | "Is this cluster safe to launch on?" — blockers before you burn GPU-hours. | Scale plan |
|
|
118
|
+
| `node_health` | Score every monitored node, worst first. | Scale plan |
|
|
119
|
+
| `predict_failures` | Nodes trending toward a failure that has not happened yet. | Scale plan |
|
|
111
120
|
| `list_incidents` | Incidents Denpex's monitor caught & escalated on your fleet. | Scale plan |
|
|
112
121
|
|
|
113
122
|
Gated tools degrade gracefully — they tell you exactly which plan unlocks them and which
|
|
114
123
|
tools work on your current plan. The failure encyclopedia is also exposed as resources at
|
|
115
124
|
`denpex://failures/{slug}`.
|
|
116
125
|
|
|
126
|
+
**Structured output.** Every tool above returns `structuredContent` alongside its
|
|
127
|
+
markdown, validated against a declared output schema — so an agent branches on
|
|
128
|
+
`confidenceBand === "low"` or iterates `rankedHypotheses` instead of regexing prose.
|
|
129
|
+
Two fields deserve attention when you write the agent loop:
|
|
130
|
+
|
|
131
|
+
- **`confidence: null`** does not mean zero. It means the engine measured this band's
|
|
132
|
+
historical accuracy and declined to state a number. Treat the verdict as a lead. Do
|
|
133
|
+
not substitute the raw score.
|
|
134
|
+
- **`unfalsified: true`** means no falsification contract ran on the verdict. It is
|
|
135
|
+
always true offline (the offline engine has no contract layer), so an offline
|
|
136
|
+
`GPU_XID_ECC` has *not* been checked against telemetry that would contradict it.
|
|
137
|
+
Confirm before you drain a node or file an RMA.
|
|
138
|
+
|
|
117
139
|
---
|
|
118
140
|
|
|
119
141
|
## Environment variables
|
|
@@ -132,7 +154,7 @@ tools work on your current plan. The failure encyclopedia is also exposed as res
|
|
|
132
154
|
```bash
|
|
133
155
|
npm install
|
|
134
156
|
npm run build # regenerates the offline corpus, then bundles dist/index.js
|
|
135
|
-
npm test #
|
|
157
|
+
npm test # 88 unit + protocol-integration tests
|
|
136
158
|
npm run inspector # interactive protocol inspector (MCP Inspector)
|
|
137
159
|
```
|
|
138
160
|
|