MCP tool for executing code in isolated environments using HopX
Project description
HOPX MCP Server
Model Context Protocol (MCP) server for HOPX. Enables AI assistants to execute code in isolated cloud containers.
MCP Name: io.github.hopx-ai/hopx-mcp
Installation
uvx hopx-mcp
Get your API key at hopx.ai.
Capabilities
- Execute Python, JavaScript, Bash, and Go in isolated containers
- Data analysis with pandas, numpy, matplotlib (pre-installed)
- File operations and system commands
- Background processes and long-running tasks
Containers auto-destroy after use.
Configuration
Get API Key
Sign up at hopx.ai.
Configure IDE
Add MCP server configuration to your IDE:
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"hopx-sandbox": {
"command": "uvx",
"args": ["hopx-mcp"],
"env": {
"HOPX_API_KEY": "your-api-key-here"
}
}
}
}
Restart Claude Desktop after configuration.
Cursor
Add to .cursor/mcp.json:
{
"mcpServers": {
"hopx-sandbox": {
"command": "uvx",
"args": ["hopx-mcp"],
"env": {
"HOPX_API_KEY": "your-api-key-here"
}
}
}
}
VS Code
Add to .vscode/mcp.json:
{
"mcpServers": {
"hopx-sandbox": {
"command": "uvx",
"args": ["hopx-mcp"],
"env": {
"HOPX_API_KEY": "your-api-key-here"
}
}
}
}
Other IDEs
Configuration format varies by IDE. Add these parameters:
- Command:
uvx - Args:
["hopx-mcp"] - Environment:
HOPX_API_KEY=your-api-key-here
Usage
Quick Execution
execute_code_isolated(
code='print("Hello, World!")',
language='python',
timeout=30
)
Returns:
{
'stdout': 'Hello, World!\n',
'exit_code': 0,
'execution_time': 0.123,
'sandbox_id': '1762778786mxaco6r2'
}
Persistent Sandbox
For multiple operations in the same environment:
# 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)
Available Tools
Sandbox Management:
create_sandbox()- Create sandboxlist_sandboxes()- List sandboxesdelete_sandbox()- Terminate sandbox
Code Execution:
execute_code_isolated()- One-shot execution (recommended)execute_code()- Execute in existing sandboxexecute_code_background()- Long-running tasksexecute_code_async()- Webhook callbacks for 30+ min tasks
File Operations:
file_read(),file_write(),file_list()file_exists(),file_remove(),file_mkdir()
Commands:
run_command()- Execute shell commandsrun_command_background()- Background processes
Environment:
env_get(),env_set(),env_clear()
Supported Languages
- Python 3.11+ - pandas, numpy, matplotlib, scipy, scikit-learn, requests
- JavaScript/Node.js 20 - Standard libraries
- Bash - Unix utilities, git, curl, wget
- Go - Compilation support
Features
- Sandbox creation: ~200ms
- Container startup: ~0.1s
- Auto-cleanup: 600s (configurable)
- Internet access: Enabled by default
- Isolation: Complete per execution
- Authentication: JWT-based
Environment Variables
Required:
HOPX_API_KEY=your-api-key
Optional:
HOPX_BASE_URL=https://api.hopx.dev # default
Troubleshooting
"401 Unauthorized"
API key not set or invalid.
Solution:
echo $HOPX_API_KEY # Verify key is set
"Template not found"
Invalid template name.
Solution:
templates = list_templates(limit=20) # Browse available templates
Slow First Execution
Container initializes in ~3 seconds after creation.
Cause: VM authentication setup Solution: Subsequent operations are immediate
Limitations
- Synchronous execution: Max 300 seconds
- Sandbox lifetime: Default 10 minutes (configurable)
- Template-specific language support
Security
Protected:
- Local system isolated from container execution
- Containers isolated from each other
- Auto-cleanup prevents resource leaks
- JWT authentication per sandbox
Considerations:
- Containers have internet access by default
- Code executed in HOPX cloud
- Follow your security policies for sensitive data
Support
- Documentation: docs.hopx.ai
- Issues: GitHub
- Email: support@hopx.ai
License
MIT License. See LICENSE for details.
HOPX Terms of Service: hopx.ai/terms
Technical Details
Built with:
- hopx-ai SDK v0.2.7
- FastMCP framework
- Model Context Protocol
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hopx_mcp-0.2.0.tar.gz.
File metadata
- Download URL: hopx_mcp-0.2.0.tar.gz
- Upload date:
- Size: 19.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b5d9b4fd3f6ec9cc4feb7303ecc7ea5e96e936a0e1bbd566745a707db6683a18
|
|
| MD5 |
1b115720d7d617e0d21c29907cb6e65f
|
|
| BLAKE2b-256 |
ef271d05e9cd4f82b653dc4ec16802e1d628e499c4a3aac94767e062744d5362
|
File details
Details for the file hopx_mcp-0.2.0-py3-none-any.whl.
File metadata
- Download URL: hopx_mcp-0.2.0-py3-none-any.whl
- Upload date:
- Size: 18.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c2a0a8503e43e3d155e67bc6520f620b9503815805da9493dfb1d6f46ec17c27
|
|
| MD5 |
81b3603cf29e493e6a94c40808f7bdea
|
|
| BLAKE2b-256 |
d1498f0b0ed0d3c3d46f991dc981452d3c443349fafc40fb4647c360a1049380
|