Faneraiy14

nyxilum-mcp

Community Faneraiy14
Updated

MCP-сервер: AI-асистент компілює/запускає NyxilumLang (.nx) код напряму через NyxilumNode

nyxilum-mcp

MCP-сервер, що дозволяє AI-асистенту (Claude, Cursor тощо) напрямукомпілювати/запускати/лінтити/форматувати NyxilumLang (.nx) код черезNyxilumNode — без ручногоdotnet run/copy-paste в термінал.

Навіщо окремий репозиторій, а не частина NyxilumLang

node_modules цього проєкту не мав би потрапляти в dotnet-збірку чиpublish/ NyxilumLang. Живе поруч, як сестринський проєкт.

Встановлення

git clone https://github.com/Faneraiy14/NyxilumMcp.git
cd NyxilumMcp
npm install

Потрібен зібраний NyxilumNode поруч (../NyxilumLang за замовчуванням,dotnet build src/NyxilumLang там) — або задай шлях явно:

# Linux/Mac
export NX_NODE_PATH=/шлях/до/NyxilumLang   # .exe на Windows, .dll — тоді запускається через `dotnet`
# або
export NX_ECOSYSTEM_ROOT=/шлях/до/NyxilumLang
# Windows
$env:NX_NODE_PATH = "C:\шлях\до\NyxilumLang.exe"
# або
$env:NX_ECOSYSTEM_ROOT = "C:\шлях\до\NyxilumLang"

Підключення (Claude Desktop / Claude Code)

{
  "mcpServers": {
    "nyxilum": {
      "command": "node",
      "args": ["/шлях/до/NyxilumMcp/src/server.js"]
    }
  }
}

Інструменти

Інструмент Що робить
nyxilum_run Компілює й виконує код у пісочниці (окремий процес, timeout, ліміт GC-виділень)
nyxilum_lint Стильові попередження (довжина рядка, порожні блоки) — не перевірка синтаксису, завжди exitCode=0
nyxilum_format Форматує код
nyxilum_version Версія знайденого NyxilumNode — заодно health check
nyxilum_docs GUIDE.md цілком або конкретна секція (### -заголовок) за назвою

Безпека виконання (nyxilum_run)

  • Код НІКОЛИ не потрапляє в shell/argv як текст — завжди пишеться увласний тимчасовий файл, шлях до якого передається як звичайнийаргумент процесу (execFile, без shell: true).
  • Процесний timeout (типово 10с, максимум 60с) — єдиний реальнийзахист від while (true) {} без виділень пам'яті: NX_GC_MAX_OBJECTSрахує лише NyxilumLang-виділення (масиви/структури/мапи), а не ітераціїциклу самі по собі.
  • env — allowlist (PATH, SystemRoot, TEMP, DOTNET_ROOT тощо),не весь process.env цього серверного процесу.
  • NX_SANDBOX=1 (фіксовано, не залежить від вхідних аргументівінструмента) — файловий I/O обмежується тимчасовою текою запуску,мережа (httpGet/httpServer/wsConnect тощо) й читання зміннихсередовища (osEnv) повністю заборонені. Потребує NyxilumNode зпідтримкою NX_SANDBOX (див. NyxilumLang README);зі старішим бінарником прапорець просто ігнорується.
  • Вивід (stdout/stderr) обрізається до 32 КБ на потік — цикл, щодрукує мільйони рядків, не заповнить контекст відповіді.
  • Тимчасова тека видаляється в finally завжди, навіть при таймауті.

RunFile в Nx.cs пише Runtime Error:/Parse Error: у stdout(не stderr) і завершується з exitCode=1 — це поведінка самогоNyxilumNode, не цього сервера; кожен інструмент явно зазначає це в описі.

Тести

npm test

14 перевірок: smoke.mjs викликає обробники напряму (успішний запуск,необроблений throw, таймаут нескінченного циклу, gc_max_objects,обрізання великого виводу, стійкість до shell-метасимволів у коді,відсутність витоку тимчасових директорій), transport.mjs — те самечерез РЕАЛЬНИЙ MCP-протокол (StdioClientTransport + Client), нелише прямі виклики функцій.

Ліцензія

MIT — Faneraiy14.

MCP Server · Populars

MCP Server · New

    lyc403223157-source

    Knowledge Inbox

    Local-first knowledge ingestion for AI agents and Obsidian

    ipiton

    agent-memory-mcp

    MCP server that gives AI agents persistent memory with semantic search

    Community ipiton
    dialog-tools

    Dialog MCP Server

    Turn Reddit's chaos into structured insights with full citations. MCP server for competitive analysis, customer discovery, and market research. Zero-setup hosted solution with semantic search across 20,000+ subreddits.

    Community dialog-tools
    Bevel-Software

    hexis

    Git-backed skills, tools & context for AI agents

    Community Bevel-Software
    jonashertner

    OpenCaseLaw

    Open Swiss legal corpus + MCP server: 1M+ court decisions (1875–today), 21k laws, 10M-edge citation graph, 42 MCP tools. CC0 data, MIT code. Live at mcp.opencaselaw.ch

    Community jonashertner