Metadata-Version: 2.4
Name: mcp-server-proxmox
Version: 0.2.0
Summary: MCP server for Proxmox VE — remote streamable HTTP
Requires-Python: >=3.11
Requires-Dist: fastmcp>=3.3.1
Requires-Dist: httpx>=0.28.1
Requires-Dist: proxmoxer>=2.3.0
Requires-Dist: pydantic>=2.13.4
Requires-Dist: requests>=2.34.2
Description-Content-Type: text/markdown

# mcp-server-proxmox

MCP server for Proxmox VE — exposes cluster, VMs, nodes, containers, storage,
and access management as read-only MCP tools over HTTP.

## Installation

```bash
pip install mcp-server-proxmox
```

## Configuration

Create a `.env` file (or set environment variables):

```env
PVE_HOST=192.168.1.100
PVE_PORT=8006
PVE_TOKEN_ID=root@pam!mcp
PVE_TOKEN_SECRET=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
PVE_VERIFY_SSL=false

PORT=8000
```

`PVE_TOKEN_ID` format: `user@realm!tokenname`. Create the token in
**Datacenter → Permissions → API Tokens** in the Proxmox web UI.

## Usage

```bash
mcp-server-proxmox
```

The server starts on `http://0.0.0.0:8000` by default. Override the port with
the `PORT` environment variable.

## Available tools

### Cluster
| Tool | Description |
|------|-------------|
| `get_cluster_status` | Overall cluster health and quorum |
| `list_nodes` | All nodes in the cluster |
| `get_cluster_resources` | All resources (VMs, containers, storage) with optional type filter |
| `get_datacenter_config` | Datacenter-level configuration |
| `get_ha_status` | High Availability manager status |

### Virtual Machines (QEMU/KVM)
| Tool | Description |
|------|-------------|
| `list_vms` | All VMs on a node with CPU/memory usage |
| `get_vm_status` | Runtime state, CPU, memory, disk and network I/O |
| `get_vm_config` | Hardware config: CPU, memory, disks, network interfaces |

### Nodes
| Tool | Description |
|------|-------------|
| `get_node_status` | CPU, memory, disk, kernel, uptime |
| `get_node_dns` | DNS resolver configuration |
| `list_node_network` | Network interfaces and their settings |
| `list_node_storage` | Storage pools available on the node |
| `list_node_services` | System services and their states |
| `list_node_tasks` | Recent task log (configurable limit) |

### Containers (LXC)
| Tool | Description |
|------|-------------|
| `list_containers` | All LXC containers on a node |
| `get_container_status` | Runtime state and resource usage |
| `get_container_config` | Container configuration |

### Storage
| Tool | Description |
|------|-------------|
| `list_storage` | All storage definitions in the cluster |
| `list_storage_content` | Contents of a specific storage pool on a node |

### Access
| Tool | Description |
|------|-------------|
| `list_users` | All Proxmox users |
| `list_acl` | Access control list entries |

## Requirements

- Python 3.11+
- Proxmox VE 7.x or 8.x
