home / mcp / arrakis mcp server

Arrakis MCP Server

Provides MCP access to Arrakis VM sandbox features, enabling large language models to run sandboxed code.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "abshkbh-arrakis-mcp-server": {
      "command": "<path-to-uv>",
      "args": [
        "--directory",
        "<path-to-repo>",
        "run",
        "arrakis_mcp_server.py"
      ]
    }
  }
}

You can expose Arrakis VM sandbox functionality to large language models through an MCP server. This server provides a programmable interface to list, inspect, and manage sandboxed VMs, and to run commands or transfer files within those sandboxes, enabling LLMs to safely execute and experiment with code in isolated environments.

How to use

Use an MCP client to connect to the Arrakis MCP server using the configuration snippet shown below. Once connected, you can list available VMs, inspect specific VM details, start new sandboxes, restore or create snapshots, run commands inside a VM, upload and download files, and manage VM lifecycles. This setup lets you request sandboxed execution and data transfers in a controlled, observable way.

How to install

Prerequisites: ensure you have a compatible runtime to host MCP servers and a working environment for running the Arrakis MCP server. You will point to the MCP runtime binary for the server, and you will provide a repository path where the Arrakis MCP server sources reside.

Configuration and usage notes

Configure your MCP client to connect to the Arrakis MCP server by including the following in your MCP setup. The configuration uses a stdio-based server that runs a Python script within the Arrakis repository. You must specify the path to the MCP runtime executable and the repository path where the server entry point resides.

"mcpServers": {
  "arrakis": {
    "command": "<path-to-uv>",
    "args": [
      "--directory",
      "<path-to-repo>",
      "run",
      "arrakis_mcp_server.py"
    ]
  }
}

Available tools

start_sandbox

Start a new VM sandbox to run code in isolation.

restore_snapshot

Restore a VM to a previously saved snapshot.

snapshot

Create a snapshot of the current VM state for later restoration.

run_command

Execute a command inside a specific VM sandbox and return the output.

upload_file

Upload a file into a VM sandbox for use during execution.

download_file

Download a file from a VM sandbox.

destroy_vm

Destroy a specific VM and release its resources.

destroy_all_vms

Destroy all active VM sandboxes managed by this server.

update_vm_state

Pause or resume VM execution state as needed.