Sign inSign up

nicholaswilde/proxmox-mcp-rs

By nicholaswilde

Updated 7 months ago

Image
0

10K+

nicholaswilde/proxmox-mcp-rs repository overview

Proxmox MCP Server (Rust)

task ci

A Rust implementation of a Proxmox MCP (Model Context Protocol) server. This server connects to a Proxmox VE instance and exposes tools to manage nodes, VMs, and containers via the Model Context Protocol.

It is designed to be a faster, single-binary alternative to Python-based implementations.

:rocket: Quick Start

You can run the server directly using docker run. You must provide your Proxmox credentials via environment variables.

docker run --rm -i \
  -e PROXMOX_HOST="192.168.1.10" \
  -e PROXMOX_USER="root@pam" \
  -e PROXMOX_PASSWORD="yourpassword" \
  -e PROXMOX_NO_VERIFY_SSL="true" \
  nicholaswilde/proxmox-mcp-rs

Note: The -i flag is crucial for Stdio-based MCP communication.

:vhs: Docker Compose

Create a compose.yaml file:

services:
  proxmox-mcp:
    image: nicholaswilde/proxmox-mcp-rs:latest
    stdin_open: true # Equivalent to -i
    environment:
      - PROXMOX_HOST=192.168.1.10
      - PROXMOX_USER=root@pam
      - PROXMOX_PASSWORD=yourpassword
      - PROXMOX_NO_VERIFY_SSL=true
      # Optional: HTTP Server Mode
      # - PROXMOX_SERVER_TYPE=http
      # - PROXMOX_HTTP_PORT=3000
    # ports:
    #   - "3000:3000" # Uncomment if using HTTP mode

Run with:

docker compose up -d

:gear: Configuration

Environment Variables
VariableDescriptionDefault
PROXMOX_HOSTProxmox Host IP or DomainRequired
PROXMOX_PORTProxmox Port8006
PROXMOX_USERUser (e.g., root@pam)Required
PROXMOX_PASSWORDUser PasswordRequired (or Token)
PROXMOX_TOKEN_NAMEAPI Token NameOptional
PROXMOX_TOKEN_VALUEAPI Token SecretOptional
PROXMOX_NO_VERIFY_SSLSet true to disable SSL verificationfalse
PROXMOX_SERVER_TYPEstdio or httpstdio
PROXMOX_HTTP_PORTPort for HTTP server3000
PROXMOX_LOG_LEVELLog level (error, warn, info, debug, trace)info
Configuration File

You can also mount a configuration file to /app/config.toml (or .yaml, .json).

docker run --rm -i \
  -v $(pwd)/config.toml:/app/config.toml \
  nicholaswilde/proxmox-mcp-rs

:robot: Claude Desktop Configuration

To use this Docker image with Claude Desktop, add the following to your claude_desktop_config.json:

{
  "mcpServers": {
    "proxmox": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e", "PROXMOX_HOST=192.168.1.10",
        "-e", "PROXMOX_USER=root@pam",
        "-e", "PROXMOX_PASSWORD=yourpassword",
        "-e", "PROXMOX_NO_VERIFY_SSL=true",
        "nicholaswilde/proxmox-mcp-rs"
      ]
    }
  }
}

:hammer_and_wrench: Tools Provided

This server provides extensive tools for managing your Proxmox cluster, including:

  • Node Management: list_nodes, get_node_stats
  • VM/LXC Lifecycle: start, stop, shutdown, reboot, reset, create, delete
  • Snapshots: list, create, rollback, delete
  • Backups: list, create, restore
  • Resources: update_container_resources, add_disk, remove_disk
  • Network: list_networks, add_network

For a full list of tools, please refer to the GitHub Repository.

Tag summary

Content type

Image

Digest

sha256:02078be42

Size

8.7 MB

Last updated

7 months ago

docker pull nicholaswilde/proxmox-mcp-rs