Repolode
taybenlor

taybenlor/runno

A sandboxed WebAssembly runtime for running code in multiple languages in the browser, on Node, or through an MCP server.

Stars
775
Forks
48
Open issues
38
Last commit
7 days ago

What is it?

Runno is a set of JavaScript packages for executing code in various programming languages inside a sandbox. It uses WASI, the WebAssembly System Interface, to emulate a unix-like environment with a virtual file system, so programs run entirely within JavaScript without touching the host's real files or network.

The @runno/runtime package provides web components that let a page run code examples directly in the browser, with no server needed. The @runno/sandbox package runs code in Node and other JavaScript runtimes, and @runno/wasi runs WASI binaries in either environment. @runno/mcp exposes the sandbox as an MCP server so AI assistants can execute code.

Supported runtimes include Python, Ruby, QuickJS, SQLite, C, C++, and PHP CGI. Because WASI does not provide a full Linux environment, Runno is best suited to small programs that read from stdin and write to stdout, and installing external packages is difficult.

Key features

  • 01Runs code in multiple languages including Python, Ruby, JavaScript, C, C++, and SQLite.
  • 02Provides web components for embedding runnable code examples in browser pages.
  • 03Runs code in Node and other JavaScript runtimes via a sandbox API.
  • 04Includes an MCP server so AI assistants can execute code.
  • 05Uses a virtual file system with no real file or network access.

Use cases

  • Making programming course examples runnable in the browser without installing tools.
  • Testing small code snippets safely inside a sandbox on a user's machine.
  • Giving an AI assistant a sandboxed place to execute code via MCP.

Quick start

  1. 1

    Install the sandbox package

    npm install @runno/sandbox
  2. 2

    Run Ruby code from your script

  3. 3

    Add the MCP server to your MCP client config

Things to know

  • Supported languages are limited to those already compiled to WebAssembly with WASI.
  • WASI provides no full Linux environment, and installing packages or modules inside Runno is difficult.
  • Best suited to small programs that use STDIN and STDOUT.

In collections

Topics

FAQ

What is runno?
A sandboxed WebAssembly runtime for running code in multiple languages in the browser, on Node, or through an MCP server. Runno is a set of JavaScript packages for executing code in various programming languages inside a sandbox. It uses WASI, the WebAssembly System Interface, to emulate a unix-like environment with a virtual file system, so programs run entirely within JavaScript without touching the host's real files or network.
Is runno free to use? What license does it have?
runno is open source under the MIT license. Check the license terms before using it in commercial products.
Is runno still maintained?
Actively maintained. The last commit to runno was on Oct 31, 2026.
What can I use runno for?
Making programming course examples runnable in the browser without installing tools. Testing small code snippets safely inside a sandbox on a user's machine. Giving an AI assistant a sandboxed place to execute code via MCP.
How do I install runno?
Install the sandbox package: npm install @runno/sandbox Run Ruby code from your script Add the MCP server to your MCP client config
Where can I get runno?
The source code and installation instructions are on GitHub: https://github.com/taybenlor/runno

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects