Raxol: an Elixir runtime with MCP tools for agents

Raxol

An Elixir runtime: one app renders to terminal, browser, SSH and MCP tools, plus a terminal coding agent with approval gates

  • 81 ★ on the repository
  • Last commit
  • MIT
MCP server

Extended access

Why this level

  • The coding agent edits files and runs commands, although each such action passes an ALLOW, ASK and DENY mechanism
  • The SSH-hosted interface gives several users access with separate keys
All reasons and checks

droodotfoo/raxol

Install

Manual install

Text for your agent

In an Elixir project run `mix mcp.server` and connect it as a stdio MCP server. To check an interface call `type_into` and `click` on named components. With the `mix raxol.code` coding agent do not disable the ALLOW, ASK and DENY mechanism.

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • The coding agent edits files and runs commands, although each such action passes an ALLOW, ASK and DENY mechanism
  • The SSH-hosted interface gives several users access with separate keys

This is third-party code. Review the repository files before installing.

What it does

Raxol is an Elixir and OTP runtime: an app is written as one module in the TEA architecture with `init`, `update` and `view` functions and runs as a GenServer. One codebase renders to four surfaces: terminal through the termbox2 NIF, browser through Phoenix LiveView, SSH over the standard `:ssh` and an agent through MCP tools. Every interactive component automatically becomes a set of MCP tools. A button gets `click`, a text input gets `type_into`, `clear` and `get_value`, and a focus lens keeps about 15 relevant tools per step. The agent sees a structured component tree and needs no pixels. `mix mcp.server` starts an MCP server over stdio for Claude Code, and the `Raxol.MCP.Test` module provides test sessions. The package also contains a coding agent: `mix raxol.code` opens a terminal interface and `mix raxol.p` runs headless for pipelines and CI. Every tool call that changes things passes through an ALLOW, ASK and DENY mechanism. Sessions are journaled to disk and the interface is also served over SSH to many users.

Who it is for. Elixir developers building terminal and web interfaces on OTP who want Claude Code agents to drive and test them.

Good fit when

  • An app must run in both terminal and browser from one codebase
  • An agent should click and type in an interface through structured tools
  • An interface is tested by an Elixir script with `click`, `type_into` and assertions
  • You want a coding agent in the terminal that asks before each risky edit

Not a fit when

  • You need a ready MCP server for an external service: Raxol builds tools from your components
  • Your project is not on Elixir: the runtime needs Erlang and Elixir
  • You need only a terminal interface without the other surfaces: a light TUI library is simpler

Example request

Run my app in a Raxol test session, type elixir into the search field, click submit and check that results appear.

MCP

Transport
stdio
Authentication
not required

Environment variables

RAXOL_SHARE_SECRET secret
Secret for signed links to session transcripts

Limitations

The core of the project is an Elixir framework and it serves no standalone role: the MCP tools appear on your own components. Erlang, Elixir and dependencies through `mix deps.get` are needed to run it. The coding agent is launched from a repository clone with `bin/raxol-code`.

If no model provider key is set, the interface opens a connection wizard. The `/share` transcript link needs `RAXOL_SHARE_SECRET` and a host with `Raxol.Agent.Code.ShareLive`. The hosted SSH option needs a tenants directory or `--authorized-keys` configured.

How to disable. Stop the `mix mcp.server` process and remove the entry from the client config, for example `claude mcp remove raxol`. The package leaves a project by editing `mix.exs`.

FAQ

What is Raxol?

An Elixir and OTP runtime that renders one app to terminal, browser, SSH and MCP tools for agents.

How do I start the Raxol MCP server?

With `mix mcp.server` in the project: the server runs over stdio and is meant for Claude Code integration.

Which tools do components get?

A button gets `click`, a text input gets `type_into`, `clear` and `get_value`. The focus lens keeps about 15 tools per step.

What separates `mix raxol.code` from `mix raxol.p`?

The first opens an interactive terminal agent and the second runs headless: the prompt goes in as arguments, the answer to stdout and events to stderr.

What is the license?

MIT.

Discussion

No questions or reviews yet.

Five short Elixir, Phoenix, Ecto, OTP and Oban skills for Claude Code and Codex, plus optional Mix checks.

PluginExtended access192Repository stars

A dependency-free CLI and MCP server that builds a call graph of a repository so the agent understands code without reading whole files

CLIExtended access2.5KRepository stars
Official

Local search and MCP server for agents: one Rust binary that indexes code, docs and logs

MCP serverBroad access19KRepository stars

Python runtime for agent work: task boundaries, independent verification of results and a saved handoff between sessions

CLIBroad access272Repository stars
Official

An MCP server and CLI for code research: search and understand your project and all of GitHub with fewer tokens

MCP serverExtended access961Repository stars
Official

A local code graph with version history: an MCP server that tells the agent who calls a function and what an edit breaks

MCP serverExtended access516Repository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialAuthenticationRepository starsMain difference
Raxol: an Elixir runtime with MCP tools for agents (this card)nonot required81
Elixir Agent Toolsno192a toolset and skills for Elixir with no interface runtime
OpenTUIyes13,808a terminal interface library in TypeScript

README in short

The README presents Raxol as one runtime for four surfaces and explains the BEAM virtual machine properties: per-component crash isolation, hot code reload and clustering with CRDTs. It goes on to an agents section, the coding agent with SSH access and the ACP protocol, the `mix raxol.new` quick start and a comparison with other TUI libraries.

README badge

Report a problem