Isolator MCP Server

Isolator MCP Server

site icon
2025.04.26 1
Go安全代码执行开发工具开发效率
`isolator-mcp` 是一个基于 TypeScript 编写的 Model Context Protocol (MCP) 服务器,它作为嵌入式 `isolator` Go CLI 工具的包装器,提供了一个通过 MCP 访问的安全代码执行沙箱。LLM 应用程序(MCP 主机)可以连接到此服务器,并使用其 `execute_code` 工具安全地运行 Python、Go 或 JavaScript 代码片段,这些代码片段可以直接提供或从预定义的代码片段文件中加载。
View on GitHub

Overview

基本能力

产品定位

isolator-mcp 是一个安全代码执行沙箱,旨在为 LLM 应用程序提供安全的代码执行环境。

核心功能

  • 提供 execute_code MCP 工具。
  • 支持直接提供代码(language, entrypoint_code)或通过命名代码片段(snippet_name)执行。
  • 支持多种语言(Python、Go、JavaScript,可配置)。
  • 使用嵌入式 isolator Go CLI(isolator-cli/)进行安全的 Docker 容器执行。
  • 通过 isolator_config.json 配置安全默认值(超时、资源限制、网络)。
  • 管理主机上的临时目录以进行代码执行。
  • 处理文件复制到容器中(通过指示 isolator CLI)。
  • 通过 MCP 返回结构化结果(stdout、stderr、状态),在工具级失败时设置 isError: true

适用场景

  • LLM 应用程序需要安全执行用户提供的代码片段。
  • 开发人员需要在隔离环境中测试代码片段。
  • 教育平台需要为学生提供安全的代码执行环境。

工具列表

  • execute_code:在安全、隔离的容器环境中执行代码(Python、Go、JavaScript)。

常见问题解答

  • 问题:Docker 镜像未自动下载。 解决方案:确保在 isolator_config.json 中指定的 Docker 镜像(例如 python:3.11-alpine, golang:1.21-alpine)已通过 docker pull <image_name> 拉取到系统上。

使用教程

使用依赖

  • Docker:容器创建和执行所需。确保 Docker 守护进程正在运行。
  • Go:构建嵌入式 isolator-cli Go 二进制文件所需。
  • Node.js 和 npm:安装依赖项、构建和运行 isolator-mcp TypeScript 服务器所需。

安装教程

  1. 构建 isolator Go CLI:导航到嵌入式 Go CLI 目录并构建二进制文件: bash cd isolator-cli go build -o isolator main.go cd ..
  2. 配置 isolator-mcp
  3. 编辑 isolator_config.json:更新 isolatorPath 以指向构建的二进制文件的绝对路径。
  4. 确保 prompts 目录存在(默认:./prompts)。添加代码片段文件(例如 hello_world.py)。
  5. 安装服务器依赖项:导航到主目录(isolator-mcp)并运行: bash npm install
  6. 构建服务器:编译 TypeScript 代码: bash npm run build
  7. 配置 MCP 主机:将服务器添加到 MCP 客户端的设置文件中(例如 cline_mcp_settings.json)。

调试方式

  1. 构建 Go CLI:确保 isolator Go CLI 在其子目录中构建: bash cd isolator-cli go build -o isolator main.go cd ..
  2. 构建 TS 服务器:在主目录(isolator-mcp)中运行 npm installnpm run build
  3. 配置:确保 isolator_config.json 正确指向构建的 ./isolator-cli/isolator 二进制文件。
  4. 运行服务器:使用 Node 直接执行构建的服务器: bash node build/index.js
  5. 交互(手动):可以手动发送 JSON-RPC 消息(例如 tools/list, tools/call)到服务器的标准输入以测试其响应。

许可证

该项目遵循 Apache-2.0 开源许可条款,请参阅 Apache-2.0 了解完整条款。