Proxmox MCP is an opinionated MCP server

io.github.sergelogvinov由 GitHub 帳號 sergelogvinov 發布v0.3.0更新於 Oct 24, 2026

Proxmox MCP is an opinionated MCP server

概覽

AI 產生的概覽

唯讀的 MCP 伺服器,將 AI 助理連接到 Proxmox VE API,用來檢視叢集、節點、虛擬機、容器、儲存與任務事件。

可以做什麼
  • 列出並檢視已設定的 Proxmox 叢集,包括版本、節點、節點狀態與總資源
  • 列出並檢視節點狀態、資源使用量、運作時間、核心與開機資訊
  • 列出並檢視 QEMU 虛擬機與 LXC 容器,包括客體或執行時期的網路介面
  • 列出並檢視儲存資源的狀態、類型、內容與容量使用量
  • 列出所有節點上近期的 Proxmox 任務事件
  • 啟用破壞性工具後,可啟動虛擬機與容器的非同步備份並回傳任務識別碼
適用情境
適合讓助理代為蒐集與彙整 Proxmox 叢集狀態,而不必在 Proxmox 介面中逐頁查看或執行多道指令,例如檢查資源使用量、檢視近期任務,或在變更基礎設施前蒐集資訊。它補足而非取代 Terraform、Ansible 或 GitOps 等工具。
執行需求
需要本機執行檔或容器映像(Homebrew tap 或 ghcr.io 映像),以 stdio 方式執行,或使用內建的 HTTP 伺服器模式。需要一份 YAML 叢集設定檔,透過 --config 或 CONFIG_FILE 指定,其中每個叢集包含 region、API 位址,以及 Proxmox API 權杖或使用者名稱加密碼,可選 CA 憑證檔。需要能連線到 Proxmox API 的網路。
安裝前請注意
設定檔含有 Proxmox 憑證:token_secret、password 或密鑰檔案路徑,建議改用檔案類欄位以免密鑰寫進 YAML。Proxmox 帳號應只授予工具所需的權限。insecure 選項會略過 TLS 憑證檢查,僅限本機測試。HTTP 端點本身不提供使用者驗證,依賴 Proxmox 權杖;透過 Authorization 標頭傳入的權杖會覆蓋設定中的憑證。啟用 --allow-destructive 會增加備份操作,會實際啟動任務。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Proxmox MCP is an opinionated MCP server,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

Proxmox MCP Server

NOTE: This project is under active development.

Motivation

Modern infrastructure often uses tools such as Terraform/OpenTofu, Ansible, and GitOps. These tools deploy and configure Proxmox infrastructure and Kubernetes clusters.

The Proxmox MCP Server does not replace these tools. It gives AI assistants and automation agents access to information about your Proxmox clusters.

The default tools are read-only. Optional action tools can be enabled with --allow-destructive for operations such as backups and reboots.

Instead of checking many pages in the Proxmox UI or running several commands, you can ask an AI assistant to collect and analyze the required information. Your existing automation tools remain the main source for infrastructure changes.

Overview

The server connects an MCP client, such as an AI assistant, to the Proxmox VE API. It supports multiple Proxmox clusters and returns structured data.

You can use it to:

  • inspect clusters, nodes, and storage
  • check resource usage and node status
  • review recent Proxmox task events
  • find differences and possible configuration problems
  • collect information before you make infrastructure changes

Keep your AI on the leash.

Proxmox core tools

The MCP server provides the following read-only tools:

ToolArgumentsDescription
proxmox_clusters_listNoneList the configured Proxmox clusters.
proxmox_clusters_describeclusterShow a cluster's version, nodes, node statuses, and total resources.
proxmox_containers_listclusterList LXC containers with their status and resource usage.
proxmox_containers_describecluster, vmid, node (optional)Show an LXC container's current status and runtime network interfaces when it is running.
proxmox_events_listcluster, limit (optional)List recent task events across all nodes. The default limit is 10.
proxmox_nodes_listclusterList nodes with their status and resource usage.
proxmox_nodes_describecluster, nodeShow a node's status, resources, uptime, version, kernel, and boot information.
proxmox_storage_listclusterList storage resources with their status, type, content, and capacity usage.
proxmox_storage_describecluster, name, node (optional)Show storage details and, when a node is provided, content visible on that node.
proxmox_vms_listclusterList QEMU virtual machines with their status and resource usage.
proxmox_vms_describecluster, vmid, node (optional)Show a QEMU virtual machine's current status and guest network interfaces when its QEMU guest agent is responding.

Use proxmox_clusters_list first to find the cluster names used by the other tools. MCP clients can discover the full input and output schemas. You can also list the tools from the command line:

sh
proxmox-mcp tools --config /absolute/path/to/cluster-config.yaml

When --allow-destructive is enabled, proxmox_vms_backup and proxmox_containers_backup accept cluster, vmid, optional node, storage, mode, and compress arguments. They start an asynchronous backup and return its Proxmox task identifier; task creation does not mean that the backup has already completed successfully.

Installation

For a local installation with Homebrew, run:

sh
brew install sergelogvinov/tap/proxmox-mcp

You do not need a local installation when you use an MCP server hosted on another machine.

Configure Proxmox clusters

Create a YAML file that contains one or more Proxmox clusters:

yaml
clusters:  - region: homelab    url: https://pve.example.com:8006/api2/json    token_id: mcp@pve!reader    token_secret_file: /absolute/path/to/token-secret    ca_file: /absolute/path/to/proxmox-ca.crt

Each cluster supports these fields:

FieldRequiredDescription
regionYesUnique name used to select the cluster in tool calls.
urlYesFull Proxmox API URL, including /api2/json.
token_idFor token loginProxmox API token ID, for example mcp@pve!reader.
token_id_fileFor token loginFile that contains the token ID. Use this instead of token_id.
token_secretFor token loginProxmox API token secret.
token_secret_fileFor token loginFile that contains the token secret. Use this instead of token_secret.
usernameFor password loginProxmox user name. Must be used with password.
passwordFor password loginProxmox password. Must be used with username.
ca_fileNoPath to the CA certificate used to check the Proxmox TLS certificate.
insecureNoSkip TLS certificate checks. Use only for local testing. Default: false.

Use either token login or password login for a cluster, not both. Files are recommended for secrets because they keep secret values out of the YAML file. The Proxmox account should have only the permissions required by the tools.

Set the configuration path with --config or CONFIG_FILE.

Configure an MCP client

Local stdio server

For clients that use a JSON MCP configuration, add an entry like this:

json
{  "mcpServers": {    "proxmox": {      "command": "proxmox-mcp",      "args": ["mcp"],      "env": {        "CONFIG_FILE": "/absolute/path/to/cluster-config.yaml"      }    }  }}

Remote HTTP server

Start the streamable HTTP server with:

sh
proxmox-mcp server \  --config /absolute/path/to/cluster-config.yaml \  --listen-address :8080

:8080 accepts connections on every IPv4 and IPv6 address. To listen on one address, give it with the port, for example 127.0.0.1:8080 or [::1]:8080. The MCP endpoint is http://host:8080/mcp

For a remote client, use an HTTPS URL that ends with /mcp:

json
{  "mcpServers": {    "proxmox": {      "type": "http",      "url": "https://proxmox-mcp.example.com/mcp",      "headers": {        "Authorization": "Bearer PVEAPIToken=mcp@pve!reader=TOKEN_SECRET"      }    }  }}

The server does not provide user authentication for the HTTP endpoint. It relies on Proxmox authentication and API tokens for access control. Provide the token in mcp header like:

text
Authorization: PVEAPIToken=mcp@pve!reader=TOKEN_SECRET

When this header is present, its token is used for the tool call instead of the credentials from the cluster configuration. The configured cluster must still include region and url.

Restart or reload the MCP client after you save its configuration.

Running

Common flags

The mcp, server, and tools commands use the following flags. Each flag can also be set with an environment variable. A command-line flag has higher priority than an environment variable.

FlagEnvironment variableDefaultDescription
--config <path>CONFIG_FILENonePath to the required clusters YAML configuration file.
--extensions <list>EXTENSIONSallComma-separated list of extensions to enable, or all.
--allow-destructiveALLOW_DESTRUCTIVEfalseAllow destructive tools when they are available. Current core tools are read-only.
--log-level <level>LOG_LEVELinfoLog level: debug, info, warn, or error.
--log-format <format>LOG_FORMATtextLog output format: text or json.

The server command also accepts --listen-address or LISTEN_ADDRESS (host:port). The default is 127.0.0.1:8080, and the container image sets LISTEN_ADDRESS=:8080. The tools command accepts --output (-o) with text, json, or yaml. Its default is text.

For example, run the stdio server with JSON logs:

sh
proxmox-mcp mcp \  --config /absolute/path/to/cluster-config.yaml \  --log-format json

Test the configuration

List all available tools:

sh
export CONFIG_FILE="/absolute/path/to/cluster-config.yaml"proxmox-mcp tools

Call a tool directly:

sh
proxmox-mcp tools proxmox_clusters_listproxmox-mcp tools proxmox_nodes_list cluster=homelabproxmox-mcp tools -o json proxmox_events_list cluster=homelab limit=5

License

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.


Proxmox® is a registered trademark of Proxmox Server Solutions GmbH.

來源:README.md,提交 689e944

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

2
  1. v0.3.0最新Oct 5, 2026
  2. v0.2.0Sep 22, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分