返回 MCP 目录
public公开dns本地运行

mcp-deno-sandbox

一个基于Deno沙箱的MCP服务器,允许在本地安全运行TypeScript、JavaScript和Python代码,提供权限控制的安全执行环境。

article

README

🚀 Deno 沙盒 MCP 服务器

Deno 沙盒 MCP 服务器是一个借助 Deno 运行时环境来运行和管理代码的平台。它通过配置权限对代码执行进行隔离,有效保障了代码运行的安全性。

🚀 快速开始

本项目使用 Deno 运行时环境运行和管理代码,通过配置权限隔离代码执行,确保安全性。以下是详细的操作步骤:

📦 安装指南

# 克隆仓库
git clone https://github.com/bewt85/mcp-deno-sandbox.git
cd mcp-deno-sandbox

# 安装依赖项
npm install

📚 详细文档

配置检查

npm run checks

代码修复

npm run fix

💻 使用示例

基础用法

使用 MCP 监视器测试:

npx @modelcontextprotocol/inspector ./node_modules/.bin/ts-node src/index.ts

示例用例

基本算术运算

console.log(1 + 2);

网络访问(需配置 --allow-net 权限)

fetch('https://icanhazip.com').then(response => response.text()).then(ip => console.log(`您的 IP 地址是: ${ip.trim()}`));

文件系统访问(需配置 --allow-read 权限)

const text = Deno.readTextFileSync('/path/to/file.txt');
console.log(text);

⚠️ 安全注意事项

⚠️ 重要提示

  • 避免授予如 FFI 或执行权限,这些会削弱沙盒的安全性。
  • 谨慎配置读写权限,特别是对敏感的 dotfiles(如包含凭证的文件)。
  • 若启用网络访问,请确保受信任的环境。

🐞 已知问题

Python 相关问题

  • 文件写入问题:目前无法使用 open(PATH, 'w') 写入文件。解决方案是使用 import js; js.fs.writeFileSync(PATH, CONTENT)
  • 目录挂载问题:默认挂载家目录和 /tmp,如需其他目录,请明确指定。

🤝 贡献说明

由于时间有限,无法参与大部分功能请求或贡献。建议有意向的开发者自行 fork 仓库进行开发。

🚀 发版流程

  1. 更新 package.json 中的版本号为 X.Y.Z。
  2. 提交更改。
  3. 在 GitHub 上创建标签 vX.Y.Z。
  4. 等待自动部署到 NPM。

📄 许可证

本项目采用 MIT 许可证。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端