Back to MCP directory
publicPublicdnsLocal runtime

node-code-sandbox-mcp

Node.js沙箱MCP服务器,通过Docker容器隔离运行任意JavaScript代码,支持动态安装npm依赖,提供一次性执行和持久化容器两种模式。

article

README

🚀 Node.js 砂箱 MCP 服务器

这是一个基于 Node.js 实现的 Model Context Protocol (MCP) 服务器,可在临时的 Docker 容器中运行任意 JavaScript 代码,并且支持依赖注入功能,为开发者提供了更灵活的代码运行环境。

✨ 主要特性

  • MCP 兼容性:严格遵循 Model Context Protocol 标准,能够与 Claude 等 AI 工具实现无缝集成,方便开发者在不同的应用场景中使用。
  • Docker 集成:借助 Docker 来运行和管理容器,有效确保了环境隔离和资源控制,让代码运行更加稳定和安全。
  • 依赖注入:支持将宿主机的 Docker 套接字和其他卷挂载到容器中,使得执行复杂任务变得更加轻松,提高了开发效率。
  • 持久化输出:可以将容器内的输出结果保存到宿主机指定目录,方便用户查看和管理执行结果。

📦 安装指南

使用 Docker 运行

docker run --rm -it \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v "$HOME/Desktop/sandbox-output":"$HOME/Desktop/sandbox-output" \
  -e JS_SANDBOX_OUTPUT_DIR="$HOME/Desktop/sandbox-output" \
  alfonsograziano/node-code-sandbox-mcp stdio

手动构建

npm install
npm run build

💻 使用示例

与 VS Code 集成

settings.json.vscode/mcp.json 中添加如下配置:

"mcp": {
    "servers": {
        "js-sandbox": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "-v", "/var/run/docker.sock:/var/run/docker.sock",
                "-v", "$HOME/Desktop/sandbox-output:$HOME/Desktop/sandbox-output",
                "-e", "JS_SANDBOX_OUTPUT_DIR=$HOME/Desktop/sandbox-output",
                "alfonsograziano/node-code-sandbox-mcp"
              ]
        }
    }
}

通过 NPX 安装

npx install js-sandbox-mcp

📄 许可证

本项目采用 MIT 许可证。允许任何人免费使用、复制、修改、合并、发布、分发、 sublicense 和/或销售此软件及其关联的文档文件,无需限制。但必须包含以下声明:

版权声明 版权所有 (c) 2024 年 你的姓名。保留所有权利。

📚 详细文档

使用条款

本软件是“按现状”提供的,不附带任何形式的保证,包括但不限于适销性、适合特定用途或无侵权的保证。在任何情况下,作者或版权持有者均不对因使用或无法使用该软件而引起的任何索赔、损害或其他责任负责。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client