Skip to main content
Glama
Zhanyl-tech

slurm-mcp

by Zhanyl-tech

slurm-mcp

Ein schreibgeschützter MCP-Server, der Agenten den Zustand des Slurm-Schedulers bereitstellt. Die Allowlist wird im Code erzwungen, nicht in einem Prompt erbeten, und die Tool-Oberfläche nutzt progressive Offenlegung, damit eine Slurm-förmige Frage kein Slurm-förmiges Kontextfenster kostet.

v0.1.0. Der Guard, die Themenoberfläche und der stdio-Server sind gebaut und getestet. Der Server läuft gegen einen echten Cluster oder gegen aufgezeichnete Fixtures, wenn kein Slurm installiert ist.


Warum der Guard im Code steht

Ein System-Prompt, der „nur schreibgeschützte Befehle verwenden" sagt, ist eine Bitte, keine Kontrolle. Er fällt im Fehlerfall offen aus. Ein Jailbreak, ein fehlgeleiteter Tool-Aufruf oder eine gewöhnliche Halluzination genügt, um auf einem Produktions-Controller scontrol update zu erreichen.

Alles, was einen Node drainen könnte, muss unmöglich ausdrückbar sein, nicht nur untersagt. Deshalb liegt die Allowlist in guard.py und wird bei jedem Aufruf ausgeführt:

  • nur acht Lese-Binaries dürfen überhaupt laufen;

  • scontrol ist für show erlaubt und wird für update, reconfigure, shutdown, reboot, requeue, hold, power sowie fünfzehn weitere verweigert;

  • Shell-Metazeichen in Argumenten werden abgelehnt, und Befehle werden ohnehin nur mit shell=False ausgeführt — Defence in Depth, nicht die einzige Barriere.

Das Bedrohungsmodell ist kein böswilliger Benutzer. Es ist ein Agent, der um drei Uhr nachts eine verwirrende Log-Zeile gelesen hat und im Begriff ist, etwas Entscheidendes zu tun.

Die Tests prüfen dies nicht mit Behauptungen über Prompt-Text, sondern mit 51 echten Mutations- und Injektionsversuchen, denn eine Zusage auf Prompt-Ebene kann nicht getestet werden.

make test

Related MCP server: systemd-mcp

Progressive Offenlegung

Das naheliegende Design stellt ein Tool pro Binary bereit — sinfo, squeue, sacct, sdiag, sprio, sshare, scontrol, sacctmgr — jedes mit einem Schema für seine Flags. Slurms Flag-Oberfläche gewaltig ist, und das meiste davon ist für eine konkrete Frage irrelevant, aber das gesamte Kontext in jeder Runde trägt.

Dieser Server stellt dagegen drei Tools bereit:

Tool

wann

slurm_overview

Der Snapshot, mit dem die meisten Sessions starten — Nodes, Warteschlange und Diagnostik in einem Aufruf

slurm_query

Ein Thema plus optionale Filter. Themen sind ein geschlossenes Vokabular, keine Kommandozeile

slurm_describe

Spaltenbedeutungen und Filter für ein Thema, das nur bei Bedarf abgerufen wird

Gemessen, reproduzierbar mit make footprint:

  resident, three tools            1088 chars
  detail, fetched on request       3029 chars
  flat one-tool-per-binary         4441 chars  (4.1x resident)

Das ist eine Messung der Kontextkosten, kein Qualitätsanspruch. Es besagt, dass die Details nicht im Kontext liegen, bis sie angefragt werden; es besagt nicht, dass ein Agent irgendetwas besser diagnostiziert. Nichts hier wurde auf slurm-rca-bench ausgewertet.

Themen: queue, nodes, accounting, priority, fairshare, diagnostics, config.

Quickstart

Kein Cluster erforderlich.

make install
make surface      # the read-only allowlist, and what is denied
make demo         # a full overview against recorded fixtures
make footprint    # reproduce the context measurement above
make check        # ruff, ruff format, mypy --strict, pytest

Bei einem echten Cluster lässt du --fixtures weg:

slurm-mcp overview
slurm-mcp query queue --filter user=alice
slurm-mcp describe accounting

Als MCP-Server

pip install -e ".[server]"
slurm-mcp serve              # stdio; add --fixtures to serve recorded data

Richte einen MCP-Client auf diesen Befehl aus. Jede Antwort ist mit [live] oder [fixture] gekennzeichnet, damit aufgezeichnete Daten niemals mit einem echten Cluster-Readsch verwechselt werden.

Einschränkungen

  • Schreibschutz gilt nur für die eigenen Oberfläche des Servers. Er sandboxiert den Host nicht und trifft keine Aussage über die anderen Tools, die einem Agenten zur Verfügung gestellt wurden.

  • Die Fixtures sind illustrativ, kein Benchmark. Sie bilden eine plausible Cluster-Form, damit die Oberfläche lauffähig ist; aus ihnen darf kein Ergebnis zitiert werden.

  • Kein Scoring. Der Anspruch hier betrifft die Tool-Oberfläche, nicht die diagnostische Genauigkeit. Die Messung, ob progressive Offenlegung die Diagnose eines Agenten verändert, ist Aufgabe von cluster-sre-agent und ist nicht dann.

  • Ein einziger Slurm-Dialekt. Die Ausgabeformat wurde gegen die Spaltenlayouts von Slurm 25.x getestet. Ältere Versionen können abweichen.

  • sacct kann blockieren. Ein degradierter Accounting-Pfad bringt ihn zum Hängen, statt dass er Fehler meldet; Aufrufe laufen nach 20 Sekunden in eine Timeout und melden dies auch ein — weil ein Agent, der ewig wartet, schlechter ist als ein Agent, dem gesagt wird, dass der Lesezugriff fehlgeschlagen ist.

Verwandtes

  • cluster-sre-agent — der Agent, der eine solche Oberfläche nutzt. Aus seiner internen schreibgeschützten Tool-Schicht stammt dieses Design; dies Repo ist der eigenständige Server.

  • cluster-ops-skills — die Runbooks, die ein Agent befolgt, sobald er den Cluster lesen kann.

  • slurm-rca-bench — wo ein Anspruch auf diagnostische Qualität zu beweisen wäre.

Lizenz

MIT.

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables read-only interaction with Proxmox homelab VMs and containers, allowing LLM agents to list VMs, monitor status and performance metrics, view snapshots, and check cluster health through natural language queries.
    8
    MIT
  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    Provides AI assistants with safe, read-only access to Linux systemd services, including status monitoring, log querying, and dependency analysis, with optional granular permissions for service management actions.
    2
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to manage SLURM HPC clusters via SSH. Supports job submission, resource monitoring, queue management, and file operations.
    10
    4

View all related MCP servers

Related MCP Connectors

  • Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.

  • Runtime permission, approval, and audit layer for AI agent tool execution.

  • See, price, and control every tool call your AI agents make: policy checks, cost, and audit tools.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Zhanyl-tech/slurm-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server