MCP Server logo

MCP Server

by mavdol/capsule

Run Python and JavaScript in isolated WebAssembly sandboxes through MCP tools with resource limits and no host filesystem access.

Install MCP Server

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "mavdol-capsule-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@capsule-run/mcp-server"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

We couldn’t confirm it starts correctly

We ran the install command but it didn't respond within our test window — this can mean a slow first-time install rather than a real problem.

npx -y @capsule-run/mcp-server

No response to initialize.

This is an experimental automated check and can have false negatives — missing environment variables, a slow cold install, etc. It doesn’t necessarily mean something’s wrong. Last checked 6d ago.

Overview

mavdol/capsule/mcp-server lets agents execute Python and JavaScript code inside separate WebAssembly sandboxes. It exposes `execute_python` and `execute_javascript`, with isolated memory, fuel-metered CPU and RAM limits, and no filesystem or network access by default. Use it for calculations, data transformations, and other code tasks that should not run directly on the host.

Use cases

  • Run calculations on in-memory data
  • Transform structured values with Python
  • Evaluate JavaScript snippets in isolation
  • Chain stateless code executions by passing outputs

Key features

  • Python execution in WebAssembly
  • JavaScript execution in WebAssembly
  • Per-execution memory isolation
  • Fuel-metered CPU and RAM limits
  • No host filesystem access by default

Tools2

What MCP Server lets your agent do. Expand a tool for its parameters.

Self-reported~28 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

21/21 checks healthy over the last 78d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 12d ago via OSV.dev · @capsule-run/mcp-server (PyPI)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars299Stargazers on the source repository.
npm downloads75Package downloads in the last 30 days.
Last commit17d agoMost recent push to the default branch.
Install checkInconclusiveDidn't respond in our test window — often a slow first install.
Tools exposed2Callable tools this server registers over MCP.
Directory activity2 viewsConfig copies, upvotes, and views on AllMCPs.

How MCP Server works

What mavdol/capsule/mcp-server does

mavdol/capsule/mcp-server gives an MCP-compatible agent two code execution tools: execute_python and execute_javascript. Each tool runs supplied source code in an isolated WebAssembly environment rather than in the host process. This makes the server suitable for delegated calculations, small data-processing tasks, and other situations where an agent needs to write and run code without direct access to the machine running the MCP client.

The server includes separate precompiled WebAssembly modules for Python and JavaScript. Executions are isolated from one another, so the environment is reset for every tool call.

How it works

When an agent calls a tool, the server runs the requested language through Capsule inside a dedicated Wasm sandbox. Every execution receives its own memory space. Fuel-based execution limits control CPU and RAM usage and help stop runaway code, such as an accidental infinite loop.

The sandbox does not provide host filesystem access. Network access is also unavailable unless it is explicitly allowed by the execution environment. Python programs that depend on standard networking libraries are not compatible with this Wasm sandbox.

The execution model is stateless. Variables, files, and other state do not carry over from one call to the next. To perform a multi-step workflow, the agent must pass the output from an earlier call into the next execution.

Setup and configuration

Add the server to an MCP client using a standard stdio entry. The configuration launches the published package through npx:

config.json
{
  "mcpServers": {
    "capsule": {
      "command": "npx",
      "args": ["-y", "@capsule-run/mcp-server"]
    }
  }
}

This setup downloads or invokes @capsule-run/mcp-server through the Node package runner. The server can then be selected by the client when an agent needs to execute Python or JavaScript.

Tools and capabilities

  • execute_python: Runs Python source code in an isolated WebAssembly sandbox.
  • execute_javascript: Runs JavaScript source code in an isolated WebAssembly sandbox.
  • Isolated memory: Gives each execution its own address space.
  • Resource controls: Applies fuel-metered CPU and RAM limits.
  • Restricted host access: Prevents filesystem access and does not provide network access by default.

A typical use is asking an agent to calculate statistics from an in-memory list. The agent can write a short Python program, run it, and use the returned result in its response without creating a host-side script.

Limitations and notes

Each call starts clean, so the server does not provide a persistent Python or JavaScript session. Pass prior results explicitly when chaining executions. Python code that uses standard networking libraries will not work with the Wasm sandbox. Host filesystem access is unavailable, and network access requires explicit allowance.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about MCP Server

mavdol/capsule/mcp-server is an MCP server that connects an agent to isolated WebAssembly runtimes for Python and JavaScript execution. Its main tools, `execute_python` and `execute_javascript`, run code with separate memory and resource limits, without host filesystem access.

Install it through an MCP client configuration that runs `npx -y @capsule-run/mcp-server`. Add a server entry with `command` set to `npx` and the package name in the `args` array.

Yes, it can be configured in Cursor as a standard stdio MCP server. Use the `npx` command and `@capsule-run/mcp-server` argument shown in the server configuration.

No, each execution starts in a clean sandbox. To chain operations, pass the output of one tool call as input to the next call.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewMCP Server AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/mavdol-capsule-mcp-server?style=directory)](https://allmcps.com/mcp/mavdol-capsule-mcp-server)
HTML Embed
<a href="https://allmcps.com/mcp/mavdol-capsule-mcp-server"><img src="https://allmcps.com/api/badge/mavdol-capsule-mcp-server?style=directory" alt="MCP Server on AllMCPs" /></a>