Runno Code Sandbox
About
The @runno/mcp server provides a run_code tool that AI assistants can use to execute code snippets in various programming languages. It leverages the @runno/sandbox package, which uses WebAssembly to create isolated environments for code execution. The result of the code executio
Explore
- Runs code in the browser using WebAssembly and WASI.
- Provides a sandboxed, in-memory file system.
- Supports multiple runtimes: Python, Ruby, QuickJS, SQLite, Clang, Clang++, PHP-CGI.
- Offers both web components (@runno/runtime) and a headless WASI runtime (@runno/wasi).
- Code executes in a Web Worker with terminal emulation via XTerm.js.
- No server-side execution required—all processing happens on the client.
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Runno Code SandboxCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Start by adding @runno/runtime to your package:
npm install @runno/runtime
Import @runno/runtime in whatever place you'll be using the runno elements.
The simplest is in your entrypoint file (e.g. main.ts or index.ts).
import "@runno/runtime";
Once you've imported them you can use runno elements on the page.
<runno-run runtime="python" editor controls> print('Hello, World!') </runno-run>
For the code to run though, you'll need to set some HTTP headers:
Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Embedder-Policy: require-corp
These create a cross-origin isolated context which allows the use of SharedArrayBuffer used to implement STDIN.
The runtime also provides a component for running WASI binaries directly.
<runno-wasi src="/ffmpeg.wasm" autorun></runno-wasi>
If you're lucky everything should work after doing:
npm install
npm run bootstrap
npm run build # make sure the dependent libraries are built
npm run dev
If you edit host, terminal, wasi or runtime you will need to re-build them with npm run build.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"runno code sandbox": {
"runno": {
"command": "/usr/local/bin/npx",
"args": [
"@runno/mcp"
]
}
}
}
}
McpServers
{
"runno": {
"command": "/usr/local/bin/npx",
"args": [
"@runno/mcp"
]
}
}
Runno helps you make runnable code examples that can be embedded in web pages.
This project is powered by WASI the Web Assembly System
Interface. It provides a standard way for programs to interact with an
operating system. By emulating this interface, we can provide a fake file system
and operating system, all running within the browser. Then we can run
programming languages in the browser, without modification.
This is very handy for programming education it means:
- No need for newbies to install complex programming tools to run code
- Programming examples can be made runnable in the browser with no server
- Simple programs can be tested for correctness inside a sandbox on the user's machine
Runno also ships its own WASI runtime (@runno/wasi) which is used to power
Runno under the hood. It can be used independently to run WASI binaries in the
browser.
Two parts to Runno
There are two main parts to runno:
1. @runno/runtime - web components and headless tools for running code examples in the browser.
2. @runno/wasi - a sandboxed implementation of WASI made for the browser that works on the server.
The @runno/runtime is built on top of the primitives provided by @runno/wasi.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



