Proxmox MCP Server
Provides tools for interacting with the Proxmox VE API, enabling inspection of clusters, nodes, storage, LXC containers, and QEMU virtual machines, checking resource usage, reviewing task events, and identifying configuration issues.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Proxmox MCP ServerShow me recent task events on the homelab cluster"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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.
Related MCP server: ProxmoxEmCP
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:
Tool | Arguments | Description |
| None | List the configured Proxmox clusters. |
|
| Show a cluster's version, nodes, node statuses, and total resources. |
|
| List LXC containers with their status and resource usage. |
|
| Show an LXC container's current status and runtime network interfaces when it is running. |
|
| List recent task events across all nodes. The default limit is |
|
| List nodes with their status and resource usage. |
|
| Show a node's status, resources, uptime, version, kernel, and boot information. |
|
| List storage resources with their status, type, content, and capacity usage. |
|
| Show storage details and, when a node is provided, content visible on that node. |
|
| List QEMU virtual machines with their status and resource usage. |
|
| 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:
proxmox-mcp tools --config /absolute/path/to/cluster-config.yamlWhen --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:
brew install sergelogvinov/tap/proxmox-mcpYou 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:
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.crtEach cluster supports these fields:
Field | Required | Description |
| Yes | Unique name used to select the cluster in tool calls. |
| Yes | Full Proxmox API URL, including |
| For token login | Proxmox API token ID, for example |
| For token login | File that contains the token ID. Use this instead of |
| For token login | Proxmox API token secret. |
| For token login | File that contains the token secret. Use this instead of |
| For password login | Proxmox user name. Must be used with |
| For password login | Proxmox password. Must be used with |
| No | Path to the CA certificate used to check the Proxmox TLS certificate. |
| No | Skip TLS certificate checks. Use only for local testing. Default: |
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:
{
"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:
proxmox-mcp server \
--config /absolute/path/to/cluster-config.yaml \
--port 8080The MCP endpoint is http://host:8080/mcp
For a remote client, use an HTTPS URL that ends with /mcp:
{
"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:
Authorization: PVEAPIToken=mcp@pve!reader=TOKEN_SECRETWhen 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.
Flag | Environment variable | Default | Description |
|
| None | Path to the required clusters YAML configuration file. |
|
|
| Comma-separated list of extensions to enable, or |
|
|
| Allow destructive tools when they are available. Current core tools are read-only. |
|
|
| Log level: |
|
|
| Log output format: |
The server command also accepts --port or PORT. The default port is
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:
proxmox-mcp mcp \
--config /absolute/path/to/cluster-config.yaml \
--log-format jsonTest the configuration
List all available tools:
export CONFIG_FILE="/absolute/path/to/cluster-config.yaml"
proxmox-mcp toolsCall a tool directly:
proxmox-mcp tools proxmox_clusters_list
proxmox-mcp tools proxmox_nodes_list cluster=homelab
proxmox-mcp tools -o json proxmox_events_list cluster=homelab limit=5License
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.
This server cannot be deployed
Maintenance
Related MCP Connectors
Provides capabilities that let LLM agents perform a range of infrastructure management tasks.
- emisarOAuthdev.emisar
Let AI operate servers without SSH. Choose actions, approve risky changes, and audit every step.
Manage Rackspace Spot Kubernetes Cloudspaces, node pools, and VMs from your AI assistant.
Protocol-native energy infrastructure orchestration for AI data centers. Provides 46 MCP tools across 8 grid protocols (IEC-61850, DNP3, Modbus, OCPP, OpenADR, IEEE 2030.5, IEC 60870-5-104, ICCP) with 5 core API primitives: connect, dispatch, settle, comply, and intel. Enables AI agents to programmatically interact with substations, grid interfaces, and energy assets for real-time workload-grid coordination.
Related MCP Servers
- AlicenseCqualityDmaintenanceEnables management of Proxmox VE infrastructure through natural language, providing 120+ tools to control virtual machines, containers, storage, cluster resources, users, and network configurations via the Proxmox API.10018 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage Proxmox VE infrastructure, including VMs, containers, storage, and cluster operations via natural language.MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to monitor and manage Proxmox VE infrastructure, including nodes, VMs, containers, storage, backups, and networking, via natural language.1MIT
- AlicenseBqualityCmaintenanceEnables AI assistants to manage Proxmox VE infrastructure, including VMs, containers, storage, network, high availability, replication, SDN, and node administration.10011 npmMIT