Mmcp.market

Proxmox VE MCP Server

by Samik081·io.github.Samik081/mcp-pve·v0.8.1

Manage Proxmox VE through AI assistants

B83/100grade B
What users say
No reviews yet
Be the first
Safety scan
B83/100

full report

Adoption
Growing

23 stars127 downloads/wk

Reviews

Write one

Nobody has reviewed Proxmox VE MCP Server yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Proxmox VE MCP Server tools (100, 37 write)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • pve_bulk_migrate_guests

    Migrate multiple VMs/containers to a target node in one bulk action (PVE 9.1+). Returns a task ID

  • pve_bulk_shutdown_guests

    Gracefully shut down multiple VMs/containers cluster-wide in one bulk action (PVE 9.1+). Returns a task ID

  • pve_bulk_start_guests

    Start multiple VMs/containers cluster-wide in one bulk action (PVE 9.1+). Returns a task ID

  • pve_bulk_suspend_guests

    Suspend multiple VMs cluster-wide in one bulk action (PVE 9.1+). Returns a task ID

  • pve_clone_lxc_container

    Clone an LXC container to create a new container from it

  • pve_clone_qemu_vm

    Clone a QEMU VM to create a new VM from it

  • pve_create_backup_jobwrite action

    Create a new scheduled backup job

  • pve_create_firewall_rulewrite action

    Create a new cluster-level firewall rule

  • pve_create_ha_resourcewrite action

    Add a VM or container to HA management. SID format: type:vmid (e.g. vm:100). Requires Sys.Console privilege on PVE 9.2+

  • pve_create_ha_rulewrite action

    Create an HA rule (node-affinity: pin resources to nodes; resource-affinity: keep resources together or apart). Requires Sys.Console. Resources format: comma-separated IDs (e.g. vm:100,ct:200)

  • pve_create_lxc_containerwrite action

    Create a new LXC container

  • pve_create_lxc_snapshotwrite action

    Create a snapshot of an LXC container

  • pve_create_networkwrite action

    Create a new network interface on a node

  • pve_create_poolwrite action

    Create a new resource pool

  • pve_create_qemu_snapshotwrite action

    Create a snapshot of a QEMU VM

  • pve_create_qemu_vmwrite action

    Create a new QEMU virtual machine

  • pve_create_userwrite action

    Create a new user in the PVE access control system

  • pve_create_user_tokenwrite action

    Create an API token for a user. The token secret is returned ONCE in the response and cannot be retrieved again

  • pve_delete_backup_jobwrite action

    Delete a scheduled backup job

  • pve_delete_firewall_rulewrite action

    Delete a cluster-level firewall rule by position

  • pve_delete_ha_resourcewrite action

    Remove a VM or container from HA management (does not delete the VM/container itself)

  • pve_delete_ha_rulewrite action

    Delete an HA rule. Requires Sys.Console

  • pve_delete_lxc_containerwrite action

    Delete an LXC container and all its data. The container must be stopped first.

  • pve_delete_lxc_snapshotwrite action

    Delete a snapshot of an LXC container

  • pve_delete_networkwrite action

    Delete a network interface configuration on a node

  • pve_delete_poolwrite action

    Delete a resource pool (pool must be empty)

  • pve_delete_qemu_snapshotwrite action

    Delete a snapshot of a QEMU VM

  • pve_delete_qemu_vmwrite action

    Delete a QEMU virtual machine and all its data. The VM must be stopped first.

  • pve_delete_userwrite action

    Delete a user from the PVE access control system

  • pve_delete_user_tokenwrite action

    Delete an API token from a user

  • pve_disarm_ha

    Disarm the HA stack cluster-wide for maintenance (releases node watchdogs, PVE 9.2+). resource_mode 'freeze': queue state changes until re-armed; 'ignore': HA ignores resources entirely. Requires Sys.Console privilege — a privilege-separated API token must have Sys.Console granted

  • pve_get_backup_job

    Get the configuration of a specific backup job

  • pve_get_cluster_ha_status

    Get the current HA manager status

  • pve_get_cluster_log

    Get recent cluster log entries

  • pve_get_cluster_options

    Get cluster-wide datacenter options

  • pve_get_cluster_status

    Get the current cluster status including node membership and quorum

  • pve_get_firewall_options

    Get the cluster-level firewall options

  • pve_get_ha_resource

    Get the HA configuration for a specific resource. SID format: type:vmid (e.g. vm:100)

  • pve_get_ha_rule

    Get the configuration of a specific HA rule

  • pve_get_lxc_config

    Get the configuration of an LXC container

  • pve_get_lxc_rrddata

    Get RRD statistics (CPU, memory, disk, network) for an LXC container over a time period

  • pve_get_lxc_status

    Get the current status of an LXC container including CPU, memory, and disk usage

  • pve_get_network

    Get the configuration of a specific network interface on a node

  • pve_get_next_vmid

    Get the next available VMID in the cluster

  • pve_get_node_dns

    Get DNS settings for a specific node

  • pve_get_node_status

    Get detailed status of a specific node including CPU, memory, uptime, and load

  • pve_get_node_syslog

    Get system log entries from a specific node

  • pve_get_node_time

    Get time and timezone information for a specific node

  • pve_get_node_version

    Get the PVE version information for a specific node

  • pve_get_pool

    Get detailed information about a resource pool including its members

  • pve_get_qemu_config

    Get the configuration of a QEMU VM

  • pve_get_qemu_rrddata

    Get RRD statistics (CPU, memory, disk, network) for a QEMU VM over a time period

  • pve_get_qemu_status

    Get the current status of a QEMU VM including CPU, memory, disk, and network usage

  • pve_get_storage_config

    Get the configuration of a specific storage backend

  • pve_get_storage_status

    Get the status and usage of a specific storage on a node

  • pve_get_user

    Get detailed information about a specific user

  • pve_list_acls

    List all access control list entries

  • pve_list_backup_jobs

    List all scheduled backup jobs in the cluster

  • pve_list_cluster_backup_info

    List guests that are not covered by any backup job

  • pve_list_cluster_replication

    List all replication jobs in the cluster

  • pve_list_cluster_resources

    List all cluster resources (VMs, containers, storage, nodes) with optional type filter

  • pve_list_domains

    List all authentication domains/realms (e.g. pam, pve, ldap, ad)

  • pve_list_firewall_aliases

    List all cluster-level firewall aliases (named IP/CIDR entries)

  • pve_list_firewall_ipsets

    List all cluster-level firewall IP sets

  • pve_list_firewall_rules

    List all cluster-level firewall rules

  • pve_list_groups

    List all user groups

  • pve_list_ha_resources

    List all HA-managed resources in the cluster

  • pve_list_ha_rules

    List HA rules (node-affinity and resource-affinity). HA rules replace the deprecated HA groups (PVE 9+)

  • pve_list_lxc_containers

    List all LXC containers on a specific node

  • pve_list_lxc_snapshots

    List all snapshots of an LXC container

  • pve_list_networks

    List all network interfaces on a specific node

  • pve_list_node_services

    List all system services and their status on a specific node

  • pve_list_node_storage

    List available storage on a specific node with usage information

  • pve_list_nodes

    List all nodes in the Proxmox VE cluster

  • pve_list_pools

    List all resource pools in the cluster

  • pve_list_qemu_snapshots

    List all snapshots of a QEMU VM

  • pve_list_qemu_vms

    List all QEMU virtual machines on a specific node

  • pve_list_roles

    List all available roles and their privileges

  • pve_list_storage

    List all configured storage backends in the cluster

  • pve_list_storage_content

    List the content (disk images, ISOs, templates, backups) of a specific storage on a node

  • pve_list_user_tokens

    List the API tokens of a user

  • pve_list_users

    List all users in the PVE access control system

  • pve_manage_node_service

    Start, stop, restart, or reload a system service on a specific node

  • pve_migrate_qemu_vm

    Migrate a QEMU VM to another node in the cluster

  • pve_pull_oci_image

    Pull an OCI container image from a registry (e.g. Docker Hub, GHCR) into a storage's template cache for use as an LXC container template (PVE 9.1+). Returns a task ID

  • pve_rollback_lxc_snapshot

    Rollback an LXC container to a previous snapshot state

  • pve_rollback_qemu_snapshot

    Rollback a QEMU VM to a previous snapshot state

  • pve_run_backupwrite action

    Run an immediate backup (vzdump) of one or more VMs/containers on a node

  • pve_update_aclwrite action

    Update access control list — grant or revoke roles for users/groups on specific paths

  • pve_update_cluster_optionswrite action

    Update cluster-wide datacenter options

  • pve_update_firewall_optionswrite action

    Update the cluster-level firewall options (e.g. enable/disable firewall)

  • pve_update_firewall_rulewrite action

    Update an existing cluster-level firewall rule by position

  • pve_update_ha_resourcewrite action

    Update the HA configuration for an existing managed resource

  • pve_update_ha_rulewrite action

    Update an existing HA rule. Requires Sys.Console. Use delete_settings to unset options

  • pve_update_lxc_configwrite action

    Update the configuration of an LXC container

  • pve_update_networkwrite action

    Update the configuration of a network interface on a node

  • pve_update_poolwrite action

    Update a resource pool — add or remove VMs/containers and storage from the pool

  • pve_update_qemu_configwrite action

    Update the configuration of a QEMU VM

  • pve_update_userwrite action

    Update an existing user's properties

  • pve_update_user_tokenwrite action

    Update an API token's comment, expiration, or privsep

Public scan report

scanner v0.1.9 · 2026-09-20 · same rubric, same numbers if you re-run it

no findings
  • Code scan43 source files scanned25/25
  • Live reliabilityno gateway calls yet and no remote to proben/a
  • Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitystatic API keys via environment variables6/15
  • Maintenancelast push 18 days ago15/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Overall 83/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

What the publisher says

From the Proxmox VE MCP Server repository's README, as published. We do not edit it. Read it on GitHub

MCP PVE

MCP server for Proxmox VE. Manage virtual machines, containers, storage, networking, and clusters through natural language in Cursor, Claude Code, and Claude Desktop.

Features

  • 121 tools across 12 categories covering the Proxmox VE REST API
  • Three access tiers (read-only, read-execute, full) for granular control
  • Category filtering via PVE_CATEGORIES to expose only the tools you need
  • Zero HTTP dependencies -- uses native fetch (Node 22+)
  • Self-signed cert support via PVEVERIFYSSL=false
  • Docker images for linux/amd64 and linux/arm64 on GHCR
  • Remote MCP via HTTP transport (MCP_TRANSPORT=http) using the Streamable HTTP protocol
  • TypeScript/ESM with full type safety

API Compatibility

Tested with Proxmox VE 9.2.4.

Quick Start

Run the server directly with npx:

PVE_BASE_URL="https://pve.example.com:8006" \
PVE_TOKEN_ID="root@pam!mcp" \
PVE_TOKEN_SECRET="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" \
npx -y @samik081/mcp-pve

The server validates your PVE connection on startup and fails immediately with a clear error if credentials are missing or invalid.

Docker

Run with Docker (stdio transport, same as npx):

docker run --rm -i \
  -e PVE_BASE_URL=https://pve.example.com:8006 \
  -e PVE_TOKEN_ID=root@pam!mcp \
  -e PVE_TOKEN_SECRET=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
  -e PVE_VERIFY_SSL=false \
  ghcr.io/samik081/mcp-pve

To run as a remote MCP server with HTTP transport:

docker run -d -p 3000:3000 \
  -e MCP_TRANSPORT=http \
  -e PVE_BASE_URL=https://pve.example.com:8006 \
  -e PVE_TOKEN_ID=root@pam!mcp \
  -e PVE_TOKEN_SECRET=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
  -e PVE_VERIFY_SSL=false \
  ghcr.io/samik081/mcp-pve

The MCP endpoint is available at http://localhost:3000 and a health check at http://localhost:3000/health.

Configuration

Claude Code CLI (recommended):

# Using npx
claude mcp add --transport stdio pve \
  --env PVE_BASE_URL=https://pve.example.com:8006 \
  --env PVE_TOKEN_ID=root@pam!mcp \
  --env PVE_TOKEN_SECRET=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
  --env PVE_VERIFY_SSL=false \
  -- npx -y @samik081/mcp-pve

# Using Docker
claude mcp add --transport stdio pve \
  --env PVE_BASE_URL=https://pve.example.com:8006 \
  --env PVE_TOKEN_ID=root@pam!mcp \
  --env PVE_TOKEN_SECRET=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
  --env PVE_VERIFY_SSL=false \
  -- docker run --rm -i ghcr.io/samik081/mcp-pve

# Using remote HTTP (connect to a running Docker container or HTTP server)
claude mcp add --transport http pve http://localhost:3000

JSON config (works with Claude Code .mcp.json, Claude Desktop claudedesktopconfig.json, Cursor .cursor/mcp.json):

{
  "mcpServers": {
    "pve": {
      "command": "npx",
      "args": ["-y", "@samik081/mcp-pve"],
      "env": {
        "PVE_BASE_URL": "https://pve.example.com:8006",
        "PVE_TOKEN_ID": "root@pam!mcp",
        "PVE_TOKEN_SECRET": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "PVE_VERIFY_SSL": "false"
      }
    }
  }
}

Docker (stdio):

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Install directly

Runs npx -y @samik081/mcp-pve on your machine. Read the scan report first; the gateway never runs local packages.

claude mcp add mcp-pve -- npx -y @samik081/mcp-pve
Add to Cursor

Proxmox VE MCP Server: common questions

Is Proxmox VE MCP Server safe?
Mostly: it is graded B (83/100). Read the Proxmox VE MCP Server safety report
How do I install Proxmox VE MCP Server?
It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
Does Proxmox VE MCP Server need an API key?
Yes. The registry entry asks for PVE_TOKEN_ID, PVE_TOKEN_SECRET.
Is Proxmox VE MCP Server maintained?
The last commit was 18 days ago (2026-09-02). The latest release is v0.8.1.

More from Samik081