Raxol — Elixir-рантайм с MCP-инструментами для агентов
Raxol
Рантайм на Elixir: одно приложение выводится в терминал, браузер, SSH и MCP-инструменты, плюс терминальный агент для кода
- 81 ★ репозитория
- Последний коммит
Расширенный доступ
Почему такой уровень
- Кодовый агент меняет файлы и запускает команды, хотя каждое такое действие проходит механизм ALLOW, ASK и DENY
- Размещенный по SSH интерфейс открывает доступ нескольким пользователям с отдельными ключами
Установка
- Работает в
Ручная установка
В проекте Elixir запусти `mix mcp.server` и подключи его как stdio-сервер MCP. Для проверки интерфейса вызывай `type_into` и `click` на именованных компонентах. Для кодового агента `mix raxol.code` не отключай механизм ALLOW, ASK и DENY.
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Кодовый агент меняет файлы и запускает команды, хотя каждое такое действие проходит механизм ALLOW, ASK и DENY
- Размещенный по SSH интерфейс открывает доступ нескольким пользователям с отдельными ключами
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Raxol — рантайм на Elixir и OTP: приложение пишется одним модулем в архитектуре TEA с функциями `init`, `update` и `view` и работает как GenServer. Один код рендерится на четыре поверхности: терминал через NIF termbox2, браузер через Phoenix LiveView, SSH на стандартном `:ssh` и агент через MCP-инструменты. Каждый интерактивный компонент автоматически становится набором MCP-инструментов. Кнопка получает `click`, поле ввода получает `type_into`, `clear` и `get_value`, а фокусная линза оставляет около 15 подходящих инструментов на шаг. Агент видит структурированное дерево компонентов, пиксели ему не нужны. `mix mcp.server` запускает MCP-сервер по stdio для Claude Code, а модуль `Raxol.MCP.Test` дает тестовые сессии. В составе есть кодовый агент: `mix raxol.code` открывает терминальный интерфейс, `mix raxol.p` работает без интерфейса для конвейеров и CI. Каждый вызов инструмента с изменениями проходит через механизм ALLOW, ASK и DENY. Сессии журналируются на диск, интерфейс обслуживается и по SSH для многих пользователей.
Для кого. Elixir-разработчикам, которые делают терминальные и веб-интерфейсы на OTP и хотят дать агентам Claude Code управлять ими и тестировать их.
Подходит, если
- Приложение должно работать и в терминале, и в браузере из одного кода
- Агенту нужно кликать и вводить текст в интерфейсе через структурированные инструменты
- Интерфейс тестируется сценарием в Elixir с `click`, `type_into` и проверками
- Кодовый агент нужен в терминале с подтверждением каждой опасной правки
Не подходит, если
- Нужен готовый MCP-сервер для внешнего сервиса: Raxol делает инструменты из ваших компонентов
- Проект не на Elixir: рантайм требует Erlang и Elixir
- Нужен один терминальный интерфейс без остальных поверхностей: проще взять легкую TUI-библиотеку
Пример запроса к агенту
Запусти мое приложение в тестовой сессии Raxol, введи elixir в поле поиска, нажми submit и проверь, что результаты появились.MCP
- Транспорт
- stdio
- Авторизация
- не нужна
Переменные окружения
RAXOL_SHARE_SECRETсекрет- Секрет для подписанных ссылок на транскрипты сессий
Ограничения
Основа проекта — фреймворк для Elixir, отдельным сервером он не служит: MCP-инструменты появляются у ваших компонентов. Для запуска нужны Erlang, Elixir и зависимости через `mix deps.get`. Кодовый агент запускают из клона репозитория командой `bin/raxol-code`.
Если ключ провайдера модели не настроен, интерфейс открывает мастер подключения. Ссылка `/share` на транскрипт требует `RAXOL_SHARE_SECRET` и хоста с `Raxol.Agent.Code.ShareLive`. Размещенный SSH-вариант требует настройки каталога арендаторов или `--authorized-keys`.
Как отключить. Остановите процесс `mix mcp.server` и уберите запись из конфигурации клиента, например `claude mcp remove raxol`. Из проекта пакет удаляют правкой `mix.exs`.
Частые вопросы
Что такое Raxol?
Рантайм на Elixir и OTP, который выводит одно приложение в терминал, браузер, SSH и MCP-инструменты для агентов.
Как запустить MCP-сервер Raxol?
Командой `mix mcp.server` в проекте: сервер работает по stdio и рассчитан на интеграцию с Claude Code.
Какие инструменты появляются у компонентов?
Кнопка получает `click`, поле ввода получает `type_into`, `clear` и `get_value`. Фокусная линза оставляет около 15 инструментов на шаг.
Чем отличается `mix raxol.code` от `mix raxol.p`?
Первая команда открывает интерактивный терминальный агент, вторая работает без интерфейса: запрос идет в аргументах, ответ в stdout, события в stderr.
Какая лицензия?
MIT.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыПять коротких скиллов по Elixir, Phoenix, Ecto, OTP и Oban для Claude Code и Codex плюс необязательные проверки Mix.
CLI и MCP-сервер без зависимостей: строит по репозиторию граф вызовов, чтобы агент понял код без чтения файлов целиком
Локальный поиск и MCP-сервер для агентов: один бинарник на Rust индексирует код, документы и логи
Python-среда для работы агентов: границы задачи, независимая проверка результата и сохраненная передача между сессиями
MCP-сервер и CLI для исследования кода: поиск и разбор по вашему проекту и по всему GitHub с экономией токенов
Локальный граф знаний о коде с историей версий: MCP-сервер отвечает агенту, кто вызывает функцию и что сломается от правки
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| Raxol — Elixir-рантайм с MCP-инструментами для агентов (эта карточка) | нет | не нужна | 81 | |
| Elixir Agent Tools | нет | 192 | набор инструментов и скиллов для Elixir без рантайма интерфейсов | |
| OpenTUI | да | 13 808 | библиотека терминального интерфейса на TypeScript |
Коротко о README
README представляет Raxol как единый рантайм для четырех поверхностей и объясняет свойства виртуальной машины BEAM: изоляцию сбоев по компонентам, горячую замену кода и кластеризацию с CRDT. Дальше идут раздел об агентах, кодовый агент с доступом по SSH и протоколу ACP, быстрый старт `mix raxol.new` и сравнение с другими TUI-библиотеками.