mcpField
R
Runno Code Sandbox

Runno Code Sandbox

Local
github.com/taybenlorAI & Agents775Updated 24w ago

About Runno Code Sandbox

Runno Code Sandbox is an MCP server for AI assistants to execute snippets in several languages inside isolated WebAssembly environments. Its `run_code` tool returns execution status, exit code, output, and errors without filesystem or network access.

Key features

  1. 01WebAssembly-isolated code execution
  2. 02Python, JavaScript, C, C++, Ruby, and PHP
  3. 03Execution status, output, and error results
  4. 04stdio communication

Use cases

  1. 01Running code to solve programming problems
  2. 02Calculating results from data with snippets
  3. 03Trying a solution in another supported language

MCP support

Exposes a `run_code` tool to MCP clients over stdio. Clients provide a runtime and code string and receive execution status and output.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"taybenlor-runno": {
"command": "npx",
"args": [
"-y",
"@runno/mcp"
]
}
}
}
Run commandnpx -y @runno/mcp

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@runno/mcp0.10.6

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

@runno/mcp

Overview

@runno/mcp is a Model Context Protocol (MCP) server that provides a secure code execution environment for AI assistants. It enables models to execute code in various programming languages inside a sandboxed environment using WebAssembly, offering a safe way to run code snippets during AI interactions.

Features

  • Secure Sandboxed Environment: Runs code in isolation without access to the filesystem, network, or system resources
  • Multiple Language Support: Execute code in Python, JavaScript (QuickJS), C, C++, Ruby, and PHP
  • MCP Compliant: Implements the Model Context Protocol for seamless integration with AI assistants
  • Simple CLI Tool: Easy to run via npx without complex setup
  • Standard I/O Communication: Uses stdio for communication with the client

Examples

In this example I gave Claude a leetcode problem. It solved it by writing Python: Leetcode problem.

In this example I told Claude to efficiently calculate 5000 primes. It solved it by writing Python. Then when I told it to use C, it rewrote the solution in C (and ran it): 5000 primes.

In this example I asked Claude to tell me the p75 of a short list of numbers. It solved it by first writing Python with Numpy (which didn't work) but then re-orienting and writing just using the standard library: p75 calculation.

How It Works

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 execution is provided over STDIO.

The @runno/sandbox uses precompiled WebAssembly binaries for multiple programming languages. It then executes those binaries against a virtual file system using the @runno/wasi implementation of WASI preview1.

You can read more about how the Runno sandbox works in my article I made a Python package for sandboxing code. This is for an older version of the sandbox, but it works basically the same way.

Supported Runtimes

RuntimeProgramming Language
pythonPython
quickjsJavaScript
clangC
clangppC++
rubyRuby
php-cgiPHP

Tool Usage

The run_code tool accepts the following parameters:

  • runtime: The runtime environment to use (one of the supported runtimes)
  • code: The code string to execute

The tool returns:

  • Execution status (completed, crashed, terminated, or timed out)
  • Exit code (for completed executions)
  • TTY output (combined stdout and stderr)
  • Error details (for crashed executions)

Limitations

Code executed within the sandbox:

  • Cannot access the filesystem
  • Cannot make network connections
  • Cannot execute system commands
  • Cannot import packages from package managers
  • Cannot execute external programs
  • Is limited to core programming language capabilities

Running the Server

Using npx

The simplest way to run the Runno MCP server is with npx:

npx @runno/mcp

This will start the server on stdio, making it immediately available for integration with MCP-compatible clients.

Integration with MCP Clients

To use the Runno MCP server with an MCP client, you simply need to configure it to run npx @runno/mcp.

For Claude you can edit the MCP Config:

{
  "mcpServers": {
    "runno": {
      "command": "/usr/local/bin/npx",
      "args": ["@runno/mcp"]
    }
  }
}

Note: To get the right path for npx run which npx.

Security Considerations

  • The Runno MCP server provides strong isolation of executed code through WebAssembly
  • However, resource consumption (CPU, memory) should still be monitored
  • For production use, consider implementing additional controls such as timeouts and resource limits

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.