ProxmoxMCP-advance
Proxmox MCP Server Manager (Advanced Edition) is a tool designed to streamline the management of virtual machines. It allows for instant starting, stopping, and managing of VMs, as well as in-VM command execution and automated provisioning features. With a real-time overview of cluster resource status, monitoring the entire cluster becomes easy. Security is also a priority, with sensitive information managed securely, and seamless integration with VSCode enables automated workflows.
GitHub Stars
0
User Rating
Not Rated
Forks
0
Issues
0
Views
1
Favorites
0
๐ฆธ Proxmox MCP Server Manager (Advanced Edition)
โจ What's New in This Release
Advanced Features Recently Added:
- ๐ข Start/Stop/Manage VMs: Instantly start, stop, or reboot any VM in your cluster.
- ๐ฅ๏ธ In-VM Command Execution: Run system updates, install packages (e.g., nginx), and patch VMs directly from the MCP interface.
- โก Automated VM Provisioning: Spin up new VMs from any ISO with default or custom resources in a single command.
- ๐ Cluster Resource Overview: List all nodes, VMs, and storage pools with real-time status and resource usage.
- ๐ Secure Configuration: All sensitive credentials are managed via config files and environment variables, never hardcoded.
- ๐งโ๐ป Rich CLI/VSCode Integration: Seamless operation with Cline and VSCode for automated workflows.
- ๐ฌ Demo Video: See
ProxmoxMCP/Proxmox-adv-demo.webm
for a walkthrough of these features.
๐ฅ๏ธ Setting Up Proxmox on a Virtual Machine Manager
๐ Step-by-step guide to install Proxmox using the official ISO:
๐ฅ Download the Proxmox ISO:
- Visit the Proxmox Downloads page and download the latest Proxmox VE ISO (e.g.,
proxmox-ve_8.x.iso
).
- Visit the Proxmox Downloads page and download the latest Proxmox VE ISO (e.g.,
๐ Create a New Virtual Machine:
- Open your Virtual Machine Manager (e.g., virt-manager, VMware, VirtualBox).
- Create a new VM and select the downloaded Proxmox ISO as the installation media.
- Assign at least 2 CPU cores, 4GB RAM, and 32GB disk (recommended for testing).
- Configure networking (bridged or NAT as needed).
๐ฟ Install Proxmox:
- Boot the VM from the ISO and follow the on-screen instructions to install Proxmox VE.
- Set a secure password and note the IP address assigned to the VM.
โ๏ธ Initial Configuration:
- Access the Proxmox web UI at
https://<proxmox-vm-ip>:8006
from your browser. - Complete the setup wizard, configure storage, and create an admin user if needed.
- Access the Proxmox web UI at
๐ API Token Setup:
- In the Proxmox web UI, go to Datacenter โ Permissions โ API Tokens.
- Create a new API token for your user (e.g.,
Markermav@pam
). #Example user here! - Save the token name and value securely.
๐ฐ๏ธ Enable QEMU Guest Agent (for VM command execution):
- For each VM you want to manage, install the QEMU Guest Agent:
apt-get update apt-get install -y qemu-guest-agent systemctl enable --now qemu-guest-agent
- Ensure the agent is enabled in the VM's options settings in Proxmox.
- Right click on VM โ Options โ enable QEMU Guest Agent. (**without this agent will not start)
- For each VM you want to manage, install the QEMU Guest Agent:
๐๏ธ Configuration Example
proxmox-config/config.json (with sensitive info replaced):
{
"proxmox": {
"host": "proxmox.example.local",
"port": 8006,
"verify_ssl": false,
"service": "PVE"
},
"auth": {
"user": "Markermav@pam", #Example user here!
"token_name": "mcp-token",
"token_value": "your-token-value"
},
"logging": {
"level": "DEBUG",
"format": "%(asctime)s - %(name)s - %(levelname)s - %(message)s",
"file": "proxmox_mcp.log"
}
}
๐ฆ Installation
๐ ๏ธ Prerequisites
- ๐ Python 3.10+
- ๐งฌ Git
- ๐ฆ UV package manager (
pip install uv
) - ๐ Access to a Proxmox server with API token credentials
โก Quick Install
git clone https://github.com/Markermav/ProxmoxMCP.git
cd ProxmoxMCP
uv venv
source .venv/bin/activate
uv pip install -e ".[dev]"
mkdir -p proxmox-config
cp config/config.example.json proxmox-config/config.json
# Edit proxmox-config/config.json with your Proxmox details
๐ Running the Server
Development Mode:
source .venv/bin/activate
python -m proxmox_mcp.server
Cline Desktop Integration:
Add this to your MCP settings (replace paths and sensitive info):
{
"mcpServers": {
"github.com/Markermav/ProxmoxMCP": {
"command": "/home/Markermav/ProxmoxMCP/.venv/bin/python",
"args": ["-m", "proxmox_mcp.server"],
"cwd": "/home/Markermav/ProxmoxMCP",
"env": {
"PYTHONPATH": "/home/Markermav/ProxmoxMCP/src",
"PROXMOX_MCP_CONFIG": "/home/Markermav/ProxmoxMCP/proxmox-config/config.json",
"PROXMOX_HOST": "proxmox.example.local",
"PROXMOX_USER": "Markermav@pam", #Example user here!
"PROXMOX_TOKEN_NAME": "mcp-token",
"PROXMOX_TOKEN_VALUE": "your-token-value",
"PROXMOX_PORT": "8006",
"PROXMOX_VERIFY_SSL": "false",
"PROXMOX_SERVICE": "PVE",
"LOG_LEVEL": "DEBUG"
},
"disabled": false,
"autoApprove": []
}
}
}
๐งฐ Available Tools
- ๐ฅ๏ธ List Nodes: View all nodes in the cluster with status and resource usage.
- ๐ก Node Status: Get detailed info for any node.
- ๐๏ธ List VMs: See all VMs, their status, and resources.
- ๐ VM State Management: Start, stop, reboot, suspend, or reset VMs.
- ๐ฐ๏ธ In-VM Command Execution: Run any shell command in a VM (requires QEMU Guest Agent).
- ๐พ Storage Overview: List all storage pools and usage.
- ๐ฅ Cluster Health: Get overall cluster status and health.
๐๏ธ Project Structure
proxmox-mcp/
โโโ src/
โ โโโ proxmox_mcp/
โ โโโ server.py
โ โโโ config/
โ โโโ core/
โ โโโ formatting/
โ โโโ tools/
โ โ โโโ console/
โ โโโ utils/
โโโ tests/
โโโ proxmox-config/
โ โโโ config.example.json
โโโ pyproject.toml
โโโ LICENSE
๐ License
MIT License
CKA | DevOps | Linux | AWS | CI/CD | Microservices | MACS Concordia University, Montrรฉal
2
Followers
22
Repositories
0
Gists
0
Total Contributions