π Proxmox MCP Server (Node.js Edition)
About
MCP server for Proxmox virtualization management with configurable permissions
Details
- Author
- gilby125
- Downloads
- 701
- Categories
- Other
Jump to
- π 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
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
π Proxmox MCP Server (Node.js Edition)Command (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
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.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"\ud83d\ude80 proxmox mcp server (node.js edition)": {
"mcp-proxmox-gilby125": {
"command": "node",
"args": [
"index.js"
]
}
}
}
}
McpServers
{
"mcp-proxmox-gilby125": {
"command": "node",
"args": [
"index.js"
]
}
}
π 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.
π Credits
This project is based on the original Python implementation by canvrno/ProxmoxMCP. This Node.js version maintains the same core functionality while adapting it for JavaScript/Node.js environments and adding configurable permission management.
π Changes from Original
Architecture Changes:
- β
Complete rewrite from Python to Node.js
- β
Uses @modelcontextprotocol/sdk instead of Python MCP SDK
- β
Environment variable configuration instead of JSON config files
- β
Simplified dependency management with npm
New Features:
- π Configurable Permission Levels: PROXMOX_ALLOW_ELEVATED setting for security
- π‘οΈ Basic Mode: Safe operations (node listing, VM status) with minimal permissions
- π Elevated Mode: Advanced features (detailed metrics, command execution) requiring full permissions
- π Better Error Handling: Clear permission warnings and graceful degradation
- π§ Auto Environment Loading: Automatically loads .env files from parent directories
ποΈ Built With
- Node.js - JavaScript runtime
- @modelcontextprotocol/sdk - Model Context Protocol SDK for Node.js
- node-fetch - HTTP client for API requests
β¨ Features
- π Configurable Security: Two permission levels for safe operation
- π οΈ 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
- π¨ Rich markdown-formatted output
- β‘ Fast Node.js performance
- π§ Easy environment-based configuration
https://github.com/user-attachments/assets/1b5f42f7-85d5-4918-aca4-d38413b0e82b
π¦ Installation
Prerequisites
- Node.js 16+ and npm - Git - Access to a Proxmox server with API token credentialsBefore starting, ensure you have:
- [ ] Node.js and npm installed
- [ ] Proxmox server hostname or IP
- [ ] Proxmox API token (see API Token Setup)
Quick Install
1. Clone and set up:
git clone https://github.com/gilby125/mcp-proxmox.git
cd mcp-proxmox
npm install
2. Create .env file with your Proxmox configuration:
# Proxmox Configuration
PROXMOX_HOST=192.168.1.100
PROXMOX_USER=root@pam
PROXMOX_TOKEN_NAME=mcp-server
PROXMOX_TOKEN_VALUE=your-token-value-here
PROXMOX_ALLOW_ELEVATED=false # Set to 'true' for advanced features
Note: PROXMOX_PORT defaults to 8006 and can be omitted unless using a custom port.
Permission Levels
Basic Mode (PROXMOX_ALLOW_ELEVATED=false):
- List cluster nodes and their status
- List VMs and containers
- Basic cluster health overview
- Requires minimal API token permissions
Elevated Mode (PROXMOX_ALLOW_ELEVATED=true):
- All basic features plus:
- Detailed node resource metrics
- VM command execution
- Advanced cluster statistics
- Requires API token with Sys.Audit, VM.Monitor, VM.Console permissions
Verifying Installation
1. Test the MCP server:
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}' | node index.js
2. Test a basic API call:
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "proxmox_get_nodes", "arguments": {}}}' | node index.js
You should see either:
- A successful list of your Proxmox nodes
- Or a connection/permission error with helpful guidance
βοΈ Configuration
Proxmox API Token Setup
1. Log into your Proxmox web interface 2. Navigate to Datacenter β Permissions β API Tokens 3. Click Add to create a new API token: - User: Select existing user (e.g.,root@pam)
- Token ID: Enter a name (e.g., mcp-server)
- Privilege Separation: Uncheck for full access or leave checked for limited permissions
- Click Add
4. Important: Copy both the Token ID and Secret immediately (secret is only shown once)
- Use Token ID as PROXMOX_TOKEN_NAME
- Use Secret as PROXMOX_TOKEN_VALUE
Permission Requirements:
- Basic Mode: Minimal permissions (usually default user permissions work)
- Elevated Mode: Add permissions for Sys.Audit, VM.Monitor, VM.Console to the user/token
π Running the Server
Direct Execution
node index.js
MCP Client Integration
For Claude Code or other MCP clients, add this to your MCP configuration:
{
"mcpServers": {
"mcp-proxmox": {
"command": "node",
"args": ["index.js"],
"cwd": "/absolute/path/to/mcp-proxmox"
}
}
}
Important:
- Replace /absolute/path/to/mcp-proxmox with the actual path to your installation
- The server automatically loads environment variables from .env files
- Ensure the .env file is in the same directory as index.js or a parent directory
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



