本项目是一个实现Model Context Protocol (MCP) 的服务器,旨在为大型语言模型 (LLM) 提供一个可控的Linux沙箱环境。通过该服务器,LLM可以安全地在隔离环境中执行命令、操作文件,并托管简单的Web服务。

项目简介

本项目利用Docker技术创建和管理独立的Linux容器作为沙箱,为LLM提供了强大的交互式计算和开发能力。服务器通过MCP协议接收LLM客户端的请求,并在沙箱内执行相应的操作,将结果返回给LLM。

主要功能点

  • 沙箱管理: 自动创建和管理独立的Docker容器作为每个任务或会话的隔离沙箱。
  • 命令执行: 允许在沙箱内的终端执行任意Shell命令,并获取实时的标准输出和错误输出。
  • 文件操作: 支持在沙箱内创建、读取、写入和列出文件及目录。
  • 文件查看: 提供方便的URL,用户可以直接在浏览器中通过集成代码编辑器查看和编辑沙箱中的文件。
  • 网站托管: 支持将沙箱内的Web服务或静态网站通过公共URL暴露给用户访问。

安装步骤

  1. 确保您的系统已安装Docker、Node.js和npm (或yarn)。
  2. 克隆仓库并按照仓库提供的安装脚本进行安装。通常是执行根目录下的 './install.sh' 脚本。

服务器配置(针对MCP客户端)

MCP客户端需要配置本服务器的启动方式才能与之连接和通信。典型的客户端配置如下(JSON格式):

{
  "mcpServers": {
    "runbox-website-publisher": { // 您为这个服务器指定的唯一名称
      "command": "npx",           // 用于启动服务器进程的命令,这里是使用npx
      "args": ["-y", "code-sandbox-mcp@latest"] // 传递给命令的参数,这里是告诉npx执行名为code-sandbox-mcp的最新版软件包
    }
    // 其他可能的MCP服务器配置...
  }
}

请将上述配置添加到您的MCP客户端的配置文件中。

基本使用方法

一旦服务器安装并配置到您的MCP客户端中,您就可以通过与支持该客户端的LLM进行对话来使用其功能。例如,您可以指示LLM:

  • “在沙箱中安装Python的requests库。”
  • “编写一个Python脚本读取这个CSV文件并计算平均值。”
  • “创建一个简单的HTML文件。”
  • “在沙箱中运行一个HTTP服务器,监听端口8000。”
  • “请提供网站的公共访问地址。”

LLM将根据您的指令,利用本项目提供的MCP工具与沙箱进行交互,完成任务。

信息

分类

开发者工具