Proxmox MCP Server
Provides comprehensive access to the Proxmox VE API for managing virtual machines, containers, snapshots, storage, nodes, clusters, tasks, and users.
Click on "Install 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 Serverwhat's the status of all virtual machines?"
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
A Model Context Protocol (MCP) server that provides comprehensive access to Proxmox VE API for complete virtualization infrastructure management. Compatible with any MCP client including Claude Desktop, Cline, and other MCP-compatible applications.
Features
Virtual Machine & Container Management
List, create, start, stop, shutdown, reboot VMs and LXC containers
Get detailed status and resource usage
Update VM/container configurations
Delete VMs and containers
Snapshot Management
Create, list, delete snapshots
Rollback to previous snapshots
Snapshot descriptions and metadata
Storage Management
List available storage locations
Browse storage content (ISOs, templates, backups, disk images)
Check storage capacity and usage
Node & Cluster Operations
List all cluster nodes
Get node status and resource usage
View cluster status and quorum
Network configuration management
Version information
Task Monitoring
List running and completed tasks
Get task status and progress
View task logs for debugging
User & Access Management
List users and permissions
Manage resource pools
View pool members and assignments
Related MCP server: Proxmox MCP Server
ā ļø Security Notice
IMPORTANT: This server includes enterprise-grade security features. Before deploying, please review:
š SECURITY.md - Security policy and best practices
š SECURITY_IMPLEMENTATION.md - Technical implementation details
Key Security Features:
ā Input validation with Joi schemas (prevents injection attacks)
ā Multi-tier rate limiting (prevents API abuse)
ā Comprehensive audit logging (security monitoring)
ā SSL verification enabled by default (prevents MITM attacks)
ā Confirmation required for destructive operations
ā Error message sanitization (prevents information disclosure)
Production Requirements:
ā Always use API tokens (not passwords)
ā Keep SSL verification enabled (
PROXMOX_VERIFY_SSL=true)ā Never commit
.envfiles or credentials to version controlā Keep dependencies updated with
npm audit
Installation
Prerequisites
Node.js 18 or higher
npm or yarn
Proxmox VE 9.x (tested and developed on version 9)
API access credentials (API token recommended)
Quick Setup
Clone the repository:
git clone https://github.com/yourusername/proxmox-mcp-server.git
cd proxmox-mcp-serverInstall dependencies:
npm installBuild the project:
npm run buildTest the connection (optional):
# Set environment variables
export PROXMOX_HOST=your-proxmox-server.com
export PROXMOX_USERNAME=root
export PROXMOX_REALM=pam
export PROXMOX_TOKEN_ID=your-token-id
export PROXMOX_TOKEN_SECRET=your-token-secret
export PROXMOX_VERIFY_SSL=false
# Run the server
npm run devYou should see:
Connected to Proxmox VE X.X-X
Proxmox MCP Server running on stdioConfiguration
Creating API Tokens in Proxmox (Recommended)
API tokens provide stateless authentication and are preferred for automation:
Log into Proxmox web interface
Navigate to Datacenter ā Permissions ā API Tokens
Click Add to create a new token
Configure:
User: Select your user (e.g.,
root@pam)Token ID: Give it a name (e.g.,
mcp-server)Privilege Separation: Uncheck for full permissions
Click Add
IMPORTANT: Copy the token secret immediately - it won't be shown again!
Benefits of API Tokens:
No CSRF token required
Stateless authentication
Can be revoked without affecting user account
Separate permissions per token
No expiration like session tickets
MCP Client Configuration
This server works with any MCP-compatible client. Add it to your client's configuration file:
Claude Desktop
Location:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
Configuration:
{
"mcpServers": {
"proxmox": {
"command": "node",
"args": ["/absolute/path/to/proxmox-mcp-server/dist/index.js"],
"env": {
"PROXMOX_HOST": "your-proxmox-server.com",
"PROXMOX_USERNAME": "root",
"PROXMOX_REALM": "pam",
"PROXMOX_TOKEN_ID": "your-token-id",
"PROXMOX_TOKEN_SECRET": "your-token-secret",
"PROXMOX_VERIFY_SSL": "false"
}
}
}
}Cline (VSCode Extension)
Add to .vscode/settings.json in your project:
{
"cline.mcpServers": {
"proxmox": {
"command": "node",
"args": ["/absolute/path/to/proxmox-mcp-server/dist/index.js"],
"env": {
"PROXMOX_HOST": "your-proxmox-server.com",
"PROXMOX_USERNAME": "root",
"PROXMOX_REALM": "pam",
"PROXMOX_TOKEN_ID": "your-token-id",
"PROXMOX_TOKEN_SECRET": "your-token-secret",
"PROXMOX_VERIFY_SSL": "false"
}
}
}
}Other MCP Clients
Follow your client's documentation for MCP server configuration. The pattern is always:
command:
nodeargs: Path to
dist/index.jsenv: Environment variables listed below
Environment Variables
Required
PROXMOX_HOST: IP address or hostname of your Proxmox serverPROXMOX_USERNAME: Proxmox username (usuallyroot)
Authentication (choose one method)
Option A: API Token (Recommended)
PROXMOX_TOKEN_ID: Your API token IDPROXMOX_TOKEN_SECRET: Your API token secret
Option B: Password
PROXMOX_PASSWORD: Your user password
Optional
PROXMOX_PORT: API port (default:8006)PROXMOX_REALM: Authentication realm (default:pam)PROXMOX_VERIFY_SSL: Verify SSL certificates (default:true)ā ļø SECURITY: Always use
truein productionOnly set to
falsefor development with self-signed certificatesSetting to
falsemakes you vulnerable to man-in-the-middle attacks
Usage Examples
Once configured with your MCP client, you can interact with Proxmox using natural language:
"List all VMs in my Proxmox cluster"
"Show me the status of VM 100 on node pve1"
"Create a snapshot called 'before-update' for VM 101"
"Start VM 102"
"What's the current resource usage on node pve1?"
"List all available storage locations"
"Show me recent tasks"Available Tools
VM & Container Management
list_vms- List all virtual machines and containersOptional filters: node, type (qemu/lxc), status
get_vm_status- Get detailed status of a specific VM/containerParameters: node, vmid, type
start_vm,stop_vm,shutdown_vm,reboot_vm- Control VM power stateParameters: node, vmid, type
create_vm- Create a new virtual machineParameters: node, vmid, name, cores, memory, storage, etc.
create_container- Create a new LXC containerParameters: node, vmid, ostemplate, hostname, memory, etc.
delete_vm- Delete a VM or containerParameters: node, vmid, type
get_vm_config,update_vm_config- Get or update VM configuration
Snapshot Management
list_snapshots- List all snapshots for a VM/containercreate_snapshot- Create a new snapshotdelete_snapshot- Delete a snapshotrollback_snapshot- Rollback to a previous snapshot
Storage Management
list_storage- List all storage locationsget_storage_content- List content in a storage locationFilter by content type: iso, vztmpl, backup, images
Node & Cluster
list_nodes- List all cluster nodes with resource usageget_node_status- Get detailed status of a specific nodeget_cluster_status- Get overall cluster status and quorumget_version- Get Proxmox VE version informationget_network_config- Get network configuration for a node
Task Management
list_tasks- List tasks on a nodeget_task_status- Get status of a specific taskget_task_log- Get log output of a task
User & Access
list_users- List all users with permissionslist_pools,get_pool- List or get details of resource pools
Project Structure
proxmox-mcp-server/
āāā src/
ā āāā index.ts # Main server entry point
ā āāā types/
ā ā āāā proxmox.ts # TypeScript type definitions
ā āāā utils/
ā ā āāā proxmox-client.ts # Proxmox API client
ā āāā tools/
ā āāā vm-tools.ts # VM management tools
ā āāā snapshot-tools.ts # Snapshot tools
ā āāā storage-tools.ts # Storage tools
ā āāā node-tools.ts # Node/cluster tools
ā āāā task-tools.ts # Task monitoring tools
ā āāā user-tools.ts # User/access tools
āāā dist/ # Compiled JavaScript (generated)
āāā package.json
āāā tsconfig.json
āāā README.mdDevelopment
Build Commands
# Build once
npm run build
# Watch mode (rebuild on changes)
npm run watch
# Run directly (builds first)
npm run devAdding New Tools
Create or modify tool files in
src/tools/Follow the existing pattern for tool definitions
Register tools in
src/index.tsRebuild with
npm run build
Troubleshooting
Connection Issues
Problem: "Failed to connect to Proxmox API"
Verify
PROXMOX_HOSTis correct and accessibleCheck firewall allows port 8006
Ensure Proxmox API is running
Problem: "Authentication failed"
Verify credentials are correct
For API tokens: check token ID and secret match exactly
Check realm is correct (usually 'pam' or 'pve')
Ensure token/user has required permissions
SSL Certificate Issues
Problem: "SSL certificate verification failed"
Set
PROXMOX_VERIFY_SSL=falsefor self-signed certificatesOr install proper SSL certificates on Proxmox
In production, use valid certificates and set
PROXMOX_VERIFY_SSL=true
Permission Issues
Problem: "Permission denied" errors
Verify user/token has required permissions
Check role assignments in Proxmox
For tokens: ensure "Privilege Separation" is disabled if needed
Security Best Practices
ā ļø IMPORTANT: Review SECURITY.md and SECURITY_IMPLEMENTATION.md before production deployment!
Authentication & Credentials
Use API Tokens instead of passwords for automation
Stateless authentication
Can be scoped and revoked independently
No session management required
Set appropriate permissions - create tokens with minimal required privileges
Never commit credentials to version control
Use
.envfiles (already in.gitignore)Copy
.env.exampleto.envand fill in your values
Rotate tokens regularly (at least every 90 days)
Use separate tokens for different applications/purposes
Network & Transport Security
Enable SSL verification in production (
PROXMOX_VERIFY_SSL=true)Default is now
truefor securityOnly disable for development with self-signed certificates
Disabling SSL verification makes you vulnerable to MITM attacks
Restrict network access - use firewalls and VPNs
Don't expose Proxmox API to the public internet
Monitoring & Auditing
Monitor API usage through Proxmox task logs
Enable audit logging for all operations
Review logs regularly for suspicious activity
Set up alerts for failed authentication attempts
Maintenance
Keep dependencies updated - run
npm auditregularlyReview security advisories - check GitHub Security tab
Test security updates before deploying to production
Have an incident response plan ready
Additional Resources
š SECURITY.md - Security policy and vulnerability reporting
š SECURITY_IMPLEMENTATION.md - Technical implementation details
API Reference
For detailed Proxmox API documentation:
Contributing
Contributions are welcome! Please ensure:
Code follows TypeScript best practices
All tools have proper input validation
Error handling is comprehensive
Documentation is updated
License
MIT
Support
For issues related to:
This MCP server: Open an issue in this repository
Proxmox VE: Visit https://forum.proxmox.com/
MCP Protocol: Visit https://modelcontextprotocol.io/
Security
This project has undergone a comprehensive security audit and implementation by Bob Shell AI Assistant (August 2026).
Security Features Implemented
ā Input validation with Joi schemas
ā Multi-tier rate limiting (4 levels)
ā Comprehensive audit logging with Winston
ā Error message sanitization
ā SSL verification enabled by default
ā Confirmation required for destructive operations
ā Request timeouts (30 seconds)
ā Secure credential management
Security Documentation
š SECURITY.md - Security policy and best practices
š SECURITY_IMPLEMENTATION.md - Implementation details
Security Review Credits: Bob Shell AI Assistant - Comprehensive security audit and implementation (August 2026)
Changelog
Version 1.0.0
Initial release
Complete VM/Container management
Snapshot operations
Storage management
Node and cluster monitoring
Task tracking
User and pool management
API token and password authentication support
Security enhancements: Input validation, rate limiting, audit logging, error sanitization
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityFmaintenanceEnables comprehensive management of Proxmox virtualization infrastructure through natural language, supporting VM/LXC lifecycle operations, networking, snapshots, backups, metrics monitoring, and cluster orchestration. Provides full access to Proxmox API functionality including resource discovery, cloud-init configuration, and automated deployment workflows.Last updated20
- 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.Last updated10020MIT
- Alicense-qualityDmaintenanceEnables AI assistants to manage Proxmox VE infrastructure, including VMs, containers, storage, and cluster operations via natural language.Last updatedMIT
- Alicense-qualityDmaintenanceEnables management of Proxmox VE environments, including VMs, containers, storage, and cluster operations through natural language.Last updated189MIT
Related MCP Connectors
Operate your Linux servers from your LLM. Every action runs through an auditable allowlist.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yoā¦
Let AI operate servers without SSH. Choose actions, approve risky changes, and audit every step.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Reyes-Rodriguez-Public/Proxmox-MCP-Server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server