Skip to main content
Glama
abshkbh

Arrakis MCP Server

by abshkbh
README.md
# Arrakis MCP Server

A Model Context Protocol (MCP) server that exposes [Arrakis](https://github.com/abshkbh/arrakis) VM sandbox functionality to Large Language Models.

## Setup

### Setup

1. Clone this repository:
   ```bash
   git clone https://github.com/abshkbh/arrakis-mcp-server.git
   cd arrakis-mcp-server
   ```

2. Configure your LLM tool to use the Arrakis MCP server by adding the following to your MCP configuration:

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

## API

The Arrakis MCP Server exposes the following MCP resources and tools:

### Resources

- `arrakis://vms` - List all available VMs
- `arrakis://vm/{vm_name}` - Get information about a specific VM

### Tools

- `start_sandbox` - Start a new VM sandbox
- `restore_snapshot` - Restore a VM from a snapshot
- `snapshot` - Create a snapshot of a VM
- `run_command` - Run a command in a VM
- `upload_file` - Upload a file to a VM
- `download_file` - Download a file from a VM
- `destroy_vm` - Destroy a specific VM
- `destroy_all_vms` - Destroy all VMs
- `update_vm_state` - Update the state of a VM (pause/stop)

## License

This project is licensed under the GNU Affero General Public License v3.0 - see the [LICENSE](LICENSE) file for details.

TDQS

B3.3/5.0

Scored across 9 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: starting, destroying, snapshotting, restoring, file operations, command execution, and state updates. No two tools overlap in functionality.

Naming Consistency4/5

Most tools follow a consistent verb_noun pattern (e.g., destroy_vm, download_file, restore_snapshot). The tool 'snapshot' is a slight outlier as it uses a noun as a verb, but it is still clear.

Tool Count5/5

With 9 tools covering creation, destruction, state management, snapshots, file transfer, and command execution, the count is well-scoped for a VM management server.

Completeness2/5

There are significant gaps: no tool to list VMs or snapshots, and no way to get VM status. These missing query operations will cause agent failures when trying to discover existing resources.

Maintenance

ActivityInactive
ResponsivenessNo issues