WorkloadTruth MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| classify_workloadA | Classify what a GPU is actually doing right now (TRAINING, INFERENCE, or IDLE) from raw telemetry alone -- utilization, memory-growth slope, and power draw -- with no reliance on a job's self-reported label and no inspection of its code, weights, or data. Call this to catch cost misallocation (a job billed as low-priority "inference" that is really running full training) or an unauthorized workload change (an inference endpoint that quietly starts training on live traffic). Do not call it for compliance/regulatory reporting -- no such requirement exists for this signal, see the README's "What WorkloadTruth is not" section. Prerequisites: Side effects: read-only and safe to call repeatedly by default. It
blocks for roughly Parameters: Returns a dict with |
| run_benchmarkA | Measure the shipped rule-based classifier's accuracy against documented synthetic GPU telemetry, both clean and under a deliberate evasion transform that mimics an operator disguising a training job as inference. Call this to report or sanity-check classifier robustness (e.g.
before citing accuracy numbers, or after changing a threshold in
Side effects: none. Purely computational, no files written, no
network calls, no GPU access. Deterministic and idempotent -- the
same Parameters: Returns a dict with |
| verify_audit_logA | Verify that a local WorkloadTruth audit log's hash chain is intact, i.e. no entry was edited, reordered, or deleted after it was written. Call this before trusting historical Prerequisites: the file at Side effects: read-only. Opens and reads Parameters: Returns a dict with |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 3 tools
Each tool targets a clearly distinct action: classify_workload performs live classification, run_benchmark tests the classifier on synthetic data, and verify_audit_log checks log integrity. There is no overlap or plausible confusion between tool purposes.
All three tool names follow a consistent verb_noun snake_case pattern: classify_workload, run_benchmark, verify_audit_log. The naming is uniform and each verb clearly indicates the action.
Three tools is within the well-scoped 3-15 range, and each tool earns its place: one for core classification, one for benchmark/evaluation, and one for audit verification. No tool feels redundant or missing from the core set.
The primary workflow is fully covered: classifying a workload, evaluating classifier robustness, and verifying audit logs. A minor gap is the absence of a continuous monitoring/watch tool, but that does not block the server's stated purpose.