MCP server for Proxmox VE API operations over stdio
Find a file
Simon Cornet 0d42d8e742
All checks were successful
ci/woodpecker/push/lint-test-release Pipeline was successful
fix(ceph): query nodes endpoint for firstOnlineNode instead of cluster/status
2026-06-03 08:52:08 +02:00
.woodpecker ci: remove releasing step from woodpecker 2026-06-02 17:25:55 +02:00
.gitignore feat: initial MCP server for Proxmox VE API 2026-06-02 16:17:03 +02:00
.markdownlint-cli2.jsonc feat: initial MCP server for Proxmox VE API 2026-06-02 16:17:03 +02:00
go.mod feat: initial MCP server for Proxmox VE API 2026-06-02 16:17:03 +02:00
go.sum feat: initial MCP server for Proxmox VE API 2026-06-02 16:17:03 +02:00
main.go feat: initial MCP server for Proxmox VE API 2026-06-02 16:17:03 +02:00
proxmox.go refactor: add http client timeout, deduplicate vm lookup, unify tool output format 2026-06-03 08:47:56 +02:00
readme.md docs(readme): remove hardcoded default from PVE_URL env var docs 2026-06-03 08:37:40 +02:00
renovate.json feat: initial MCP server for Proxmox VE API 2026-06-02 16:17:03 +02:00
tools.go fix(ceph): query nodes endpoint for firstOnlineNode instead of cluster/status 2026-06-03 08:52:08 +02:00

mcp-proxmox

MCP server for Proxmox VE API operations over stdio.

Environment Variables

Variable Default Description
PVE_URL Proxmox VE API endpoint
PVE_API_TOKEN_ID PVE API token ID (e.g. root@pam!mcp)
PVE_API_TOKEN_SECRET PVE API token secret

Tools

Tool Description Required Privileges
cluster_status Get cluster status (quorum, nodes, version) Sys.Audit on /
ceph_status Get Ceph health, OSDs, monitors, PGs Sys.Audit on /
node_list List nodes with CPU/memory/disk usage Sys.Audit on /
vm_list List all VMs and containers with status VM.Audit on /vms/{vmid}
vm_status Get detailed status of a specific VM/CT VM.Audit on /vms/{vmid}
vm_power Control VM/CT power (start/stop/restart/suspend/resume/shutdown) VM.PowerMgmt on /vms/{vmid}
storage_list List storage pools with type and usage Datastore.Audit on /storage/{storage}
cluster_resources Get all cluster resources, optionally filtered by type Sys.Audit on /
vm_migrate Migrate a VM to another cluster node VM.Migrate on /vms/{vmid}

Build

go build -o mcp-proxmox .

Usage

Add to your MCP client config:

{
  "mcpServers": {
    "mcp-proxmox": {
      "command": "/path/to/mcp-proxmox",
      "env": {
        "PVE_URL": "https://pve.example.com:8006",
        "PVE_API_TOKEN_ID": "root@pam!token-name",
        "PVE_API_TOKEN_SECRET": "your-token-secret"
      }
    }
  }
}

The server communicates over stdio using the MCP protocol.