π Proxmox MCP Server (Node.js Edition)
@gilby125
MCP server for Proxmox virtualization management with configurable permissions
Overview
What is π Proxmox MCP Server (Node.js Edition)?
A Node.js-based Model Context Protocol (MCP) server for interacting with Proxmox hypervisors, providing a clean interface for managing nodes, VMs, and containers with configurable permission levels. It is a rewrite of the original Python implementation, adapted for JavaScript/Node.js environments.
How to use π Proxmox MCP Server (Node.js Edition)?
Clone the repository, run npm install, create a .env file with your Proxmox credentials (host, user, token name, token value), and optionally set PROXMOX_ALLOW_ELEVATED. Start the server with node index.js. Integrate with MCP clients by adding a configuration entry pointing to the index.js file.
Key features of π Proxmox MCP Server (Node.js Edition)
- π Configurable permission levels (Basic and Elevated)
- π οΈ Built with the official MCP SDK for Node.js
- π Secure token-based authentication with Proxmox
- π₯οΈ Comprehensive node and VM management
- π» VM console command execution (elevated mode)
- π Real-time resource monitoring and rich markdown output
Use cases of π Proxmox MCP Server (Node.js Edition)
- List Proxmox cluster nodes and their status
- View detailed VM/container information and resource usage
- Execute shell commands on VMs via the Proxmox API (elevated)
- Monitor storage pools and cluster health
- Integrate with AI assistants (e.g., Claude Code) for handsβoff hypervisor management
FAQ from π Proxmox MCP Server (Node.js Edition)
What is Basic Mode vs Elevated Mode?
Basic Mode allows safe operations like listing nodes and VMs with minimal API token permissions. Elevated Mode adds advanced features like detailed node metrics, VM command execution, and requires extra permissions (Sys.Audit, VM.Monitor, VM.Console).
What environment variables are required?
You must set PROXMOX_HOST, PROXMOX_USER, PROXMOX_TOKEN_NAME, and PROXMOX_TOKEN_VALUE. Optionally set PROXMOX_PORT (default 8006) and PROXMOX_ALLOW_ELEVATED (default false).
How do I set up a Proxmox API token?
In the Proxmox web interface go to Datacenter β Permissions β API Tokens, add a token for a user, copy the Token ID and Secret immediately, then use them as PROXMOX_TOKEN_NAME and PROXMOX_TOKEN_VALUE.
What tools does the server expose?
Seven tools: proxmox_get_nodes, proxmox_get_node_status, proxmox_get_vms, proxmox_get_vm_status, proxmox_get_storage, proxmox_get_cluster_status, and proxmox_execute_vm_command (elevated only).
What are the runtime dependencies?
Node.js 16+, npm, and the npm packages @modelcontextprotocol/sdk and node-fetch. No other external services are needed beyond a Proxmox server.