jobstate
Tools for AI agents to submit, watch and report on Slurm jobs on the JSC supercomputers JUPITER, JURECA, JUWELS and JUSUF: an MCP server (jobstate-mcp) and a command-line tool (jobstate).
Instead of polling squeue turn after turn, an agent waits for its jobs with one tool call, or is notified when they end; a long job costs one model turn at the end. Submissions go through a dry run and a separate confirmation, under limits and budget guards the server enforces itself.
Install
pip install jobstate
Or with uv: uv tool install jobstate.
On a JSC login node, check the setup and add the server to Claude Code:
jobstate check
claude mcp add -s user jobstate -- jobstate-mcp
From your own machine the server reaches the cluster over ssh:
jobstate check --cluster jupiter --host <your ssh config name>
claude mcp add -s user jobstate-jupiter -- jobstate-mcp --cluster jupiter --host <your ssh config name>
Tools
job_status, list_jobs, job_summary, tail_log, job_report (GPU efficiency from LLview), watch_job, wait_for_jobs, cluster_info, and, unless configured read-only, submit_job (a dry run), confirm_submit and cancel_job. End-of-job events carry exit code, run time against the limit, busy cores, peak memory, I/O and node-hours from Slurm accounting.
Configuration (allowed accounts, tighter limits, read-only mode, ntfy or webhook notifications) goes into ~/.config/jobstate-mcp/config.yaml. Python 3.12 or later.
Metadata
Release files for jobstate 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| jobstate-0.2.0.tar.gz | 78.1 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jobstate-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 178.6 kB
Release files / jobstate-0.2.0.tar.gz
| Download URL | jobstate-0.2.0.tar.gz |
|---|---|
| Size | 78.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3e90236a4c967cce7b382c3fa61a1dcc654ebe6b7944ed365606ba0e2e1d6fd7
|
|
BLAKE2b-256 checksum How to use checksums |
4b4e5873f71670a6ff3a395a53c5410d1ec88dc7d2b52103d876aa669e4b3292
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.3
|
Release files / jobstate-0.2.0-py3-none-any.whl
| Download URL | jobstate-0.2.0-py3-none-any.whl |
|---|---|
| Size | 100.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9eedc2bc804b68adb68881be3c40e25eb89def92df131f52042612d35555e291
|
|
BLAKE2b-256 checksum How to use checksums |
372d8c2f7d5893797dc6b0ae811b2e0d2f04ab15db0ccaad55767abdcd40655f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.3
|
Security for jobstate 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.