slurm-mcp
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;
scontrolist fürshowerlaubt und wird fürupdate,reconfigure,shutdown,reboot,requeue,hold,powersowie fünfzehn weitere verweigert;Shell-Metazeichen in Argumenten werden abgelehnt, und Befehle werden ohnehin nur mit
shell=Falseausgefü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 testRelated 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 |
| Der Snapshot, mit dem die meisten Sessions starten — Nodes, Warteschlange und Diagnostik in einem Aufruf |
| Ein Thema plus optionale Filter. Themen sind ein geschlossenes Vokabular, keine Kommandozeile |
| 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, pytestBei einem echten Cluster lässt du --fixtures weg:
slurm-mcp overview
slurm-mcp query queue --filter user=alice
slurm-mcp describe accountingAls MCP-Server
pip install -e ".[server]"
slurm-mcp serve # stdio; add --fixtures to serve recorded dataRichte 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-agentund ist nicht dann.Ein einziger Slurm-Dialekt. Die Ausgabeformat wurde gegen die Spaltenlayouts von Slurm 25.x getestet. Ältere Versionen können abweichen.
sacctkann 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.
This server cannot be installed
Maintenance
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
- AlicenseAqualityDmaintenanceEnables 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.8MIT
- AlicenseNot gradedqualityNot gradedmaintenanceProvides 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
- AlicenseNot gradedqualityDmaintenanceEnables interaction with Slurm HPC clusters via SSH, allowing job submission, monitoring, and error diagnosis through MCP clients like Claude Desktop.6MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage SLURM HPC clusters via SSH. Supports job submission, resource monitoring, queue management, and file operations.104
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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