Proxbase

io.github.virtbase由 GitHub 账号 virtbase 发布v0.4.0更新于 Oct 24, 2026

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

概览

AI 生成的概览

Proxbase 的 MCP 服务器让 AI 助手在本机 Linux 上创建、操作并故意破坏真实的 Proxmox VE 集群(以 QEMU/KVM 虚拟机运行)。

可以做什么
  • 创建和销毁 Proxmox VE 实验集群,支持多节点、ZFS 或 Ceph 存储以及内部网络
  • 启停集群、增减节点,并对整个集群做快照与恢复,包括可秒级恢复运行中集群的实时快照
  • 调用 Proxmox API,并在单个节点上执行命令
  • 诊断集群状态并回滚到快照
  • 注入断电、节点挂起、拔网线、网络分区、延迟与丢包等故障
适用场景
适合需要可随时丢弃但贴近真实的 Proxmox VE 环境时使用,例如实验、演示、CI 集成测试,或借助助手测试高可用、隔离(fencing)与 Ceph 恢复行为。
运行要求
作为本地 stdio 进程运行,需要 Linux amd64 主机、/dev/kvm、QEMU 7.2+(qemu-system-x86_64、qemu-img),每节点约 4 GiB 内存;节点内再跑虚拟机需要嵌套虚拟化。可通过容器镜像或 Go 安装,未声明任何凭据。
安装前请注意
该服务器会创建和销毁虚拟机并注入故障,可能删除集群状态与数据。生成的密码和密钥以未加密形式存放在其状态目录中,Web UI 与 SSH 通过本机转发端口暴露。macOS 支持为实验性,Docker Desktop 没有 /dev/kvm。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Proxbase,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

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

来源:README.md,提交 e75a820

工具

0
SourceWeft 曾在隔离沙箱中以无凭据方式启动该软件包一次,以列出其工具,但未能完成:该软件包类型无法在沙箱中运行。

版本历史

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

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分