Track MCP LogoTrack MCP
Track MCP LogoTrack MCP

The world's largest repository of Model Context Protocol servers. Discover, explore, and submit MCP tools.

Product

  • Categories
  • Top MCP
  • New & Updated
  • Submit MCP

Company

  • About

Legal

  • Privacy Policy
  • Terms of Service
  • Cookie Policy

© 2026 TrackMCP. All rights reserved.

Built with ❤️ by Krishna Goyal

    Proxmoxmcp

    MCP for Proxmox integration in Cline Python-based implementation.

    168 stars
    Python
    Updated Nov 2, 2025

    Table of Contents

    • 🏗️ Built With
    • ✨ Features
    • 📦 Installation
    • Prerequisites
    • Option 1: Quick Install (Recommended)
    • Verifying Installation
    • ⚙️ Configuration
    • Proxmox API Token Setup
    • 🚀 Running the Server
    • Development Mode
    • Cline Desktop Integration
    • get_nodes
    • get_node_status
    • get_vms
    • get_storage
    • get_cluster_status
    • execute_vm_command
    • 👨‍💻 Development
    • 📁 Project Structure
    • 📄 License

    Table of Contents

    • 🏗️ Built With
    • ✨ Features
    • 📦 Installation
    • Prerequisites
    • Option 1: Quick Install (Recommended)
    • Verifying Installation
    • ⚙️ Configuration
    • Proxmox API Token Setup
    • 🚀 Running the Server
    • Development Mode
    • Cline Desktop Integration
    • get_nodes
    • get_node_status
    • get_vms
    • get_storage
    • get_cluster_status
    • execute_vm_command
    • 👨‍💻 Development
    • 📁 Project Structure
    • 📄 License

    Documentation

    🚀 Proxmox Manager - Proxmox MCP Server

    ProxmoxMCP

    A Python-based Model Context Protocol (MCP) server for interacting with Proxmox hypervisors, providing a clean interface for managing nodes, VMs, and containers.

    🏗️ Built With

    • Cline - Autonomous coding agent - Go faster with Cline.
    • Proxmoxer - Python wrapper for Proxmox API
    • MCP SDK - Model Context Protocol SDK
    • Pydantic - Data validation using Python type annotations

    ✨ Features

    • 🤖 Full integration with Cline
    • 🛠️ Built with the official MCP SDK
    • 🔒 Secure token-based authentication with Proxmox
    • 🖥️ Tools for managing nodes and VMs
    • 💻 VM console command execution
    • 📝 Configurable logging system
    • ✅ Type-safe implementation with Pydantic
    • 🎨 Rich output formatting with customizable themes

    https://github.com/user-attachments/assets/1b5f42f7-85d5-4918-aca4-d38413b0e82b

    📦 Installation

    Prerequisites

    • UV package manager (recommended)
    • Python 3.10 or higher
    • Git
    • Access to a Proxmox server with API token credentials

    Before starting, ensure you have:

    • [ ] Proxmox server hostname or IP
    • [ ] Proxmox API token (see API Token Setup)
    • [ ] UV installed (pip install uv)

    Option 1: Quick Install (Recommended)

    1. Clone and set up environment:

    bash
    # Clone repository
       cd ~/Documents/Cline/MCP  # For Cline users
       # OR
       cd your/preferred/directory  # For manual installation
       
       git clone https://github.com/canvrno/ProxmoxMCP.git
       cd ProxmoxMCP
    
       # Create and activate virtual environment
       uv venv
       source .venv/bin/activate  # Linux/macOS
       # OR
       .\.venv\Scripts\Activate.ps1  # Windows

    2. Install dependencies:

    bash
    # Install with development dependencies
       uv pip install -e ".[dev]"

    3. Create configuration:

    bash
    # Create config directory and copy template
       mkdir -p proxmox-config
       cp config/config.example.json proxmox-config/config.json

    4. Edit proxmox-config/config.json:

    json
    {
           "proxmox": {
               "host": "PROXMOX_HOST",        # Required: Your Proxmox server address
               "port": 8006,                  # Optional: Default is 8006
               "verify_ssl": false,           # Optional: Set false for self-signed certs
               "service": "PVE"               # Optional: Default is PVE
           },
           "auth": {
               "user": "USER@pve",            # Required: Your Proxmox username
               "token_name": "TOKEN_NAME",    # Required: API token ID
               "token_value": "TOKEN_VALUE"   # Required: API token value
           },
           "logging": {
               "level": "INFO",               # Optional: DEBUG for more detail
               "format": "%(asctime)s - %(name)s - %(levelname)s - %(message)s",
               "file": "proxmox_mcp.log"      # Optional: Log to file
           }
       }

    Verifying Installation

    1. Check Python environment:

    bash
    python -c "import proxmox_mcp; print('Installation OK')"

    2. Run the tests:

    bash
    pytest

    3. Verify configuration:

    bash
    # Linux/macOS
       PROXMOX_MCP_CONFIG="proxmox-config/config.json" python -m proxmox_mcp.server
    
       # Windows (PowerShell)
       $env:PROXMOX_MCP_CONFIG="proxmox-config\config.json"; python -m proxmox_mcp.server

    You should see either:

    • A successful connection to your Proxmox server
    • Or a connection error (if Proxmox details are incorrect)

    ⚙️ Configuration

    Proxmox API Token Setup

    1. Log into your Proxmox web interface

    2. Navigate to Datacenter -> Permissions -> API Tokens

    3. Create a new API token:

    • Select a user (e.g., root@pam)
    • Enter a token ID (e.g., "mcp-token")
    • Uncheck "Privilege Separation" if you want full access
    • Save and copy both the token ID and secret

    🚀 Running the Server

    Development Mode

    For testing and development:

    bash
    # Activate virtual environment first
    source .venv/bin/activate  # Linux/macOS
    # OR
    .\.venv\Scripts\Activate.ps1  # Windows
    
    # Run the server
    python -m proxmox_mcp.server

    Cline Desktop Integration

    For Cline users, add this configuration to your MCP settings file (typically at ~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json):

    json
    {
        "mcpServers": {
            "github.com/canvrno/ProxmoxMCP": {
                "command": "/absolute/path/to/ProxmoxMCP/.venv/bin/python",
                "args": ["-m", "proxmox_mcp.server"],
                "cwd": "/absolute/path/to/ProxmoxMCP",
                "env": {
                    "PYTHONPATH": "/absolute/path/to/ProxmoxMCP/src",
                    "PROXMOX_MCP_CONFIG": "/absolute/path/to/ProxmoxMCP/proxmox-config/config.json",
                    "PROXMOX_HOST": "your-proxmox-host",
                    "PROXMOX_USER": "username@pve",
                    "PROXMOX_TOKEN_NAME": "token-name",
                    "PROXMOX_TOKEN_VALUE": "token-value",
                    "PROXMOX_PORT": "8006",
                    "PROXMOX_VERIFY_SSL": "false",
                    "PROXMOX_SERVICE": "PVE",
                    "LOG_LEVEL": "DEBUG"
                },
                "disabled": false,
                "autoApprove": []
            }
        }
    }

    To help generate the correct paths, you can use this command:

    bash
    # This will print the MCP settings with your absolute paths filled in
    python -c "import os; print(f'''{{
        \"mcpServers\": {{
            \"github.com/canvrno/ProxmoxMCP\": {{
                \"command\": \"{os.path.abspath('.venv/bin/python')}\",
                \"args\": [\"-m\", \"proxmox_mcp.server\"],
                \"cwd\": \"{os.getcwd()}\",
                \"env\": {{
                    \"PYTHONPATH\": \"{os.path.abspath('src')}\",
                    \"PROXMOX_MCP_CONFIG\": \"{os.path.abspath('proxmox-config/config.json')}\",
                    ...
                }}
            }}
        }}
    }}''')"

    Important:

    • All paths must be absolute
    • The Python interpreter must be from your virtual environment
    • The PYTHONPATH must point to the src directory
    • Restart VSCode after updating MCP settings

    🔧 Available Tools

    The server provides the following MCP tools for interacting with Proxmox:

    get_nodes

    Lists all nodes in the Proxmox cluster.

    • Parameters: None
    • Example Response:
    code
    🖥️ Proxmox Nodes
    
      🖥️ pve-compute-01
        • Status: ONLINE
        • Uptime: ⏳ 156d 12h
        • CPU Cores: 64
        • Memory: 186.5 GB / 512.0 GB (36.4%)
    
      🖥️ pve-compute-02
        • Status: ONLINE
        • Uptime: ⏳ 156d 11h
        • CPU Cores: 64
        • Memory: 201.3 GB / 512.0 GB (39.3%)

    get_node_status

    Get detailed status of a specific node.

    • Parameters:
    • node (string, required): Name of the node
    • Example Response:
    code
    🖥️ Node: pve-compute-01
        • Status: ONLINE
        • Uptime: ⏳ 156d 12h
        • CPU Usage: 42.3%
        • CPU Cores: 64 (AMD EPYC 7763)
        • Memory: 186.5 GB / 512.0 GB (36.4%)
        • Network: ⬆️ 12.8 GB/s ⬇️ 9.2 GB/s
        • Temperature: 38°C

    get_vms

    List all VMs across the cluster.

    • Parameters: None
    • Example Response:
    code
    🗃️ Virtual Machines
    
      🗃️ prod-db-master (ID: 100)
        • Status: RUNNING
        • Node: pve-compute-01
        • CPU Cores: 16
        • Memory: 92.3 GB / 128.0 GB (72.1%)
    
      🗃️ prod-web-01 (ID: 102)
        • Status: RUNNING
        • Node: pve-compute-01
        • CPU Cores: 8
        • Memory: 12.8 GB / 32.0 GB (40.0%)

    get_storage

    List available storage.

    • Parameters: None
    • Example Response:
    code
    💾 Storage Pools
    
      💾 ceph-prod
        • Status: ONLINE
        • Type: rbd
        • Usage: 12.8 TB / 20.0 TB (64.0%)
        • IOPS: ⬆️ 15.2k ⬇️ 12.8k
    
      💾 local-zfs
        • Status: ONLINE
        • Type: zfspool
        • Usage: 3.2 TB / 8.0 TB (40.0%)
        • IOPS: ⬆️ 42.8k ⬇️ 35.6k

    get_cluster_status

    Get overall cluster status.

    • Parameters: None
    • Example Response:
    code
    ⚙️ Proxmox Cluster
    
        • Name: enterprise-cloud
        • Status: HEALTHY
        • Quorum: OK
        • Nodes: 4 ONLINE
        • Version: 8.1.3
        • HA Status: ACTIVE
        • Resources:
          - Total CPU Cores: 192
          - Total Memory: 1536 GB
          - Total Storage: 70 TB
        • Workload:
          - Running VMs: 7
          - Total VMs: 8
          - Average CPU Usage: 38.6%
          - Average Memory Usage: 42.8%

    execute_vm_command

    Execute a command in a VM's console using QEMU Guest Agent.

    • Parameters:
    • node (string, required): Name of the node where VM is running
    • vmid (string, required): ID of the VM
    • command (string, required): Command to execute
    • Example Response:
    code
    🔧 Console Command Result
        • Status: SUCCESS
        • Command: systemctl status nginx
        • Node: pve-compute-01
        • VM: prod-web-01 (ID: 102)
    
      Output:
      ● nginx.service - A high performance web server and a reverse proxy server
         Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
         Active: active (running) since Tue 2025-02-18 15:23:45 UTC; 2 months 3 days ago
    • Requirements:
    • VM must be running
    • QEMU Guest Agent must be installed and running in the VM
    • Command execution permissions must be enabled in the Guest Agent
    • Error Handling:
    • Returns error if VM is not running
    • Returns error if VM is not found
    • Returns error if command execution fails
    • Includes command output even if command returns non-zero exit code

    👨‍💻 Development

    After activating your virtual environment:

    • Run tests: pytest
    • Format code: black .
    • Type checking: mypy .
    • Lint: ruff .

    📁 Project Structure

    code
    proxmox-mcp/
    ├── src/
    │   └── proxmox_mcp/
    │       ├── server.py          # Main MCP server implementation
    │       ├── config/            # Configuration handling
    │       ├── core/              # Core functionality
    │       ├── formatting/        # Output formatting and themes
    │       ├── tools/             # Tool implementations
    │       │   └── console/       # VM console operations
    │       └── utils/             # Utilities (auth, logging)
    ├── tests/                     # Test suite
    ├── proxmox-config/
    │   └── config.example.json    # Configuration template
    ├── pyproject.toml            # Project metadata and dependencies
    └── LICENSE                   # MIT License

    📄 License

    MIT License

    Similar MCP

    Based on tags & features

    • VI

      Video Editing Mcp

      Python·
      218
    • AS

      Aseprite Mcp

      Python·
      92
    • DA

      Davinci Resolve Mcp

      Python·
      327
    • PL

      Playwright Plus Python Mcp

      Python·
      154

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k
    View All MCP Servers

    Similar MCP

    Based on tags & features

    • VI

      Video Editing Mcp

      Python·
      218
    • AS

      Aseprite Mcp

      Python·
      92
    • DA

      Davinci Resolve Mcp

      Python·
      327
    • PL

      Playwright Plus Python Mcp

      Python·
      154

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k