Security-first MCP server for operating remote HPC clusters (SSH + Slurm) from coding agents
HPC-MCP demonstrates solid foundational quality with complete input schemas, consistent naming conventions (verb_noun pattern), and comprehensive parameter descriptions. All 17 tools have explicit schemas with typed parameters and descriptions. Tool annotations (readOnlyHint, destructiveHint, idempotentHint) are properly declared. However, tool descriptions average ~80 chars (below the 194-char baseline for A+ tools), lacking context on WHEN to use each tool and dependencies between them. Output schemas are not documented, agents cannot predict response structure. Error handling is present but generic; most tools return HpcMcpError without recovery guidance. Security controls (audit logging, response redaction) are strong, but descriptions don't explain permission requirements or prerequisites.
Discover compute-node topology for parallel-optimization decisions (CPU model, sockets/cores/threads, SIMD, NUMA, cache hierarchy)
Delete remote files or directories
Download file from remote HPC cluster to local filesystem
List directory contents with pagination and recursive depth control
Read remote file content with bounded slice reads
Bounded, sandboxed search over remote files with pattern matching
Get file/directory metadata and statistics
Output schemas not documented. Agents cannot predict response structure (fields, types, pagination). Forces trial-and-error parsing and wastes tokens on unstructured output.
Tool descriptions lack WHEN/WHY context and inter-tool dependencies. E.g., hpc.files.list doesn't explain when to use it vs hpc.files.search, or that pagination requires understanding cursor semantics.
Error messages are generic (HpcMcpError). No recovery guidance. E.g., 'file not found' should suggest hpc.files.list to discover available paths, or 'partition not allowed' should list allowed partitions.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | <=2025-11-25 | v2 |
Upload file from local filesystem to remote HPC cluster
Write content to a remote file with bounded size limits
Diagnose a job's status, output, and resource usage
Wait for a job to complete and then diagnose its results
Create a snapshot of project files for analysis or archival
Execute whitelisted shell commands on login node with output limits
Cancel a submitted Slurm job
Retrieve job output and error logs from Slurm
Query status of a Slurm job
Submit a job to Slurm with resource policy enforcement
Destructive operations (hpc.files.delete, hpc.slurm.cancel) lack confirmation/dry-run pattern. Agents can irreversibly delete files or cancel jobs without explicit user approval.
Tool descriptions do not declare permission requirements (e.g., 'requires read:files', 'requires write:slurm'). Agents cannot reason about least-privilege configurations.