Proxmox MCP Server

Proxmox MCP Server

Enables read-only interaction with Proxmox homelab VMs and containers, allowing LLM agents to list VMs, monitor status and performance metrics, view snapshots, and check cluster health through natural language queries.

Category
Visit Server

README

Proxmox MCP Server

A read-only MCP (Model Context Protocol) server that allows LLM agents to interact with your Proxmox homelab VMs.

Features

  • 📋 List all VMs and containers across your Proxmox cluster
  • 🔍 Get detailed VM information including hardware specs, network config, and disks
  • 📊 Monitor VM status with real-time CPU, memory, and I/O metrics
  • 📈 Historical metrics with hourly, daily, weekly, monthly, or yearly data
  • 📸 List VM snapshots to see backup points
  • 🖥️ Cluster overview with node status and aggregate resources

All operations are read-only - your VMs are safe!

Quick Start

1. Install UV (if not already installed)

curl -LsSf https://astral.sh/uv/install.sh | sh

2. Configure Proxmox credentials

cp .env.example .env
# Edit .env with your Proxmox details

3. Create a read-only API token in Proxmox

  1. Go to DatacenterPermissionsAPI Tokens
  2. Click Add
  3. Select a user (or create a new one with PVEAuditor role)
  4. Set Token ID (e.g., homelab-mcp)
  5. Uncheck "Privilege Separation" if using an auditor user
  6. Copy the token secret (shown only once!)

Recommended: Create a dedicated auditor user

# SSH to your Proxmox server
pveum user add mcp-reader@pve
pveum acl modify / -user mcp-reader@pve -role PVEAuditor
pveum user token add mcp-reader@pve proxmox-mcp

4. Run the server

cd proxmox-mcp

# SSE mode (recommended for remote access)
uv run proxmox-mcp --transport sse

# Or stdio mode (for local VS Code/CLI usage)
uv run proxmox-mcp --transport stdio

Alternative: Install globally with pip

pip install -e .
proxmox-mcp --transport sse

Available Tools

Tool Description
list_vms List all VMs and containers with basic info
get_vm_info Get detailed VM configuration and specs
get_vm_status Get current runtime status and metrics
get_vm_metrics Get historical performance data
get_vm_filesystem_info Get disk space from inside a VM (requires guest agent)
list_nodes List all Proxmox nodes
list_vm_snapshots List snapshots for a VM
get_cluster_status Get cluster health and totals

Configuration

All settings can be configured via environment variables or a .env file:

Variable Description Default
PROXMOX_HOST Proxmox server hostname/IP localhost
PROXMOX_PORT Proxmox API port 8006
PROXMOX_VERIFY_SSL Verify SSL certificates false
PROXMOX_API_TOKEN_ID API token ID (user@realm!tokenid) -
PROXMOX_API_TOKEN_SECRET API token secret -
MCP_SERVER_HOST SSE server bind address 0.0.0.0
MCP_SERVER_PORT SSE server port 8080

Using with LLM Clients

VS Code with GitHub Copilot

Add to your VS Code settings.json or user mcp.json:

{
  "servers": {
    "proxmox": {
      "url": "http://your-server:8080/sse"
    }
  }
}

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "proxmox": {
      "url": "http://your-server:8080/sse"
    }
  }
}

Local stdio mode

For local usage, you can run with stdio transport:

{
  "mcpServers": {
    "proxmox": {
      "command": "uv",
      "args": [
        "run",
        "--directory", "/path/to/proxmox-mcp",
        "proxmox-mcp",
        "--transport", "stdio"
      ]
    }
  }
}

Example Queries

Once connected, you can ask your LLM:

  • "List all my VMs"
  • "What's the status of VM 100?"
  • "Show me the CPU usage history for my plex server"
  • "Which VMs are currently stopped?"
  • "How much memory is my cluster using?"

Security Notes

  1. Use API tokens instead of username/password
  2. Use the PVEAuditor role for true read-only access
  3. Run behind a reverse proxy with HTTPS in production
  4. Firewall the MCP port to trusted networks only

Development

cd proxmox-mcp

# Install dev dependencies
uv sync --extra dev

# Run tests
uv run pytest

# Lint
uv run ruff check src/

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured