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
ResponsivenessUnresponsive