slurm-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HPC_HOST | Yes | Login node hostname or IP (required) | |
| HPC_PORT | No | SSH port | 22 |
| HPC_USER | Yes | Cluster username (required) | |
| HPC_DOCS_DIR | No | Override the docs directory (default: docs/ next to the profile) | |
| HPC_KEY_PATH | Yes | Private key on your machine. With Docker it's mounted at /run/secrets/hpc_key | |
| HPC_PASSWORD | No | Only for servers that demand a password/second prompt in addition to the key | |
| HPC_PROJECTS | No | alias:path pairs, comma-separated. Relative paths are resolved under the first writable path, e.g. rna:projects/rnaseq,ref:/shared/ref/hg38 | |
| HPC_JUMP_HOST | No | Gateway host, like ssh -J | |
| HPC_JUMP_PORT | No | Gateway SSH port | 22 |
| HPC_JUMP_USER | No | Username on the gateway | HPC_USER |
| HPC_KNOWN_HOSTS | No | File with the cluster's host key(s) | ~/.ssh/known_hosts |
| HPC_CLUSTER_CONFIG | No | Cluster profile path (relative to the repo root) | cluster/cluster.toml |
| HPC_KEY_PASSPHRASE | No | Key passphrase, if the key has one | |
| HPC_COMMAND_TIMEOUT | No | Seconds before a remote command is abandoned | 30 |
| HPC_DEFAULT_PROJECT | No | Alias shown as the default project | |
| HPC_VERIFY_HOST_KEY | No | false disables host-key verification (not recommended) | true |
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
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| hpc_list_docsA | List the cluster documentation (site rules + SLURM basics). |
| hpc_read_docA | Read one documentation file. Partial names work, e.g. 'slurm', 'storage'. |
| hpc_search_docsB | Search all cluster documentation for a keyword or phrase. |
| hpc_list_directoryA | List a directory on the cluster (ls -lh). Does not fetch file content. |
| hpc_get_file_infoB | File metadata (size, type, permissions, mtime) without reading content. |
| hpc_read_fileA | Read a text file into context (≤1 MB). Larger files return a head/tail preview; binary files are refused. |
| hpc_head_fileA | First N lines of a file. Transparently decompresses .gz files (FASTQ, VCF, BED, …). |
| hpc_tail_fileA | Last N lines of a file. Ideal for checking live SLURM job logs. |
| hpc_search_in_fileA | grep a file for a pattern (basic regex). Streams, so safe for huge files. |
| hpc_find_filesB | Find files by name/type/size under a directory. Returns paths only. |
| hpc_storage_usageB | Free space (df) on the configured filesystems and the user's quota. |
| hpc_write_fileC | Create or overwrite a file in a writable location (none configured). Parent dirs are created. |
| hpc_edit_fileA | Replace an exact string in a file in a writable location. Fails if old_string is not unique unless replace_all=true. |
| hpc_resolve_projectA | Resolve a project alias to its directory. With no alias, lists projects and the readable/writable roots. |
| hpc_queueB | Show the SLURM queue (your jobs by default). |
| hpc_cluster_infoA | Partitions and node availability (sinfo). per_node=true shows CPUs, memory and GPUs for every node. |
| hpc_job_detailsB | Full details of one job (scontrol + sacct). |
| hpc_job_efficiencyA | CPU and memory efficiency of a finished job (seff/sacct). Use it to right-size future requests. |
| hpc_job_historyA | Your jobs from the last N days (sacct), optionally filtered by state. |
| hpc_list_reservationsB | List SLURM reservations. |
| hpc_submit_jobA | Submit an existing batch script with sbatch (runs from the script's directory). The script must be in a writable location. |
| hpc_cancel_jobB | Cancel one of your own jobs (scancel). |
| hpc_hold_jobA | Hold one of your own pending jobs. |
| hpc_release_jobA | Release one of your own held jobs. |
| hpc_generate_sbatchA | Generate an sbatch script, validated against the cluster's partition/QoS limits. Returns text only — save with hpc_write_file. |
| hpc_generate_rmdC | Generate an R Markdown notebook template that references data paths on the cluster. |
| hpc_generate_rmd_render_jobC | Generate an sbatch script that renders an R Markdown file on a compute node. |
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 27 tools
Tools are mostly distinct by resource and action, but a few overlap: read_file vs head/tail file, queue vs job_history, job_details vs job_efficiency, and generate_rmd vs generate_rmd_render_job. Descriptions clarify current vs past, full details vs efficiency, and template vs render job, so misselection risk is moderate rather than severe.
All tools use the hpc_ prefix and snake_case, which is highly predictable. The main deviation is that many names are noun-first (hpc_queue, hpc_cluster_info, hpc_job_details) rather than strict verb_noun, but the convention remains consistent and readable.
With 27 tools, the set is heavy, above the ideal 3-15 range and just over the 25+ 'too many' threshold. The broad HPC domain justifies many tools, but some file and job-query functions could likely be consolidated without losing capability.
The surface covers docs, filesystem browsing/reading, storage, project resolution, queue/partition info, job details/efficiency/history, reservations, submit/cancel/hold/release, and script generation. Minor gaps remain: no delete/move/copy for files, no job update or array-specific submission, and write/edit/submit depend on a writable location that the description says is not configured.