Skip to main content
Glama

arx-mcp

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

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

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

Related MCP server: Arduino MCP Server (Simple)

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

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

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

export ARX_NODE_PATH=/шлях/до/ArxLang.exe   # чи .dll — тоді запускається через `dotnet`
# або
export ARX_ECOSYSTEM_ROOT=/шлях/до/ArxEcosystem

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

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

Інструменти

Інструмент

Що робить

arxlang_run

Компілює й виконує код у пісочниці (окремий процес, timeout, ліміт GC-виділень)

arxlang_lint

Стильові попередження (довжина рядка, порожні блоки) — не перевірка синтаксису, завжди exitCode=0

arxlang_format

Форматує код

arxlang_version

Версія знайденого ArxNode — заодно health check

arxlang_docs

GUIDE.md цілком або конкретна секція (### -заголовок) за назвою

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

  • Код НІКОЛИ не потрапляє в shell/argv як текст — завжди пишеться у власний тимчасовий файл, шлях до якого передається як звичайний аргумент процесу (execFile, без shell: true).

  • Процесний timeout (типово 10с, максимум 60с) — єдиний реальний захист від while (true) {} без виділень пам'яті: ARX_GC_MAX_OBJECTS рахує лише ArxLang-виділення (масиви/структури/мапи), а не ітерації циклу самі по собі.

  • env — allowlist (PATH, SystemRoot, TEMP, DOTNET_ROOT тощо), не весь process.env цього серверного процесу.

  • Вивід (stdout/stderr) обрізається до 32 КБ на потік — цикл, що друкує мільйони рядків, не заповнить контекст відповіді.

  • Тимчасова тека видаляється в finally завжди, навіть при таймауті.

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

Тести

npm test

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

Ліцензія

MIT — Faneraiy14.

F
license - not found
-
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

View all related MCP servers

Related MCP Connectors

  • Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.

  • Give AI coding agents access to your Vynix visual feedback, bug reports, and AI diagnosis.

  • Cross-agent artifact workspace with provenance across Claude Code, Codex, Cursor, LangGraph.

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/Faneraiy14/ArxMcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server