Skip to main content
Glama
mozicim

Node Code Sandbox MCP

by mozicim

sandbox_exec

Execute shell commands within a secure Node.js sandbox container to run JavaScript code, install NPM packages, and retrieve execution results safely.

Instructions

Execute one or more shell commands inside a running sandbox container. Requires a sandbox initialized beforehand.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
commandsYes
container_idYes

Implementation Reference

  • The main handler function `execInSandbox` that checks if Docker is running, executes each shell command inside the specified container using `docker exec`, collects outputs, and returns them as MCP response.
    export default async function execInSandbox({ container_id, commands, }: { container_id: string; commands: string[]; }): Promise<McpResponse> { if (!isDockerRunning()) { return { content: [textContent(DOCKER_NOT_RUNNING_ERROR)], }; } const output: string[] = []; for (const cmd of commands) { output.push( execSync( `docker exec ${container_id} /bin/sh -c ${JSON.stringify(cmd)}`, { encoding: 'utf8', } ) ); } return { content: [textContent(output.join('\n'))] }; }
  • Zod schema defining input parameters: `container_id` (string) and `commands` (non-empty array of strings).
    export const argSchema = { container_id: z.string(), commands: z.array(z.string().min(1)), };
  • src/server.ts:58-63 (registration)
    MCP server tool registration for 'sandbox_exec', providing name, description, input schema (`execSchema`), and handler (`execInSandbox`).
    server.tool( 'sandbox_exec', 'Execute one or more shell commands inside a running sandbox container. Requires a sandbox initialized beforehand.', execSchema, execInSandbox );

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mozicim/node-code-sandbox-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server