Proxbase

io.github.virtbasePublished by GitHub account virtbasev0.4.0Updated Oct 24, 2026

Create, test and break real Proxmox VE clusters in QEMU/KVM on the local host.

VerifiedSTDIODesktop onlyCloud & InfrastructureDeveloper Tools

Overview

AI-generated overview

Proxbase's MCP server lets an AI assistant create, operate and deliberately break real Proxmox VE clusters running as QEMU/KVM VMs on a local Linux host.

What you can do
  • Create and destroy Proxmox VE lab clusters, including multi-node setups with ZFS or Ceph storage and internal networks
  • Start, stop, grow and shrink clusters, and save or restore whole-cluster and live snapshots
  • Call the Proxmox API and run commands on individual nodes
  • Diagnose cluster state and reset it to a snapshot
  • Inject faults such as power loss, hung nodes, pulled cables, partitions, latency and packet loss
When to use it
Useful when you need a disposable but realistic Proxmox VE environment for labs, demos, CI integration tests, or for testing HA, fencing and Ceph recovery behaviour with an assistant driving the cluster.
Requirements
Runs as a local stdio process on a Linux amd64 host with /dev/kvm, QEMU 7.2+ (qemu-system-x86_64, qemu-img) and roughly 4 GiB RAM per node; nested virtualization is needed for guests inside nodes. Installed via the container image or Go install; no credentials are declared.
Before you install
The server creates and destroys VMs and injects faults, so it can delete cluster state and data. Generated passwords and keys are stored unencrypted in its state directory, and the web UI and SSH are exposed on local forwarded ports. macOS support is experimental and Docker Desktop lacks /dev/kvm.

Installation

In SourceWeft

  1. Open Proxbase in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Proxbase

[CI] [Go version] [License]

Real Proxmox VE clusters on your Linux machine in about three minutes, for labs, demos and CI.

Proxbase starts every node as a QEMU/KVM virtual machine, installs it from the official Proxmox VE ISO with the automated installer, and joins the nodes into a cluster through the Proxmox API, with ZFS or Ceph storage, internal networks and an API token ready for Terraform or Ansible. No root, no Docker, no manual clicks.

console
$ proxbase create lab --nodes 3…created in 2m56sCluster lab: ready, quorate: yes, switch: runningNODE  VM       CLUSTER  IP           WEB UI                   SSHpve1  running  online   10.10.10.11  https://127.0.0.1:18001  127.0.0.1:18101pve2  running  online   10.10.10.12  https://127.0.0.1:18002  127.0.0.1:18102pve3  running  online   10.10.10.13  https://127.0.0.1:18003  127.0.0.1:18103

Features

  • Real nodes: each node is a VM with its own kernel installed from the stock ISO; nested virtualization lets you run guests inside the cluster.
  • Storage: ZFS pools per node, or hyperconverged Ceph (RBD and CephFS) that waits for HEALTH_OK.
  • Networking without root: several internal networks with roles (corosync link0/link1, Ceph public/cluster, migration), VLAN-aware and L2-only bridges, jumbo frames.
  • Lifecycle: start/stop, add and remove nodes (with Ceph draining), consistent snapshots of the whole cluster, live snapshots that resume a running cluster in seconds, resumable creates.
  • Fault injection: power loss, hung nodes, pulled cables, network partitions, latency and loss, to test HA, fencing and Ceph recovery.
  • Ready for automation: API token and CA export, proxbase env for shells, JSON and the bpg/proxmox Terraform provider, -o json and --progress json for scripts, and a GitHub Action for CI that can cache a ready cluster as a template.
  • For AI agents: proxbase mcp is an MCP server: agents create clusters, call the API, run commands on nodes, diagnose, reset to snapshots and inject faults through tools. A skill teaches them the workflow; in Claude Code: /plugin install proxbase --marketplace virtbase/proxbase.
  • Fast: --golden clones nodes from a cached base image: a 3-node cluster in under a minute (Ceph: 1.5 minutes), with a unique identity per node.
  • Declarative: one YAML file with a JSON schema; every flag overrides a field.
  • Docker Compose: proxbase up runs a cluster in the foreground with clean shutdown and a health check.

Quick start

Requirements: Linux on amd64 with /dev/kvm, QEMU 7.2+ (qemu-system-x86_64, qemu-img) and about 4 GiB RAM per node. Nested virtualization is needed for guests inside the nodes.

bash
go install github.com/virtbase/proxbase/cmd/proxbase@latest   # or see docs/install.mdproxbase doctor                                               # checks KVM, QEMU, memory, portsproxbase create lab --nodes 3

Then open https://127.0.0.1:18001 (user root, password from proxbase env lab), or:

bash
proxbase ssh lab pve2 -- pvecm statuseval "$(proxbase env lab)"            # PROXMOX_VE_ENDPOINT, PROXMOX_VE_API_TOKEN, …proxbase destroy lab --yes            # removes everything

Usage

bash
proxbase create ceph --nodes 3 --storage ceph       # hyperconverged Cephproxbase create fast --nodes 3 --golden             # clone from a cached base imageproxbase create -f examples/networks.yaml           # separate networks and VLANsproxbase node add lab --count 1                     # grow the clusterproxbase node remove lab pve2                       # shrink it againproxbase stop lab && proxbase snapshot save lab baseproxbase snapshot restore lab base && proxbase start labproxbase env lab --format terraform                 # provider block for bpg/proxmoxproxbase fault partition lab pve3                   # isolate a node, then: fault clearproxbase status lab --check                         # exit code for CI and health checksclaude mcp add proxbase -- proxbase mcp             # let an AI agent drive proxbaseproxbase upgrade                                    # install the latest release

In GitHub Actions:

yaml
- id: pve  uses: virtbase/proxbase@v0          # KVM, QEMU, cache, create; outputs endpoint, api-token, env-file- env: {PVE_ENV: "${{ steps.pve.outputs.env-file }}"}  run: . "$PVE_ENV" && go test ./... -tags integration- if: always()  run: proxbase destroy ci --yes

A cluster file looks like this (everything has a default):

yaml
apiVersion: proxbase.virtbase.com/v1alpha1kind: Clustername: labnodes:  count: 3  defaults: {cpus: 4, memory: 4G, dataDisks: [{size: 32G}]}networks:  - {name: cluster, cidr: 10.10.10.0/24, roles: [corosync]}storage:  zfs: [{name: tank, raid: single}]

Documentation

Topic
Getting startedFirst cluster, web UI, credentials
InstallationPackages, Homebrew, container image, verifying releases
ConfigurationEvery field, default and limit
Networking · Storage · LifecycleHow it works and what to expect
Fault injection · Golden imagesBreaking the cluster on purpose, faster creates
CI and automation · MCP serverGitHub Action, JSON progress, AI agents
Docker · CLI reference · Troubleshooting
ArchitecturePackages, create flow, state on disk
ExamplesReady-to-use cluster files for common setups

Status and limits

Proxbase is young; the file format may change before v1.0. It is tested with Proxmox VE 9.2 on Debian 13 (QEMU 10.0, AMD). Clusters need a Linux host with KVM: macOS builds are experimental and Docker Desktop has no /dev/kvm. Nodes are reachable from the host through forwarded ports on 127.0.0.1; host-reachable bridge networking is designed but not implemented. Proxbase builds labs: it stores generated passwords and keys unencrypted in its state directory.

Contributing

Issues and pull requests are welcome; see CONTRIBUTING.md and the code of conduct. Report security issues privately as described in SECURITY.md.

License

Apache-2.0

Source: README.md at commit e75a820

Tools

0
SourceWeft started this package once in an isolated sandbox, without credentials, to list its tools. That failed: the package type cannot run in the sandbox.

Version history

4
  1. v0.4.0LatestOct 23, 2026
  2. v0.3.0Oct 22, 2026
  3. v0.2.2Oct 22, 2026
  4. v0.2.1Oct 11, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts