Skip to content

execboxPortable code execution for MCP tools

Turn host tool catalogs into callable code, add defense-in-depth controls around guest execution, and choose the boundary that fits your deployment.

What execbox is

Execbox is a Node.js library for running guest JavaScript against host-defined tools and wrapped MCP servers. It separates:

  • what tools are available
  • where guest code runs
  • how calls cross boundaries

That split gives you one execution contract across QuickJS, worker-thread, child-process, remote, and isolated-vm backends.

Choose a backend

BackendPackageStart here when
In-process QuickJS@execbox/quickjsYou want the easiest install and the default development path.
Worker-backed QuickJS@execbox/workerYou want the runtime off the main thread with pooled worker reuse.
Process-backed QuickJS@execbox/processYou want a stronger lifecycle boundary and hard-kill timeout behavior.
Remote transport@execbox/remoteYou already own the transport/runtime boundary and want execbox to plug into it.
isolated-vm@execbox/isolated-vmYou explicitly want isolated-vm and can support its native/runtime constraints.

Security posture

Execbox provides defense-in-depth controls around guest code execution:

  • It provides fresh runtimes, JSON-only boundaries, schema validation, bounded logs, and execution limits.
  • Hard isolation depends on the executor and deployment boundary you choose.
  • The provider/tool surface is the capability boundary.

Read Security before deciding which executor to use in production.

Released under the MIT License.