ns-hpc
ns-hpc — MCP-сервер для HPC с использованием пространств имен
Сервер Model Context Protocol (MCP) на базе Python, который предоставляет безопасный изолированный интерфейс для LLM-агентов для взаимодействия с HPC-кластером. Основным механизмом изоляции является bubblewrap (bwrap) для изоляции пространств имен непривилегированных пользователей.
Архитектура
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)
│ └───────────────────────┘ │
└─────────────────────────────┘Требования
Python ≥ 3.11
bubblewrap (
bwrap) — установка:apt install bubblewrapилиdnf install bubblewrapВключенные пространства имен пользователей —
sysctl kernel.unprivileged_userns_clone=1Slurm (опционально) — для отправки заданий в кластер
Быстрый старт
# 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 versionКонфигурация
Отредактируйте config.toml для настройки:
namespace_defaults— флаги bwrap (директории только для чтения, dev/proc/tmpfs, переменные окружения)proxied_mcps— дочерние MCP-серверы, запускаемые внутри контейнеров bwrapresource_defaults— значения по умолчанию для Slurm (время выполнения, CPU, память)data_dir— место хранения рабочих пространств экземпляров (по умолчанию:~/mcp_instances)context_dir— директория с файлами документации в формате Markdown
Инструменты MCP
Инструмент | Описание |
| Создать рабочее пространство, изолированное через bwrap |
| Удалить рабочее пространство и все его данные |
| Список всех активных экземпляров |
| Прочитать журнал аудита для экземпляра |
| Выполнить команду внутри bwrap (локально или через Slurm) |
| Запросить статус и вывод задачи |
| Список задач для экземпляра |
| Отменить выполняемую задачу |
| Список доступной документации по HPC |
| Прочитать файл документации |
Безопасность
Все команды выполняются внутри пространства имен пользователей bwrap — права root не требуются.
Журнал аудита записывается хост-процессом, никогда изнутри «песочницы».
Сеть по умолчанию отключена (
--unshare-net).Изоляция экземпляров осуществляется через директории для каждого экземпляра с монтированием рабочих пространств.
Структура проекта
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