Token导航 LogoToken导航

MCP Server · 开发工具

Node.js Sandbox MCP Server

一个基于Docker容器的Node.js沙盒服务器,支持动态安装npm依赖并执行任意JavaScript代码,适用于代码隔离执行和实验性开发场景。

stdio官方级别未说明来源级核验工具 5
开发工具TypeScriptClaudeDocker容器Claude Desktop

快速开始

作者 / 组织
alfonsograziano
提供方
alfonsograziano
运行时
Docker

工具数量

5

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

152

仓库热度

收录来源

2 个

MCP World

选型结论

Node.js Sandbox MCP Server 属于开发工具类 MCP Server,公开资料标注 5 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude,有可以直接复制的安装命令;接入前先确认权限范围。

分类

开发工具

传输方式

stdio

认证方式

无需认证

部署方式

仅本地运行

安装与配置

安装命令

docker run --rm -it \

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Docker,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 5 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

🐢🚀 Node.js沙盒MCP服务器

Node.js服务器实现了模型上下文协议(MCP),用于在具有实时npm依赖安装的临时Docker容器中运行任意JavaScript。

👉 查看官方网站

📦

特性

  • 启动和管理隔离的Node.js沙箱容器
  • 在容器内执行任意shell命令
  • 为每个作业安装指定的npm依赖项
  • 运行ES模块JavaScript代码段并捕获stdout
  • 干净地拆下容器
  • 分离模式: 在脚本执行后保持容器活动(例如,对于长时间运行的服务器)
注意:容器在受控的CPU/内存限制下运行。

探索酷炫的用例

如果你想了解使用这个库的酷而强大的方法,请查看 网站上的用例部分 它包含一个精心策划的提示、示例和创意实验列表,您可以使用Node.js Sandbox MCP Server进行尝试。

⚠️ 先决条件

要使用此MCP服务器,必须在您的计算机上安装并运行Docker。

提示: 预拉取你需要的任何Docker镜像,以避免第一次执行时的延迟。

推荐图片示例:

  • 节点:lts slim
  • 微软/剧作家:v1.55.0-noble
  • alfonsograziano/node chartjs画布:最新

入门

为了开始使用此MCP服务器,首先需要将其连接到客户端(例如Claude Desktop)。

运行后,您可以通过几个测试提示来测试它是否完全工作:

  • 验证该工具是否可以运行:
  Create and run a JS script with a console.log("Hello World")

这应该会运行一个console.log,在工具响应中,您应该能够看到Hello World。

  • 验证您是否可以安装依赖项并保存文件
  Create and run a JS script that generates a QR code for the URL `https://nodejs.org/en`, and save it as `qrcode.png` **Tip:** Use the `qrcode` package.

这应该会在您挂载的目录(例如Desktop)中创建一个名为“qrcode.png”的文件

使用Claude Desktop

将此添加到您的 claude_desktop_config.json: 您可以关注 官方指南 安装此MCP服务器

{
  "mcpServers": {
    "js-sandbox": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-v",
        "/var/run/docker.sock:/var/run/docker.sock",
        "-v",
        "$HOME/Desktop/sandbox-output:/root",
        "-e",
        "FILES_DIR=$HOME/Desktop/sandbox-output",
        "-e",
        "SANDBOX_MEMORY_LIMIT=512m", // optional
        "-e",
        "SANDBOX_CPU_LIMIT=0.75", // optional
        "mcp/node-code-sandbox"
      ]
    }
  }
}

或使用NPX:

{
  "mcpServers": {
    "node-code-sandbox-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "node-code-sandbox-mcp"],
      "env": {
        "FILES_DIR": "/Users/alfonsograziano/Desktop/node-sandbox",
        "SANDBOX_MEMORY_LIMIT": "512m", // optional
        "SANDBOX_CPU_LIMIT": "0.75" // optional
      }
    }
  }
}
注意:确保您的工作目录指向已构建的服务器,并且Docker已安装/正在运行。

码头工人

在容器中运行服务器(如果需要,可以挂载Docker套接字),并将所需的主机输出目录作为env-var传递:

# Build locally if necessary
# docker build -t mcp/node-code-sandbox .

docker run --rm -it \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v "$HOME/Desktop/sandbox-output":"/root" \
  -e FILES_DIR="$HOME/Desktop/sandbox-output" \
  -e SANDBOX_MEMORY_LIMIT="512m" \
  -e SANDBOX_CPU_LIMIT="0.5" \
  mcp/node-code-sandbox stdio

此绑定将您的主机文件夹装载到以下位置的容器中 相同的绝对路径 并使 FILES_DIR MCP服务器内部可用。

短暂使用- 无持久存储
docker run --rm -it \
  -v /var/run/docker.sock:/var/run/docker.sock \
  alfonsograziano/node-code-sandbox-mcp stdio

使用VS代码

快速安装 按钮(VS代码和内部人员):

安装js沙盒mcp(NPX)安装js沙盒mcp(Docker)

手动配置:添加到您的VS代码 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:/root", // optional
                "-e", "FILES_DIR=$HOME/Desktop/sandbox-output",  // optional
                "-e", "SANDBOX_MEMORY_LIMIT=512m",
                "-e", "SANDBOX_CPU_LIMIT=1",
                "mcp/node-code-sandbox"
              ]
        }
    }
}

API

工具

run_js_临时

在全新的一次性容器中运行一次性JS脚本。

输入:

  • image (string,可选):要使用的Docker镜像(默认值: node:lts-slim).
  • code (string,必填):要执行的JavaScript源代码。
  • dependencies (数组 { name, version },可选):要安装的NPM包和版本(默认值: []).

行为:

  1. 创建新容器。
  2. 写你的 index.js 以及最小值 package.json.
  3. 安装指定的依赖项。
  4. 执行脚本。
  5. 撕下(取出)容器。
  6. 返回捕获的stdout。
  7. 如果您的代码在当前目录中保存了任何文件,这些文件将自动返回。

- 图像(例如PNG、JPEG)返回为 image 内容。 - 其他文件(例如。, .txt, .json)返回为 resource 内容。 - 注意:文件保存功能目前仅在临时工具中可用。

提示: 要取回文件,只需在脚本执行期间保存即可。

呼叫示例:

{
  "name": "run_js_ephemeral",
  "arguments": {
    "image": "node:lts-slim",
    "code": "console.log('One-shot run!');",
    "dependencies": [{ "name": "lodash", "version": "^4.17.21" }],
  },
}

保存文件的示例:

import fs from 'fs/promises';

await fs.writeFile('hello.txt', 'Hello world!');
console.log('Saved hello.txt');

这将返回控制台输出 和 这 hello.txt 文件。

沙盒初始化

启动一个新的沙盒容器。

  • 输入:

- image (_字符串_,可选,默认值: node:lts-slim):沙盒的Docker镜像 - port (_数字_,可选):如果设置,则将此容器端口映射到主机

  • 输出:容器ID字符串

沙盒exec

在正在运行的沙盒中运行shell命令。

  • 输入:

- container_id (_字符串_):ID来自 sandbox_initialize - commands (_string\[\]_):要执行的shell命令数组

  • 输出:每个命令的组合stdout

run_js

安装npm依赖项并执行JavaScript代码。

  • 输入:

- container_id (_字符串_):ID来自 sandbox_initialize - code (_字符串_):要运行的JS源代码(支持ES模块) - dependencies (_数组 { name, version }_,可选,默认值: []):npm包名称→ semver版本 - listenOnPort (_数字_,可选):如果设置,则使进程保持运行并将此端口暴露给主机(分离模式)

  • 行为:

1. 在容器内创建临时工作区 1. 写入 index.js 以及最小值 package.json 1. 跑 npm install --omit=dev --ignore-scripts --no-audit --loglevel=error 1. 执行 node index.js 并捕获stdout,或者在以下情况下让进程在后台运行 listenOnPort 已设置 1. 清理工作区,除非在分离模式下运行

  • 输出:脚本stdout或后台执行通知

沙盒停止

终止并删除沙盒容器。

  • 输入:

- container_id (_字符串_):ID来自 sandbox_initialize

  • 输出:确认消息

search_npm_packages

通过搜索词搜索npm包,并获取它们的名称、描述和README代码段。

  • 输入:

- searchTerm (_字符串_,required):在npm包中搜索的术语。应包含所有相关上下文。使用加号(+)组合相关术语(例如,react组件库的“react+components”)。 - qualifiers (_对象_,可选):筛选搜索结果的可选限定符: - author (_字符串_,可选):按包作者姓名筛选 - maintainer (_字符串_,可选):按包维护者名称筛选 - scope (_字符串_,可选):按npm作用域过滤(例如,vue.js包的“@vue”) - keywords (_字符串_,可选):按包关键字筛选 - not (_字符串_,可选):排除符合此条件的包(例如“不安全”) - is (_字符串_,可选):仅包含符合此条件的包(例如“不稳定”) - boostExact (_字符串_,可选):增强搜索结果中此词的精确匹配

  • 行为:

1. 使用提供的搜索词和限定词搜索npm注册表 1. 最多返回5个按受欢迎程度排序的包 1. 对于每个包,提供名称、描述和README代码段(前500个字符)

  • 输出:包含包详细信息的JSON数组,包括名称、描述和README代码段

使用技巧

  • 基于会话的工具 (sandbox_initialize ➔ run_js ➔ sandbox_stop)当你想:

- 保持长期沙盒容器打开。 - 在同一环境中运行多个命令或脚本。 - 逐步安装和重用依赖项。

  • 一枪处决 随着 run_js_ephemeral 非常适合:

- 快速实验或简单脚本。 - 不需要维护状态或缓存依赖关系的情况。 - 清洁、原子运行,无需担心手动拆卸。

  • 分离模式 当您想要:

- 动态启动服务器或长期服务 - 从正在运行的容器中暴露和测试端点

选择最适合您用例的工作流!

构建

编译和捆绑:

npm install
npm run build

许可证

MIT许可证

特此免费授予任何获得本软件和相关文档文件(“软件”)副本的人在不受限制的情况下处理软件的权限,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,以及允许获得软件的人这样做,但须符合以下条件:

上述版权声明和本许可声明应包含在软件的所有副本或实质部分中。

软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性保证, 适用于特定目的且不造成伤害。在任何情况下,作者或版权持有人均不对任何索赔承担责任, 因软件引起的或与软件有关的损害赔偿或其他责任,无论是在合同、侵权或其他诉讼中 或软件的使用或其他交易。

工具与能力

工具数量

5

资源数量

0

提示词数量

0

能力标签

代码沙盒TypeScript本地部署Docker容器JavaScript执行npm依赖管理开发工具

支持客户端

Claude DesktopClaude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 只提供 5 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 Docker,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Node.js Sandbox MCP Server

MCP World · 本页

5stdio有2 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Node.js Sandbox MCP Server 怎么安装?

公开资料给出的安装命令是 docker run --rm -it \,运行环境为 Docker。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Node.js Sandbox MCP Server 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Docker;保存后完全退出客户端再打开,配置才会生效。

Node.js Sandbox MCP Server 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Node.js Sandbox MCP Server 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Node.js Sandbox MCP Server 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP