Skip to main content

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

License Python 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 sandbox
  • list_sandboxes() - List sandboxes
  • delete_sandbox() - Terminate sandbox

Code Execution:

  • execute_code_isolated() - One-shot execution (recommended)
  • execute_code() - Execute in existing sandbox
  • execute_code_background() - Long-running tasks
  • execute_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 commands
  • run_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


License

MIT License. See LICENSE for details.

HOPX Terms of Service: hopx.ai/terms


Technical Details

Built with:


Website | Documentation | GitHub

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hopx_mcp-0.2.1.tar.gz (19.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hopx_mcp-0.2.1-py3-none-any.whl (18.1 kB view details)

Uploaded Python 3

File details

Details for the file hopx_mcp-0.2.1.tar.gz.

File metadata

  • Download URL: hopx_mcp-0.2.1.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

Hashes for hopx_mcp-0.2.1.tar.gz
Algorithm Hash digest
SHA256 1513a2e923d06836fd25a67b3956081060b1c2aed863e6247992f953c8957c50
MD5 367038e413adcc0e6b91b34fd6cee34b
BLAKE2b-256 fa0405cecfda701c7dbca487003ea4044154c037a410ce4dbf282f7ff17b03c2

See more details on using hashes here.

File details

Details for the file hopx_mcp-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: hopx_mcp-0.2.1-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

Hashes for hopx_mcp-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7764aabd9cc229165940888feabe36084f24ee3e31ddf917ec66bdc687ccad55
MD5 5e261104e4980a9333b08b3622f076e4
BLAKE2b-256 1e678890a095d9e7ef31a1bef85cb9107c5a4f3ba6cfcf7242a4c02b05832e0b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page