A fully-featured, GUI-powered local LLM Agent sandbox with complete support for the MCP protocol.
Empower your Large Language Models (LLMs) with true "Computer Use" capabilities.
EdgeBox is a powerful desktop application that brings the cloud-based sandbox capabilities of E2B (e2b.dev) to your local machine. Based on the open-source E2B Code Interpreter project, EdgeBox transforms the sandbox into a locally-running environment, giving you full control over your AI agent's development and execution environment.
What makes EdgeBox unique: While most open-source sandbox projects only provide a terminal/CLI, EdgeBox offers both a command-line shell AND a full graphical (GUI) desktop environment via an integrated VNC viewer. This means your LLM Agent is no longer just a code executor—it's a digital worker that can operate browsers, use VS Code, and interact with desktop applications, just like a human.
Computer Use Demo: types "google.com", presses Enter, and captures screenshot - showing computer use capabilities.
Feature | EdgeBox | Other OSS Sandboxes (e.g., codebox ) |
---|---|---|
Environment | 🖥️ Local | 🖥️ Local |
Interface | GUI + CLI | CLI-Only |
Capability | Computer Use & Code Interpreter | Code Interpreter |
Data Privacy | ✅ 100% Private | ✅ 100% Private |
Latency | ⚡️ Near-Zero | ⚡️ Near-Zero |
Integration | ✅ MCP Compliant | Proprietary API |
- EdgeBox - The Local Desktop Sandbox for AI Agents
EdgeBox exposes all its capabilities through the MCP protocol, organized into three core modules for your LLM Agent.
- VNC Remote Desktop: Access a complete, interactive Ubuntu desktop environment.
- Pre-installed Applications: Comes with Google Chrome, VS Code, and other essential tools out of the box.
- GUI Automation: Your agent can programmatically control the mouse and keyboard to interact with any desktop application.
- Visual Perception: Built-in screenshot capabilities provide visual context to the agent, enabling it to "see" and react to the GUI.
- Secure Code Execution: Safely run AI-generated code in an isolated Docker container.
- Full Shell Access: A fully-featured
bash
terminal allows the execution of any Linux command. - Isolated Filesystem: Each session gets a separate filesystem with full support for creating, reading, writing, and deleting files.
- Multi-language Support: Native support for Python, JavaScript (Node.js), and other runtimes.
- Standardized Protocol: All sandbox features are exposed via the MCP (Model Context Protocol) HTTP interface.
- Broad Client Compatibility: Easily connect to any LLM client that supports MCP, such as Claude Desktop, OpenWebUI, LobeChat, and more.
- Multi-Session Management: Create and manage multiple, isolated sandbox sessions concurrently using the
x-session-id
header.
EdgeBox exposes its capabilities through MCP tools, organized into two categories:
Code Execution Tools - Execute code in various languages:
execute_python
- Execute Python code in isolated environmentexecute_typescript
- Execute TypeScript/JavaScript codeexecute_r
- Execute R code for statistical analysisexecute_java
- Execute Java codeexecute_bash
- Execute Bash scripts
Shell Commands - Interact with the Linux environment:
shell_run
- Run shell commands (stateful, persistent environment)shell_run_background
- Run commands in background with process management
Filesystem Operations - Manage files and directories:
fs_list
- List files in directoriesfs_read
- Read file contentsfs_write
- Write content to filesfs_info
- Get file metadata and informationfs_watch
- Monitor directory changes in real-time
Mouse Controls - Programmatic mouse interaction:
desktop_mouse_click
- Perform mouse clicks (left/right/middle)desktop_mouse_double_click
- Double-click actionsdesktop_mouse_move
- Move cursor to coordinatesdesktop_mouse_scroll
- Scroll up/down with configurable amountdesktop_mouse_drag
- Drag from one position to another
Keyboard Controls - Text input and key combinations:
desktop_keyboard_type
- Type text with clipboard support for non-ASCIIdesktop_keyboard_press
- Press specific keys (Return, Escape, Tab, etc.)desktop_keyboard_combo
- Execute key combinations (Ctrl+C, Alt+Tab, etc.)
Window Management - Control desktop applications:
desktop_get_windows
- List all windows with titles and IDsdesktop_switch_window
- Focus specific windowsdesktop_maximize_window
- Maximize windowsdesktop_minimize_window
- Minimize windowsdesktop_resize_window
- Resize windows to specific dimensions
Visual & Application Control:
desktop_screenshot
- Capture desktop screenshots (PNG format)desktop_launch_app
- Launch applications by namedesktop_wait
- Add delays between actions
Note: Desktop tools are only available when GUI Tools are enabled in EdgeBox settings. Core tools are always available regardless of GUI settings.
EdgeBox is designed to provide a seamless and powerful local execution environment for LLM agents.
[LLM Agent (Claude, GPT, etc.)] <- MCP (HTTP Stream) ->
[EdgeBox App] <- Docker API ->
[Isolated Sandbox Container (Desktop + Shell)]
- Frontend: Electron + React + TypeScript + Tailwind CSS
- Backend: Node.js + Dockerode (for Docker API)
- Containerization: Docker
- UI Components: Radix UI
- Docker Desktop: Must be installed and running.
-
Download EdgeBox Download the latest release for your platform from the Releases page.
-
Install & Run Docker Desktop Ensure Docker Desktop is installed and running before starting EdgeBox.
-
Run EdgeBox
- Windows: Run
EdgeBox.exe
- macOS: Open
EdgeBox.app
- Linux: Run the AppImage or install the
.deb
/.rpm
package.
- Windows: Run
- Launch EdgeBox and ensure Docker is running.
- Check the dashboard to verify all components (Docker, MCP Server) are healthy.
- Add the EdgeBox MCP configuration to your LLM client.
Add EdgeBox to your LLM client with this configuration:
{
"mcpServers": {
"edgebox": {
"url": "http://localhost:8888/mcp"
}
}
}
Once configured, you can give your LLM agent natural language instructions like:
- Code Execution: "Write a Python script to analyze this CSV file and show me the output."
- File Operations: "Create a new folder called 'project', and inside it, create a file named
main.py
." - Computer Use: "Open the browser, navigate to 'github.com', search for 'EdgeBox', and then take a screenshot for me."
Easily manage multiple isolated environments by specifying an x-session-id
in your MCP request headers.
Example configuration for different tasks:
{
"mcpServers": {
"edgebox-default": {
"url": "http://localhost:8888/mcp"
},
"edgebox-data-analysis": {
"url": "http://localhost:8888/mcp",
"headers": {
"x-session-id": "data-analysis"
}
},
"edgebox-web-scraping": {
"url": "http://localhost:8888/mcp",
"headers": {
"x-session-id": "web-scraping"
}
}
}
}
- Container Isolation: Every sandbox session runs in a separate Docker container.
- Resource Limits: Configurable CPU and memory constraints prevent resource abuse.
- Network Isolation: Container networking is controlled to protect the host machine.
See the LICENSE file for details.
- E2B Team: For creating the fantastic open-source E2B Code Interpreter project that inspired EdgeBox.
- Docker: For the powerful containerization technology.
- Electron: For making cross-platform desktop apps possible.
- E2B Code Interpreter - The original project that served as our foundation.
- FastMCP - An implementation of the Model Context Protocol (MCP).
- Issues: Report bugs and feature requests on GitHub Issues.
- Discussions: Join the conversation in GitHub Discussions.