taybenlor/runno

Sandboxed runtime for programming languages and WASI binaries. Works in the browser, on your server, or via MCP.

What it solves

Runno allows developers to run code from multiple programming languages (such as Python, Ruby, and C++) directly in the browser or within a Node.js environment without requiring the user to install complex local toolchains or servers. It provides a secure, isolated environment for executing small code examples, making it particularly useful for programming education.

How it works

Runno leverages WebAssembly (WASM) and the WebAssembly System Interface (WASI) to create a virtualized, unix-like sandbox. It emulates a standard operating system interface, including a virtual file system based on byte arrays in memory, which prevents the code from accessing the host's real file system or network. This allows it to execute binaries compiled to WASM while maintaining security through strict isolation.

Who it’s for

  • Educators and Technical Writers: Those who want to make their documentation or tutorials interactive by embedding runnable code examples.
  • Developers: Those needing a secure way to execute untrusted code in a JavaScript runtime.
  • AI Tool Builders: Developers using the Model Context Protocol (MCP) to give AI agents the ability to execute code via the @runno/mcp server.

Highlights

  • Multi-language Support: Supports Python, Ruby, QuickJS, SQLite, Clang (C), Clang++ (C++), and PHP-CGI.
  • Browser-Native: Provides Web Components for easy integration into web pages with no backend server required.
  • Secure Sandbox: Uses a virtual machine and virtual file system with no network access to isolate execution.
  • MCP Integration: Includes an MCP server implementation to enable code execution capabilities for AI agents.

Related

  • Project
  • Project
  • Project
  • Project
  • Project