← Back to directory
C

CLIO Slurm

Community
MCP server for Slurm workload management and HPC job scheduling
GitHub source repository ↗
★ 26 Stars Category · Other Popular Source revision a0bc2ef89393
64FMRS · C

CLIO Slurm offers a clean job management interface for Slurm clusters. The tool naming and functionality are clear, and the confirmation mechanism reduces the risk of accidental destructive actions. As part of the IoWarp scientific computing ecosystem, it is aimed at HPC administrators and researchers who want to leverage AI in their workflows. As a subcomponent, its documentation relies heavily on the overall CLIO Kit, which may complicate standalone use when deployed as a single server.

Reliability
10/20
Security and permissions
14/20
Maintenance
14/20
Documentation
12/20
Setup experience
14/20
Read the FMRS scoring method →

CLIO Slurm is a Model Context Protocol (MCP) server that provides AI agents with an interface to the Slurm workload manager. It supports submitting jobs (including job arrays), listing and describing jobs, inspecting cluster partition information, and canceling jobs. The server runs over stdio via the clio-kit package using the command clio-kit mcp-server slurm. It is part of the CLIO Kit toolset from the IoWarp platform, developed by researchers at Illinois Institute of Technology with NSF support. This server is useful for agents that need to automate Slurm job management in scientific workflows.

Tools

slurm_submit
Submit one Slurm job or array and return its scheduler-native job ID. Set array only for an array submission.
slurm_list
List a bounded number of Slurm jobs with optional user, state, and partition filters. Returns native IDs and explicit truncation state.
slurm_describe
Describe one scheduler-native Slurm job: lifecycle state, terminality, scheduler properties, and optional bounded stdout/stderr tails.
slurm_cluster
Inspect bounded Slurm partition and queue records in one snapshot. Node details are excluded by default and bounded when requested.
slurm_cancel
Request destructive cancellation of one Slurm job. confirm_job_id must exactly repeat job_id; omission or mismatch is rejected without calling scancel.

Setup

  1. Ensure Python 3.10+ and uv are installed.
  2. Install CLIO Kit with uv tool install 'clio-kit==2.4.3' (or latest version).
  3. Update PATH: uv tool update-shell.
  4. Configure the server in your MCP client, for example:
   {"mcpServers": {"slurm-mcp": {"command": "clio-kit", "args": ["mcp-server", "slurm"]}}}
   
  1. Verify that Slurm commands (e.g., sinfo, squeue, sbatch, scancel) are available in your environment.

Fit and risk

Best for

  • Scientific computing users who need Slurm cluster management.
  • AI agent developers who want to automate HPC job lifecycles.

Not for

  • Systems that do not use Slurm as their scheduler (e.g., PBS, LSF).
  • Users who require a graphical interface or interactive terminal sessions.
  • Users who prefer manually scripted Slurm jobs over AI-driven interactions.

Required permissions

  • Requires access to Slurm commands (e.g., `sbatch`, `squeue`, `scontrol`, `scancel`, `sinfo`).
  • Depends on execution environment: listing jobs typically requires only user-level permissions; canceling or submitting jobs may require additional authorization.
  • May require access to the filesystem where job output files are stored.

Risks and side effects

  • The `slurm_cancel` tool is destructive—it cancels jobs, potentially losing progress. The built-in `confirm_job_id` mechanism helps prevent accidental cancellation, but misuse can still have impact.
  • Resource submission can consume significant cluster resources, potentially affecting other users.
  • Sensitive information may be exposed through job descriptions or outputs.
  • Misconfiguration in a shared HPC environment could lead to permission issues.

Troubleshooting

  1. Check that Slurm commands are available: run `which sbatch`, `which squeue`.
  2. Ensure `clio-kit` is correctly installed and the version is compatible.
  3. Look at server logs for detailed error messages.
  4. Verify that you have sufficient Slurm user permissions to perform the intended operations (e.g., canceling jobs).

Use cases

Submit simulation jobs to Slurm via natural language, e.g., 'Submit simulation.py to Slurm with 32 cores'.
Monitor job status and retrieve output.
Query cluster partition and queue information.

Supported clients

Claude DesktopFull support