npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@runno/mcp

v0.10.6

Published

MCP Server for the Runno Sandbox

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

| Runtime | Programming Language | | ------- | -------------------- | | python | Python | | quickjs | JavaScript | | clang | C | | clangpp | C++ | | ruby | Ruby | | php-cgi | PHP |

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