隔离代码执行服务器

HOPX MCP Server是一个为AI助手设计的隔离云容器代码执行服务,支持Python、JavaScript、Bash和Go等多种语言,适用于数据分析和自动化任务。

  • by hopx-ai
  • Python
  • 本地部署
  • 156 星标
  • 更新于

使用说明

HOPX MCP服务器

模型上下文协议(MCP)服务器 HOPX。使AI助手能够在隔离的云容器中执行代码。

MCP名称: io.github.hopx-ai/hopx-mcp

安装

uvx hopx-mcp

获取API密钥: hopx.ai.


能力

  • 在隔离容器中执行Python、JavaScript、Bash和Go
  • 使用pandas、numpy、matplotlib(预装)进行数据分析
  • 文件操作和系统命令
  • 后台进程和长时间运行的任务

容器使用后会自动销毁。


配置

获取API密钥

注册地址: hopx.ai.

配置IDE

将MCP服务器配置添加到IDE:

Claude Desktop

增添 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)或 %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "hopx-sandbox": {
      "command": "uvx",
      "args": ["hopx-mcp"],
      "env": {
        "HOPX_API_KEY": "your-api-key-here"
      }
    }
  }
}

配置后重新启动Claude Desktop。

Cursor

增添 .cursor/mcp.json:

{
  "mcpServers": {
    "hopx-sandbox": {
      "command": "uvx",
      "args": ["hopx-mcp"],
      "env": {
        "HOPX_API_KEY": "your-api-key-here"
      }
    }
  }
}
VS Code

增添 .vscode/mcp.json:

{
  "mcpServers": {
    "hopx-sandbox": {
      "command": "uvx",
      "args": ["hopx-mcp"],
      "env": {
        "HOPX_API_KEY": "your-api-key-here"
      }
    }
  }
}
Other IDEs

配置格式因IDE而异。添加这些参数:

  • 命令: uvx
  • Args: ["hopx-mcp"]
  • 环境: HOPX_API_KEY=your-api-key-here

用法

快速执行

execute_code_isolated(
    code='print("Hello, World!")',
    language='python',
    timeout=30
)

退货:

{
    'stdout': 'Hello, World!\n',
    'exit_code': 0,
    'execution_time': 0.123,
    'sandbox_id': '1762778786mxaco6r2'
}

持久沙盒

对于同一环境中的多个操作:

# Create sandbox
sandbox = create_sandbox(
    template_id='code-interpreter',
    timeout_seconds=3600
)

sandbox_id = sandbox['id']

# Run operations
execute_code(sandbox_id, 'import pandas as pd')
execute_code(sandbox_id, 'df = pd.read_csv("data.csv")')
file_write(sandbox_id, '/workspace/output.txt', 'results')
content = file_read(sandbox_id, '/workspace/output.txt')

# Cleanup
delete_sandbox(sandbox_id)

可用工具

沙盒管理:

  • create_sandbox() -创建沙盒
  • list_sandboxes() -列出沙盒
  • delete_sandbox() -终止沙盒

代码执行:

  • execute_code_isolated() -一次性处决(推荐)
  • execute_code() -在现有沙盒中执行
  • execute_code_background() -长时间运行的任务
  • execute_code_async() -30分钟以上任务的Webhook回调

文件操作:

  • file_read(), file_write(), file_list()
  • file_exists(), file_remove(), file_mkdir()

命令:

  • run_command() -执行shell命令
  • run_command_background() -后台流程

环境:

  • env_get(), env_set(), env_clear()

支持的语言

  • Python 3.11+ -pandas、numpy、matplotlib、scipy、scikit-learn、请求
  • JavaScript/Node.js 20 -标准库
  • Bash -Unix实用程序、git、curl、wget
  • 去 -编译支持

特性

  • 沙盒创建:~200ms
  • 容器启动:~0.1秒
  • 自动清理:600秒(可配置)
  • 互联网接入:默认启用
  • 隔离:每次执行完成
  • 身份验证:基于JWT

环境变量

必修的:

HOPX_API_KEY=your-api-key

可选:

HOPX_BASE_URL=https://api.hopx.dev  # default

故障排除

“401未经授权”

API密钥未设置或无效。

解决方案:

echo $HOPX_API_KEY  # Verify key is set

“找不到模板”

模板名称无效。

解决方案:

templates = list_templates(limit=20)  # Browse available templates

首次执行缓慢

容器在创建后约3秒内初始化。

原因: VM身份验证设置 解决方案: 后续操作是即时的


局限性

  • 同步执行:最多300秒
  • 沙盒寿命:默认10分钟(可配置)
  • 模板特定语言支持

安全

受保护的:

  • 本地系统与容器执行隔离
  • 彼此隔离的容器
  • 自动清理可防止资源泄漏
  • 每个沙盒的JWT身份验证

注意事项:

  • 默认情况下,容器可以访问互联网
  • 在HOPX云中执行的代码
  • 遵循敏感数据的安全策略

支持


许可证

MIT许可证。看 许可证 了解详情。

HOPX服务条款: hopx.ai/条款


技术细节

内置:


网站 | 文档 | GitHub