Skip to main content
Glama

runloop-mcp

An MCP server for running and testing code in disposable Runloop sandboxes. It remains focused on testing rather than vibe coding: active Devboxes last at most one hour and local files should be treated as temporary. Snapshots, blueprints and suspend/resume are available for repeatable test environments; interactive PTYs, tunnels, account secrets and MCP Hub administration are not.

Tools

Tool

Purpose

run_code

Reuse a compatible running sandbox, or create one, then run a command

create_sandbox

Start a sandbox for a multi-step test, capped at 1 hour

list_sandbox

List sandboxes while excluding shutdown entries

get_sandbox

Check sandbox status

suspend_sandbox / resume_sandbox

Preserve and restore sandbox disk state

execute_in_sandbox

Run a blocking, non-interactive command

upload_test_file

Upload Base64 test input or source files

download_artifact

Export a result before the sandbox disappears

get_sandbox_usage

Inspect CPU, memory, disk, and usage

shutdown_sandbox

Destroy a sandbox and its remaining data

create_snapshot / list_snapshot

Save and discover reusable disk states

build_blueprint / list_blueprint

Build and discover reusable test images

Prefer run_code. It searches running code-testing sandboxes first and retains the selected sandbox after a successful run for later reuse. Use shutdown_sandbox when reuse is no longer needed.

Related MCP server: GPT Commander

Installation

Requires Python 3.10+ and a Runloop API key.

pip install -e .

Start

HTTP (default):

runloop-mcp --host 127.0.0.1 --port 8000

stdio:

RUNLOOP_API_KEY=... runloop-mcp --transport stdio

The HTTP MCP endpoint is /mcp. Supply the API key when connecting:

http://127.0.0.1:8000/mcp?api_key=YOUR_RUNLOOP_API_KEY

Do not log or share URLs containing the key. Query-key behavior remains for compatibility, but a secret-aware proxy is recommended for public deployment.

Examples

One-shot Python test:

run_code(
    files={
        "/home/user/test_app.py": "assert 2 + 2 == 4\nprint('passed')\n"
    },
    command="python3 /home/user/test_app.py",
)

Multi-step test with an exported report:

sandbox = create_sandbox(files={"/home/user/package.json": "{...}"})
execute_in_sandbox(sandbox_id=sandbox["id"], command="cd /home/user && npm test")
download_artifact(sandbox_id=sandbox["id"], file_path="/home/user/report.xml")
shutdown_sandbox(sandbox_id=sandbox["id"])

download_artifact returns standard Base64. Decode and save it outside Runloop before shutdown or expiry. Package large source trees into an archive, upload it, and extract it with execute_in_sandbox.

Reuse behavior

  • run_code only reuses running sandboxes tagged with purpose=code-testing.

  • It prefers a sandbox matching the requested blueprint.

  • Files passed to run_code overwrite paths in a reused sandbox.

  • Environment variables are creation-time settings and cannot be replaced when reusing a sandbox; put per-run values in the command when appropriate.

  • A newly created sandbox is destroyed if execution raises an error, but is retained after success.

Design constraints

  • Sandbox lifetime is restricted to 60–3600 seconds.

  • run_code attempts forced cleanup of a newly created sandbox on execution failure.

  • No background-process, PTY, or tunnel workflow is exposed.

  • Sandbox storage must not be treated as a source of truth.

  • Avoid passing credentials in ordinary environment variables or command text.

Deployment

main.py exposes MCP at /mcp and health checks at /health:

uvicorn main:app --host 0.0.0.0 --port 8000

The included Dockerfile uses the same ASGI application.

License

MIT

A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

  • MCP server exposing the Backtest360 engine API as tools for AI agents.

  • An MCP server for Arcjet - the runtime security platform that ships with your AI code.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/contributory/runloop-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server