JavaScript Sandbox MCP Server
This JavaScript Sandbox MCP Server provides a secure environment to execute JavaScript code with configurable constraints:
Run JavaScript in an isolated environment
Set memory limits (1MB to 100MB)
Configure execution timeouts (100ms to 30000ms)
Safely execute untrusted code such as plugins or bots
Provides a secure environment for executing JavaScript code with configurable memory and time limits, allowing safe evaluation of JavaScript snippets.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@JavaScript Sandbox MCP Serverexecute_js code='console.log("Hello, World!");'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
js-sandbox MCP Server
A Model Context Protocol server that provides a secure JavaScript execution environment.
Features
Tools
execute_js- Executes JavaScript code in an isolated environmentParameters:
code(required): JavaScript code to executetimeout(optional): Maximum execution time in milliseconds (100-30000ms)memory(optional): Memory limit in bytes (1MB-100MB)
Returns the result of code execution
Security
Isolated code execution in a controlled environment
Configurable execution time and memory limits
Protection against malicious code
Related MCP server: MCP QuickJS Runner
Development
Install dependencies:
npm installBuild the server:
npm run buildDevelopment mode with auto-rebuild:
npm run watchInstallation
Installing via Smithery
To install JavaScript Sandbox Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @garc33/js-sandbox-mcp-server --client claudeTo use with Claude Desktop, add the server configuration:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"js-sandbox": {
"command": "/path/to/js-sandbox/build/index.js"
}
}
}Debugging
Since MCP servers communicate over stdio, debugging can be challenging. We recommend using MCP Inspector, which is available as:
npm run inspectorThe Inspector will provide a URL to access debugging tools in your browser.
Available Tools
1 toolexecute_jsC
Execute JavaScript code in an isolated environment
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | JavaScript code to execute | |
| timeout | No | Maximum execution time in milliseconds | |
| memory | No | Memory limit in bytes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions an 'isolated environment', hinting at sandboxing, but fails to detail critical aspects like error handling, output format, security restrictions, or whether the execution is synchronous. This leaves significant gaps for a tool that executes arbitrary code.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence with no wasted words, making it highly concise and front-loaded. It efficiently communicates the core functionality without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of executing JavaScript code and the absence of both annotations and an output schema, the description is insufficient. It lacks details on behavioral traits (e.g., sandboxing limits, return values), making it incomplete for safe and effective use by an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, thoroughly documenting all three parameters (code, timeout, memory) with their purposes and constraints. The description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Execute') and resource ('JavaScript code in an isolated environment'), making the purpose immediately understandable. It doesn't need to differentiate from siblings since none exist, but it could be more specific about what 'execute' entails (e.g., evaluation, side effects).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, prerequisites, or common use cases. It mentions an 'isolated environment' but doesn't explain its implications or limitations, leaving usage context vague.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
With only one tool, there is no possibility of confusion or overlap between tools. The tool's purpose is clearly defined as executing JavaScript code in isolation, making it distinct by default.
The single tool name 'execute_js' follows a clear verb_noun pattern (execute + js). Since there is only one tool, consistency is inherently perfect with no deviations to assess.
A single tool is too few for a server named 'JavaScript Sandbox MCP Server', which implies broader functionality like evaluating expressions, managing contexts, or handling errors. This minimal set feels thin and under-scoped for the apparent domain.
The tool surface is severely incomplete for a JavaScript sandbox domain. It lacks essential operations such as evaluating expressions, clearing contexts, handling errors, or managing state, which are typical for such environments, leading to significant gaps in functionality.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Execute code in 8 languages (Python, JS, TS, Go, Java, C++, C, Bash) in gVisor sandboxes.
Build Apps and run code in 30 languages ā sandboxed, with persistent sessions for agent loops.
Host static HTML pages, generate PDFs, screenshots, scrape JS sites, run sandboxed JavaScript.
Run Python code in a secure sandbox without local setup. Declare inline dependencies and execute sā¦
Related MCP Servers
- AlicenseAqualityFmaintenanceA secure JavaScript REPL server that enables executing code snippets in a sandboxed environment with memory protection, timeout handling, and comprehensive error reporting.117122MIT
- FlicenseNot gradedqualityDmaintenanceProvides secure execution of arbitrary JavaScript code within a sandboxed QuickJS WASM environment, allowing language models or other MCP clients to safely run JavaScript code snippets without compromising the host system.4
- FlicenseAqualityBmaintenanceA secure Node.js execution environment that allows coding agents and LLMs to run JavaScript dynamically, install NPM packages, and retrieve results while adhering to the Model Control Protocol.71344
- AlicenseNot gradedqualityAmaintenanceProvides sandboxed code execution for AI agents with support for Python, JavaScript, and shell commands. Includes comprehensive safety features like destructive pattern blocking, timeout protection, and restricted file access for secure production use.22MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/garc33/js-sandbox-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server