gbox

by babelcloud
Verified

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Provides a sandboxed Python environment for executing code and scripts.

  • Offers a sandboxed TypeScript environment for code execution.

  • Enables downloading YouTube videos through the MCP server integration.

gbox

gbox es un proyecto de código abierto que proporciona un entorno de pruebas autoalojado para la integración de MCP u otros casos de uso de agentes de IA. El entorno de pruebas puede utilizarse como un ordenador para el agente. Incluye todas las herramientas necesarias para las tareas diarias de los agentes, como terminal, navegador y editor de archivos. Consulte la sección "Características" para obtener más información.

A medida que MCP se vuelve cada vez más popular, nos damos cuenta de que no hay una manera sencilla de habilitar clientes MCP como Claude Desktop/Cursor para ejecutar tareas localmente y de forma segura. Este proyecto se basa en la tecnología de gru.ai y la integramos en un servidor de comandos del sistema y MCP para facilitar su uso.

Para escenarios avanzados, también mantuvimos la capacidad de ejecutar entornos sandbox en el clúster k8s de forma local o remota.

Características

  1. Terminal
    • Ejecutar cualquier comando de Linux
    • Ejecutar scripts de Python directamente
    • Compartir sesión entre invocaciones [en desarrollo]
  2. Archivo
    • Montar las carpetas de la máquina host en el entorno sandbox
    • Acceda a los archivos de sandbox a través de enlaces http
    • Leer el contenido del archivo en modo multimodal
    • Escribir/reescribir archivos [en desarrollo]
    • Editar archivos [en desarrollo]
    • Buscar archivos [en desarrollo]
  3. Navegador
    • Abre cualquier URL y devuelve el contenido en modo multimodal
    • Descargar desde cualquier URL [en desarrollo]
    • Operar el navegador mediante instrucciones [en desarrollo]
    • La toma de posesión humana [subdesarrollo]
  4. Servidor HTTP
    • Iniciar el servicio http en cualquier carpeta a pedido [en desarrollo]
  5. SDK
    • SDK de Python: Instalación mediante pip install pygbox . Consulta PyPI para más detalles.
    • SDK de Typescript [en desarrollo]
  6. MCP
    • Compatibilidad estándar con MCP
    • Integrar Claude Desktop y Cursor

Casos de uso

Su cliente de IA, como Claude Desktop, puede usar gbox MCP para ofrecer mejores resultados, como

1. Generación de diagramas

Generar diagramas de los precios de las acciones de Tesla: https://claude.ai/share/34de8ca3-4e04-441b-9e79-5875fa9fc97a

2. Generación de archivos PDF

Generar PDF de las últimas noticias sobre IA: https://claude.ai/share/84600933-dcf2-44be-a2fd-7f49540db57a

3. Análisis y cálculo

Analizar y comparar la capitalización de mercado de Nvidia/Tesla: https://claude.ai/share/70c335b7-9fff-4ee7-8459-e6b7462d8994

4. Procesamiento de archivos locales

Busque imágenes en la carpeta de descarga y comprímalas en zip. https://claude.ai/share/f8c4c617-9b32-4062-a8e2-2ab33ef46f42

5. Ejecutar tareas arbitrarias

Descargar vídeo de youtube: https://claude.ai/share/c2ab6bcb-7032-489f-87d5-cc38f72c2ca9

Instalación

Requisitos del sistema

Nota: Próximamente habrá soporte para otras plataformas (Linux, Windows).

Pasos de instalación

# Install via Homebrew brew tap babelcloud/gru && brew install gbox # Initialize environment gbox setup # Export MCP config and merge into Claude Desktop gbox mcp export --merge-to claude # or gbox mcp export --merge-to cursor # Restart Claude Desktop

Pasos de actualización

# Update gbox to the latest version brew update && brew upgrade gbox # Update the environment gbox setup # Export and merge latest MCP config into Claude Desktop gbox mcp export --merge-to claude # or gbox mcp export --merge-to cursor # Restart Claude Desktop

Uso de la línea de comandos

El proyecto proporciona una herramienta de línea de comandos gbox para administrar contenedores sandbox:

# Cluster management gbox cluster setup # Setup cluster environment gbox cluster cleanup # Cleanup cluster environment # Container management gbox box create --image python:3.9 --env "DEBUG=true" -w /app -v /host/path:/app # Create container gbox box list # List containers gbox box start <box-id> # Start container gbox box stop <box-id> # Stop container gbox box delete <box-id> # Delete container gbox box exec <box-id> -- python -c "print('Hello')" # Execute command gbox box inspect <box-id> # Inspect container # MCP configuration gbox mcp export # Export MCP configuration gbox mcp export --merge-to claude # Export and merge into Claude Desktop config gbox mcp export --dry-run # Preview merge result without applying changes

Montajes de volumen

El comando gbox box create admite montajes de volúmenes compatibles con Docker mediante el parámetro -v o --volume . Esto permite compartir archivos y directorios entre el sistema host y los contenedores sandbox.

La sintaxis de montaje de volumen sigue este formato:

-v /host/path:/container/path[:ro][:propagation]

Dónde:

  • /host/path : Ruta a un archivo o directorio en su sistema host
  • /container/path : Ruta donde se montará el archivo o directorio en el contenedor
  • ro (opcional): hace que el montaje sea de solo lectura
  • propagation (opcional): establece el modo de propagación de montaje (privado, rprivate, compartido, rshared, esclavo, rslave)

Ejemplos:

# Basic bind mount gbox box create -v /data:/data --image python:3.9 # Read-only bind mount gbox box create -v /data:/data:ro # Multiple bind mounts gbox box create \ -v /config:/etc/myapp \ -v /data:/var/lib/myapp:ro \ -v /logs:/var/log/myapp:ro:rprivate \ --image python:3.9

Nota: La ruta del host debe existir antes de crear el contenedor. Si no existe, se creará automáticamente.

Configuración de desarrollo

Prerrequisitos

  • Vaya a 1.21 o posterior
  • Escritorio Docker
  • Hacer
  • pnpm (a través de corepack)
  • Node.js 16.13 o posterior

Construir

# Build all components make build # Create distribution package make dist

Servicios en ejecución

# API Server make -C packages/api-server dev # MCP Server cd packages/mcp-server && pnpm dev # MCP Inspector cd packages/mcp-server && pnpm inspect

Contribuyendo

¡Agradecemos tus contribuciones! No dudes en enviar una solicitud de incorporación de cambios. Para cambios importantes, primero abre una incidencia para comentar qué te gustaría cambiar.

  1. Bifurcar el repositorio
  2. Crea tu rama de funciones ( git checkout -b username/feature-name )
  3. Confirme sus cambios ( git commit -m 'Add some feature' )
  4. Empujar a la rama ( git push origin username/feature-name )
  5. Abrir una solicitud de extracción

Cosas que debe saber sobre el desarrollo y la depuración local

Cómo ejecutar gbox en el entorno de desarrollo en lugar del instalado en el sistema

  1. Detenga el gbox instalado mediante gbox cleanup . Esto detendrá el servidor API para que pueda ejecutarlo en el entorno de desarrollo.
  2. Ejecute make api-dev en la raíz del proyecto.
  3. Ejecute ./gbox box list , este es el comando que se ejecuta desde su entorno de desarrollo.

Cómo conectar un cliente MCP como Claude Desktop al servidor MCP en el entorno de desarrollo

  1. Ejecute make mcp-dev en la raíz del proyecto.
  2. Ejecute ./gbox mcp export --merge-to claude

Cómo abrir la inspección de MCP

  1. Ejecute make mcp-inspect en la raíz del proyecto.
  2. Haga clic en el enlace que aparece en la terminal.

Cómo crear y usar imágenes en el entorno de desarrollo

  1. Ejecute make build-image-python en la raíz del proyecto para construir una imagen de Python, o make build-images para construir todas las imágenes.
  2. Cambie el nombre de la imagen según sea necesario (por ejemplo, make build-image-typescript para la imagen TypeScript).
  3. Es posible que tengas que eliminar los entornos sandbox actuales para que la nueva imagen sea efectiva ./gbox box delete --all

¿Por qué el cliente MCP aún obtiene el contenido antiguo de MCP?

  1. Después de cambiar la configuración de MCP, como las definiciones de herramientas, debe ejecutar make build para actualizar el archivo dist/index.js .
  2. Es posible que también necesites ejecutar ./gbox mcp export --merge-to claude

Licencia

Este proyecto está licenciado bajo la Licencia Apache 2.0: consulte el archivo de LICENCIA para obtener más detalles.

-
security - not tested
A
license - permissive license
-
quality - not tested

Gru-sandbox(gbox) es un proyecto de código abierto que proporciona un entorno sandbox autohospedable para la integración de MCP u otros casos de uso de agentes de IA.

  1. Features
    1. Use Cases
      1. 1. Generating Diagrams
      2. 2. Generating PDFs
      3. 3. Analyzing and Calculation
      4. 4. Processing Local Files
      5. 5. Execute Arbitrary Tasks
    2. Installation
      1. System Requirements
      2. Installation Steps
      3. Update Steps
    3. Command Line Usage
      1. Volume Mounts
    4. Development Setup
      1. Prerequisites
      2. Build
      3. Running Services
    5. Contributing
      1. Things to Know about Dev and Debug Locally
    6. License
      ID: 1hy7nhkq3s