A Model Context Protocol (MCP) server for Proxmox Virtual Environment that enables AI assistants to manage virtual machines, containers, nodes, and resources through natural language interactions.
- Node Management: List and monitor Proxmox cluster nodes
- VM Operations: Start, stop, and monitor virtual machines
- Container Management: Manage LXC containers
- Status Monitoring: Real-time status information for nodes, VMs, and containers
- Secure Authentication: Support for both password and API token authentication
- Multi-Node Support: Works with single nodes or full Proxmox clusters
- Node.js 18.0.0 or higher
- Proxmox VE 7.0+ with API access
- Valid Proxmox credentials (username/password or API token)
git clone https://github.com/heybearc/mcp-server-proxmox.git
cd mcp-server-proxmox
npm install
npm run buildnpm install -g mcp-server-proxmoxCreate a .env file or set the following environment variables:
# Proxmox Server Configuration
PROXMOX_HOST=your-proxmox-host.com
PROXMOX_PORT=8006
PROXMOX_USERNAME=root
PROXMOX_REALM=pam
# Authentication Method 1: Password
PROXMOX_PASSWORD=your-password
# Authentication Method 2: API Token (Recommended)
PROXMOX_TOKEN=your-api-token
PROXMOX_TOKEN_NAME=your-token-name
# SSL Configuration
PROXMOX_VERIFY_SSL=trueAdd to your claude_desktop_config.json:
{
"mcpServers": {
"proxmox": {
"command": "node",
"args": ["/path/to/mcp-server-proxmox/dist/index.js"],
"env": {
"PROXMOX_HOST": "your-proxmox-host.com",
"PROXMOX_USERNAME": "root",
"PROXMOX_TOKEN": "your-api-token",
"PROXMOX_TOKEN_NAME": "your-token-name"
}
}
}
}Refer to your MCP client's documentation for server configuration.
| Tool | Description | Parameters |
|---|---|---|
list_nodes |
List all Proxmox nodes | None |
list_vms |
List virtual machines | node (optional) |
list_containers |
List LXC containers | node (optional) |
get_vm_status |
Get VM status details | node, vmid |
start_vm |
Start a virtual machine | node, vmid |
stop_vm |
Stop a virtual machine | node, vmid |
get_node_status |
Get node status details | node |
"Show me all VMs on my Proxmox cluster"
"Start VM 100 on node pve1"
"What's the status of my Proxmox nodes?"
"List all containers on node pve2"
# Start the server
npm start
# The server communicates via stdio using MCP protocol- Log into Proxmox web interface
- Go to Datacenter → Permissions → API Tokens
- Create a new token with appropriate permissions
- Use the token in your configuration
VM.Audit- View VM informationVM.PowerMgmt- Start/stop VMsSys.Audit- View node informationDatastore.Audit- View storage information
# Install dependencies
npm install
# Run in development mode
npm run dev
# Build for production
npm run build
# Run tests
npm test
# Lint code
npm run lint
# Format code
npm run formatContributions are welcome! Please see CONTRIBUTING.md for guidelines.
This project is licensed under the MIT License - see the LICENSE file for details.
- 🐛 Report Issues
- 💬 Discussions
- 📧 Contact