Runno MCP
WebAssembly sandbox with an MCP server: an agent runs Python, JavaScript, C, C++, Ruby and PHP code with no access to the system
- 775 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- The server executes code sent by the model, although in a sandbox with no access to files, network or system commands
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/runnoDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The server executes code sent by the model, although in a sandbox with no access to files, network or system commands
This is third-party code. Review the repository files before installing.
What it does
Runno is a set of JavaScript packages for running code inside a WebAssembly sandbox. The repository includes `@runno/runtime` (web components for running examples in the browser), `@runno/sandbox` (a sandbox for Node and other runtimes), `@runno/wasi` and `@runno/mcp`. The last one matters here: an MCP server that runs over stdio and gives an agent the `run_code` tool. The tool takes a runtime name and a code string: `python`, `quickjs`, `clang`, `clangpp`, `ruby` or `php-cgi`. The reply has the execution status (completed, crashed, terminated or timed out), the exit code, combined stdout and stderr output and error details on a crash. The code runs on a virtual file system over the WASI interface, so it cannot reach your files, the network or system commands. It fits when the model should check a calculation or snippet instead of guessing from memory.
Who it is for. People who want Claude Code or Claude Desktop to verify calculations and short programs in isolation, without Docker and without touching their machine.
Good fit when
- An agent needs the 75th percentile of a list of numbers: it writes Python and sees the result at once
- A task is solved in Python and then rewritten in C to compare speed: both variants run in the sandbox
- A PHP or Ruby snippet is checked on edge cases without installing the interpreter
- Model-written code looks doubtful and you want to run it in a way that cannot read your files
Not a fit when
- The program needs packages from managers like pip or npm: importing third-party packages is not supported
- The code calls the network or reads project files: the sandbox blocks that
- You need to run Go, Rust or another language outside the list: six runtimes are supported
Example request
Write a C program that finds the first 5000 primes, run it in the sandbox and show the run timeMCP
- Transport
- stdio
- Authentication
- not required
Limitations
Runtimes are limited to a list: `python` version 3.6 or newer, `quickjs`, `clang`, `clangpp`, `ruby` 3.2.0 or newer and `php-cgi`. Code runs without the host file system, without a network, without system commands and without packages from managers, and only the language's standard library is available. Browser components need the `Cross-Origin-Opener-Policy` and `Cross-Origin-Embedder-Policy` headers, the MCP server does not. The separate Python package runno is marked deprecated. Running it needs Node.js, and the package version in the MCP registry is 0.10.6.
How to disable. Remove the runno block from the client config, for example `claude mcp remove runno`. The package runs through `npx` and leaves no separate files.
FAQ
How do I connect Runno to Claude?
Add a runno server to the client config: the `npx` command with the argument `@runno/mcp`. For Claude Code that is `claude mcp add runno -- npx @runno/mcp`. The server works over stdio.
Is it safe to run untrusted code?
The code runs in a WebAssembly sandbox on a virtual file system with no access to your files, the network or system commands. The protection rests on the sandbox, so do not treat it as a guarantee against hostile code.
Which languages does run_code support?
Python, JavaScript on QuickJS, C, C++, Ruby and PHP. The runtimes are named `python`, `quickjs`, `clang`, `clangpp`, `ruby` and `php-cgi`.
What does run_code return?
The execution status (completed, crashed, terminated or timed out), the exit code for completed runs, the combined output and error details on a crash.
Can Runno be used without MCP?
Yes. The `@runno/runtime` and `@runno/sandbox` packages run code in the browser and in Node, and `@runno/wasi` runs WASI binaries.
Discussion
No questions or reviews yet.
Related
MCP serversA local sandbox for AI agents: they run code and actions in an isolated container exposed over MCP
A Rust MCP server where the agent runs JavaScript and TypeScript in a V8 sandbox with one run_js tool and state kept between calls
The CLI builds Rust into WebAssembly and prepares a JavaScript package for agent-assisted integration of a reviewed module.
LLM Sandbox MCP: an agent runs code in seven languages in a Docker, Podman or Kubernetes container and gets plots.
An MCP server that lets an agent read files, search code and run commands in a workspace
An MCP server on your machine that lets ChatGPT and Claude edit code, run tests and check Git in a local repository
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| Runno (this card) | no | not required | 775 | |
| Ephemeral Sandbox | no | not required | 125 | a code sandbox isolated on the service side rather than a local WebAssembly runtime |
| Agent-Sandbox | no | key is optional | 232 | a self-hosted Kubernetes sandbox with a REST API rather than a package you run with `npx` |
README in short
The text presents Runno as a set of packages for running code in a sandbox and lists four active packages and a deprecated Python variant. It then covers the browser web components, running WASI binaries, the Node sandbox and a short section on `@runno/mcp` with a link to an introductory article.