ns-hpc
ns-hpc — Servidor MCP para HPC con Namespaces
Un servidor Model Context Protocol (MCP) basado en Python que proporciona una interfaz segura y aislada para que los agentes de LLM interactúen con un clúster HPC. El mecanismo de aislamiento principal es bubblewrap (bwrap) para el aislamiento de espacios de nombres de usuario sin privilegios.
Arquitectura
LLM Agent (Claude, etc.)
│ MCP over STDIO (SSH)
▼
┌─────────────────────────────┐
│ ns-hpc MCP Server │
│ ┌───────────────────────┐ │
│ │ Managed MCP Proxy │──┼──► child MCP servers (filesystem, git, …)
│ └───────────────────────┘ │ inside bwrap container
│ ┌───────────────────────┐ │
│ │ Instance Manager │──┼──► ~/mcp_instances/{id}/workspace/
│ └───────────────────────┘ │ + metadata.json + audit.log
│ ┌───────────────────────┐ │
│ │ Task Manager │──┼──► local (Popen + bwrap)
│ │ │ │ or Slurm (sbatch + bwrap)
│ └───────────────────────┘ │
└─────────────────────────────┘Requisitos
Python ≥ 3.11
bubblewrap (
bwrap) — instalar:apt install bubblewrapodnf install bubblewrapEspacios de nombres de usuario habilitados —
sysctl kernel.unprivileged_userns_clone=1Slurm (opcional) — para enviar trabajos al clúster
Inicio rápido
# Install ns-hpc
cd ns-hpc
uv sync
# Run diagnostics
uv run ns-hpc doctor
# Start the MCP server (over STDIO — connect via SSH)
uv run ns-hpc runCLI
ns-hpc run # Start the MCP server over STDIO
ns-hpc doctor # Check bwrap, namespaces, and Slurm availability
ns-hpc --version # Show versionConfiguración
Edite config.toml para personalizar:
namespace_defaults— flags de bwrap (directorios de solo lectura, dev/proc/tmpfs, entorno)proxied_mcps— servidores MCP secundarios para ejecutar dentro de contenedores bwrapresource_defaults— valores predeterminados de Slurm para tiempo de ejecución (walltime), CPUs y memoriadata_dir— dónde se almacenan los espacios de trabajo de las instancias (predeterminado:~/mcp_instances)context_dir— directorio con archivos de documentación en Markdown
Herramientas MCP
Herramienta | Descripción |
| Crear un espacio de trabajo aislado con bwrap |
| Eliminar un espacio de trabajo y todos sus datos |
| Listar todas las instancias activas |
| Leer el registro de auditoría de una instancia |
| Ejecutar un comando dentro de bwrap (local o Slurm) |
| Consultar el estado y la salida de una tarea |
| Listar las tareas de una instancia |
| Cancelar una tarea en ejecución |
| Listar la documentación de HPC disponible |
| Leer un archivo de documentación |
Seguridad
Todos los comandos se ejecutan dentro de un espacio de nombres de usuario de bwrap — no se requiere root.
El registro de auditoría es escrito por el proceso anfitrión, nunca desde dentro del sandbox.
La red está deshabilitada por defecto (
--unshare-net).Aislamiento de instancias mediante directorios por instancia con montajes bind del espacio de trabajo.
Estructura del proyecto
ns-hpc/
├── config.toml # Main configuration
├── context/ # HPC documentation (exposed as MCP resources)
├── pyproject.toml # Project metadata & dependencies
└── src/ns_hpc/
├── __init__.py
├── __main__.py
├── cli.py # CLI entry point (run, doctor)
├── config.py # Pydantic config models + TOML loader
├── server.py # MCP server with all tool handlers + proxy
└── core/
├── bwrap_builder.py # bwrap argument list construction
├── instance_manager.py # Workspace CRUD + audit log
└── task_manager.py # Local & Slurm task executionThis server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/li-yq/namespaced-hpc-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server