Skip to main content
Glama
Zhanyl-tech

slurm-mcp

by Zhanyl-tech

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;

  • scontrol está permitido para show y denegado para update, reconfigure, shutdown, reboot, requeue, hold, power y 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 test

Related 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

slurm_overview

la instantánea con la que se abre la mayoría de las sesiones — nodos, cola y diagnósticos en una sola llamada

slurm_query

un tema más filtros opcionales. Los temas son un vocabulario cerrado, no una línea de comandos

slurm_describe

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, pytest

Contra un clúster real, elimina la opción --fixtures:

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

Como servidor MCP

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

Apunte 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.

  • sacct puede 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.

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