mcpField
P
Proxmox MCP Server

Proxmox MCP Server

Local
github.com/johnstetterCloud & Infra1Updated 74w ago

About Proxmox MCP Server

Proxmox MCP Server connects LLMs to Proxmox VE infrastructure information, including cluster, node, and virtual machine details. It supports Docker deployment and reads credentials from environment variables.

Key features

  1. 01Get cluster information
  2. 02Query node details
  3. 03Get VM details and status
  4. 04List cluster VMs
  5. 05Docker and Docker Compose deployment
  6. 06Environment-variable credential management

Use cases

  1. 01Inspect Proxmox cluster information
  2. 02Check a node's details
  3. 03Review VM status and details
  4. 04List virtual machines in a cluster

MCP support

Exposes MCP endpoints for retrieving Proxmox cluster, node, and VM information, including listing all VMs, to MCP clients.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

Proxmox MCP Server

This is a Model Context Protocol (MCP) server that interfaces with a Proxmox VE server to provide infrastructure context to LLMs. The server exposes various endpoints that allow LLMs to query information about the Proxmox cluster, nodes, and virtual machines.

Features

  • Get cluster-wide information
  • Query specific node details
  • Get VM information and status
  • List all VMs in the cluster
  • Docker and Docker Compose support for easy deployment
  • Secure credential management through environment variables

Prerequisites

  • Python 3.11 or higher
  • Docker and Docker Compose
  • Access to a Proxmox VE server
  • Proxmox API credentials

Installation

  1. Clone the repository
  2. Copy .env.example to .env and update with your Proxmox credentials:
    cp .env.example .env
    
  3. Update the .env file with your Proxmox credentials:
    PROXMOX_HOST=your_proxmox_host
    PROXMOX_USER=your_proxmox_user@pam
    PROXMOX_PASSWORD=your_proxmox_password
    PROXMOX_VERIFY_SSL=false
    

Running with Docker Compose

  1. Build and start the container:

    docker-compose up --build
    
  2. The server will be available at http://localhost:8008

API Endpoints

The MCP server provides the following context endpoints:

  • get_cluster_info: Returns general information about the Proxmox cluster
  • get_node_info: Returns detailed information about a specific Proxmox node
  • get_vm_info: Returns detailed information about a specific VM
  • list_vms: Returns a list of all VMs in the cluster

Development

To run the server locally for development:

  1. Create a virtual environment:

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    
  2. Install dependencies:

    pip install -r requirements.txt
    
  3. Run the server:

    uvicorn src.main:app --reload
    

Contributing

  1. Fork the repository
  2. Create your feature branch:
    git checkout -b feature/my-new-feature
    
  3. Run tests and format code:
    pytest
    black src/ tests/
    flake8 src/ tests/
    
  4. Commit your changes:
    git commit -am 'Add some feature'
    
  5. Push to the branch:
    git push origin feature/my-new-feature
    
  6. Submit a merge request
Development Guidelines
  • Follow PEP 8 style guide
  • Write tests for new features
  • Update documentation when necessary
  • Use type hints
  • Write clear commit messages

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.