slurm-mcp
slurm-mcp
Un servidor MCP de solo lectura que expone el estado del planificador Slurm a los agentes. La lista de permitidos se aplica en el código, no se solicita en un prompt, y la superficie de herramientas usa divulgación progresiva para que una pregunta con forma de Slurm no cueste una ventana de contexto con forma de Slurm.
v0.1.0. La salvaguarda, la superficie de temas y el servidor stdio están construidos y probados. Se ejecuta contra un clúster real o contra registros de prueba (fixtures) sin tener Slurm instalado.
Por qué la salvaguarda está en el código
Un prompt de sistema que diga «usa solo comandos de solo lectura» es una petición, no un control. En caso de fallo, queda abierto (fail open). Un jailbreak, una llamada a herramienta confusa o una alucinación corriente es suficiente para llegar a scontrol update en un controlador de producción.
Cualquier cosa que pudiera drenar un nodo tiene que ser imposible de expresar, no solo desaconsejada. Por eso la lista de permitidos vive en guard.py y se ejecuta en cada invocación:
solo ocho binarios de lectura pueden ejecutarse en absoluto;
scontrolestá permitido parashowy denegado paraupdate,reconfigure,shutdown,reboot,requeue,hold,powery otros quince;los metacaracteres de shell en los argumentos se rechazan, y de todos modos los comandos se ejecutan con
shell=False— defensa en profundidad, no la única barrera.
El modelo de amenaza no es un usuario malintencionado. Es un agente que a las 3 de la madrugada ha leído una línea de log confusa y está a punto de hacer algo decisivo.
Las pruebas lo demuestran con 51 intentos reales de mutación e inyección, en lugar de comprobar el texto de un prompt, porque una promesa a nivel de prompt no se puede probar:
make testRelated MCP server: systemd-mcp
Divulgación progresiva
El diseño evidente expone una herramienta por binario — sinfo, squeue, sacct, sdiag, sprio, sshare, scontrol, sacctmgr — cada una con un esquema para sus opciones. La superficie de opciones de Slurm es enorme y la mayor parte es irrelevante para una pregunta concreta, pero toda ello queda en el contexto en cada turno.
Este servidor expone tres herramientas:
herramienta | cuándo |
| la instantánea con la que se abre la mayoría de las sesiones — nodos, cola y diagnósticos en una sola llamada |
| un tema más filtros opcionales. Los temas son un vocabulario cerrado, no una línea de comandos |
| los significados de las columnas y filtros de un tema, que se recuperan solo cuando se necesitan |
Medido y reproducible con make footprint:
resident, three tools 1088 chars
detail, fetched on request 3029 chars
flat one-tool-per-binary 4441 chars (4.1x resident)Esa es una medición del coste de contexto, no una afirmación de calidad. Dice que el detalle no está en el contexto hasta que se solicita; no dice que el agente vaya a diagnosticar mejor nada. Nada de esto se ha evaluado con slurm-rca-bench.
Temas: queue, nodes, accounting, priority, fairshare, diagnostics, config.
Inicio rápido
No se necesita un clúster.
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, pytestContra un clúster real, elimina la opción --fixtures:
slurm-mcp overview
slurm-mcp query queue --filter user=alice
slurm-mcp describe accountingComo servidor MCP
pip install -e ".[server]"
slurm-mcp serve # stdio; add --fixtures to serve recorded dataApunte cualquier cliente MCP a ese comando. Cada respuesta está etiquetada como [live] o [fixture], así los datos grabados nunca se pueden confundir con una lectura real del clúster.
Limitaciones
El modo de solo lectura se aplica únicamente a la superficie de este servidor. No aísla el host, y no dice nada sobre qué otras herramientas se han dado a un agente.
Los fixtures son ilustrativos, no un benchmark. Tienen una forma plausible de clúster para que la superficie sea ejecutable; no se debe citar ningún resultado obtenido de ellos.
Sin puntuación. La afirmación aquí es sobre la superficie de centrales, no sobre la exactitud del diagnóstico. Medir si la divulgación progresiva cambia el diagnóstico de un agente es tarea de
cluster-sre-agent, y aún no se ha hecho.Un solo dialecto de Slurm. Los formatos de salida se prueban contra los diseños de columnas de Slurm 25.x. Las versiones antiguas pueden diferir.
sacctpuede bloquearse. Un sistema de contabilidad degradado hace que se cuelgue en lugar de devolver error; las llamadas se abortan a los 20 segundos y así lo indican, porque un agente que espera para siempre es peor que un agente al que se le dice que la lectura falló.
Relacionados
cluster-sre-agent — el agente que consume una superficie como esta. Esa capa interna de herramientas de solo lectura es de donde surgió este diseño; este repositorio es el servidor independiente.
cluster-ops-skills — los runbooks que sigue un agente una vez que puede leer el clúster.
slurm-rca-bench — donde debería demostrarse una afirmación sobre la calidad del diagnóstico.
Licencia
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