使用说明
项目简介
Deno Sandbox MCP服务器是一个基于 Model Context Protocol (MCP) 的后端实现,它使用 Deno 运行时环境为大型语言模型 (LLM) 客户端提供一个安全的沙箱环境来执行 TypeScript 和 JavaScript 代码。该服务器允许用户通过细粒度的权限控制,限制代码的访问能力,从而安全地扩展 LLM 的功能。
主要功能点
- 代码沙箱执行: 在受控的 Deno 运行时环境中执行 TypeScript/JavaScript 代码,隔离潜在的恶意代码。
- 细粒度权限控制: 基于 Deno 的权限系统,允许用户通过命令行参数灵活配置代码的运行时权限,例如网络访问、文件系统访问等。
- 资源管理: 提供 "permissions://deno" 资源,允许客户端查询当前服务器的 Deno 权限配置。
- 工具注册与调用: 注册 "runTypescript" 工具,允许 LLM 客户端请求服务器执行指定的 TypeScript 代码,并将执行结果返回给客户端。
- 清晰的错误提示: 当代码执行因权限不足或其他错误失败时,服务器返回详细的错误信息,帮助用户理解和解决问题。
安装步骤
本仓库无需传统意义上的安装步骤。您需要确保已安装 Deno 或 Node.js (以及 npm)。
服务器配置
要将此 MCP 服务器与 MCP 客户端(例如 Claude Desktop)配合使用,您需要在客户端的配置文件中添加服务器配置信息。以下是两种配置示例,分别适用于已安装 Deno 和 Node.js 的情况。
如果已安装 Deno
{ "mcpServers": { "denoSandbox": { "command": "deno", "args": [ "run", "npm:mcp-deno-sandbox", "--allow-net=example.com" // 示例权限:允许访问 example.com 域名 // 您可以根据需要添加其他 Deno 权限参数,例如 --allow-read, --allow-write=/tmp 等 ] } } }
如果已安装 Node.js
{ "mcpServers": { "denoSandbox": { "command": "npx", "args": [ "mcp-deno-sandbox", "--allow-net=example.com" // 示例权限:允许访问 example.com 域名 // 您可以根据需要添加其他 Deno 权限参数,例如 --allow-read, --allow-write=/tmp 等 ] } } }
配置参数说明:
- 'server name': 'denoSandbox' (服务器名称,客户端用于标识和调用)
- 'command': 启动服务器的命令。
- 如果您已安装 Deno 并将其添加到系统 PATH 环境变量,则可以使用 '"deno"'。
- 如果您使用 Node.js 和 npm,可以使用 '"npx"',它会自动查找并执行 'mcp-deno-sandbox' 包。
- 'args': 传递给服务器命令的参数数组。
- '"run"' (仅当 command 为 "deno" 时): Deno 的 'run' 子命令,用于执行脚本。
- '"npm:mcp-deno-sandbox"' (仅当 command 为 "deno" 时): 指定从 npm 安装并运行 'mcp-deno-sandbox' 包。
- '"mcp-deno-sandbox"' (当 command 为 "npx" 时): 指定要执行的 npm 包 'mcp-deno-sandbox'。
- '--allow-net=example.com': 示例权限参数。 这指示 Deno 运行时允许代码进行网络访问,但仅限于 'example.com' 域名。您可以根据需要修改或添加其他 Deno 权限参数。 请务必根据实际需求配置合适的权限,以确保安全性和功能性。 更多 Deno 权限选项请参考 Deno Security。
基本使用方法
配置完成后,MCP 客户端将能够连接到此服务器。客户端可以:
- 查询权限资源: 客户端可以请求读取 "permissions://deno" 资源,以获取服务器当前配置的 Deno 权限信息。
- 调用 runTypescript 工具: 客户端可以调用 "runTypescript" 工具,并提供 TypeScript 代码作为参数。服务器将在 Deno 沙箱中执行代码,并将执行结果返回给客户端。
注意: 您需要在启动服务器时通过命令行参数设置 Deno 权限。修改权限配置后,需要重启服务器才能生效。 请仔细阅读 Security Considerations 部分,了解安全风险并谨慎配置权限。
信息
分类
开发者工具