antonio-mello-ai/mcp-proxmox

antonio-mello-ai/mcp-proxmox

от antonio-mello-ai
MCP-сервер для управления кластерами Proxmox через ИИ-ассистентов: создавай, запускай и удаляй ВМ и контейнеры, управляй снапшотами, хранилищем и бэкапами. Полезен администраторам и DevOps для авто...

mcp-proxmox

mcp-proxmox MCP server

MCP server for managing Proxmox VE clusters through AI assistants like Claude, Cursor, and Cline.

Provision, manage, and monitor your entire Proxmox infrastructure through natural language. Create VMs and containers, manage snapshots, browse storage, and more.

Quick Start

# Run directly with uvx (no install needed)
uvx mcp-proxmox

# Or install with pip
pip install mcp-proxmox

Configuration

Set these environment variables (or create a .env file):

PROXMOX_HOST=192.168.1.100          # Your Proxmox VE host
PROXMOX_TOKEN_ID=user@pam!mcp       # API token ID
PROXMOX_TOKEN_SECRET=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx  # API token secret

Optional:

PROXMOX_PORT=8006                   # Default: 8006
PROXMOX_VERIFY_SSL=false            # Default: false
Creating a Proxmox API Token
  1. Log into your Proxmox web UI
  2. Go to Datacenter > Permissions > API Tokens
  3. Click Add and create a token for your user
  4. Uncheck "Privilege Separation" for full access, or assign specific permissions:
    • VM.Audit — read VM/CT status and config
    • VM.PowerMgmt — start/stop/shutdown/reboot
    • VM.Snapshot — create/rollback/delete snapshots
    • VM.Allocate — create/delete/clone VMs and containers
    • VM.Clone — clone operations
    • Datastore.Audit — list storages and browse content
    • Datastore.AllocateSpace — allocate disk space for new VMs/CTs
    • Sys.Audit — read node status and tasks
    • VM.Config.Disk — resize disks
    • VM.Config.CPU — change CPU allocation
    • VM.Config.Memory — change memory allocation
    • VM.Monitor — access QEMU monitor (for metrics)
    • VM.Migrate — migrate VMs/CTs between nodes
    • Sys.Modify — manage firewall rules
    • VM.Config.Cloudinit — configure cloud-init parameters
Инструменты были проиндексированы:
add_firewall_rule

Добавляет правило брандмауэра для VM/CT, узла или кластера. Аргументы: action: Действие правила: 'ACCEPT', 'DROP' или 'REJECT'. type_: Направление правила: 'in' (входящее) или 'out' (исходящее). vmid: Необязательно. Добавить правило для этой VM/контейнера. node: Необязательно. Добавить правило для этого узла. Игнорируется, если указан vmid. proto: Необязательно. Протокол: 'tcp', 'udp', 'icmp' и т.д. dport: Необязательно. Порт назначения или диапазон (например '80', '8000-9000', '80,443'). sport: Необязательно. Порт источника или диапазон. source: Необязательно. IP-адрес/маска источника (например '192.168.1.0/24'). dest: Необязательно. IP-адрес/маска назначения. iface: Необязательно. Сетевой интерфейс (например 'net0'). enable: Включает правило немедленно (по умолчанию true). comment: Необязательно. Описание правила. pos: Необязательно. Позиция в цепочке правил (0 = первое). Если не указаны ни vmid, ни node, добавляет правило уровня кластера.

Параметры
  • actionstringобязательный
  • commentstring
  • deststring | null
  • dportstring | null
  • enableboolean
  • ifacestring | null
  • nodestring | null
  • posinteger | null
  • protostring | null
  • sourcestring | null
  • sportstring | null
  • type_stringобязательный
  • vmidinteger | null
clone_guest

Клонирует существующую VM или контейнер. Автоматически определяет тип и узел. По умолчанию создаёт полную (независимую) копию. Укажите full_clone=false для связанного клонирования. Аргументы: vmid: VMID исходной VM или контейнера для клонирования. new_name: Необязательное имя для копии. target_node: Необязательный целевой узел для копии (для клонирования между узлами). full_clone: Полное клонирование (true, по умолчанию) или связанное (false). target_storage: Необязательное целевое хранилище для дисков копии. new_vmid: Необязательный VMID для копии. Назначается автоматически, если не указан.

Параметры
  • full_cloneboolean
  • new_namestring | null
  • new_vmidinteger | null
  • target_nodestring | null
  • target_storagestring | null
  • vmidintegerобязательный
configure_cloud_init

Настраивает параметры cloud-init на виртуальной машине для автоматической подготовки. Требуется указать хотя бы один параметр. Изменения вступают в силу при следующей загрузке. Аргументы: vmid: Числовой идентификатор виртуальной машины. user: Имя пользователя по умолчанию для cloud-init. password: Пароль для пользователя по умолчанию. ssh_keys: Открытые ключи SSH (в URL-кодировке, при нескольких ключах разделяются переводами строк). ip_config: Строка конфигурации IP (например, 'ip=dhcp' или 'ip=10.0.0.5/24,gw=10.0.0.1'). nameserver: IP-адрес(а) DNS-сервера, разделённые пробелами. searchdomain: Домен(ы) поиска DNS, разделённые пробелами.

Параметры
  • ip_configstring | null
  • nameserverstring | null
  • passwordstring | null
  • searchdomainstring | null
  • ssh_keysstring | null
  • userstring | null
  • vmidintegerобязательный
create_backup

Создаёт резервную копию (vzdump) виртуальной машины или контейнера. Аргументы: vmid: Числовой идентификатор виртуальной машины или контейнера для резервного копирования. storage_name: Целевое хранилище для резервной копии (по умолчанию 'local'). mode: Режим резервного копирования: 'snapshot' (без остановки, по умолчанию), 'suspend' или 'stop'. compress: Сжатие: 'zstd' (по умолчанию), 'lzo', 'gzip' или '0' (нет). notes: Необязательные примечания или описание для резервной копии.

Параметры
  • compressstring
  • modestring
  • notesstring
  • storage_namestring
  • vmidintegerобязательный
create_container

Создаёт новый LXC-контейнер из шаблона. Аргументы: node: Имя целевого узла (например, 'pve'). name: Имя хоста контейнера. template: Идентификатор тома шаблона (например, 'local:vztmpl/debian-12-standard_12.7-1_amd64.tar.zst'). Использует list_storage_content с content_type='vztmpl' для поиска доступных шаблонов. cores: Количество ядер CPU (по умолчанию 1). memory: Память в МБ (по умолчанию 512). disk_size: Размер корневого диска в ГБ (по умолчанию 8). storage_pool: Хранилище для rootfs (по умолчанию 'local-lvm'). net_bridge: Сетевой мост (по умолчанию 'vmbr0'). password: Необязательный пароль root. ssh_public_keys: Необязательные открытые ключи SSH для доступа root. start_after_create: Запустить контейнер после создания (по умолчанию false). vmid: Необязательный конкретный VMID. Назначается автоматически, если не указан.

Параметры
  • coresinteger
  • disk_sizeinteger
  • memoryinteger
  • namestringобязательный
  • net_bridgestring
  • nodestringобязательный
  • passwordstring | null
  • ssh_public_keysstring | null
  • start_after_createboolean
  • storage_poolstring
  • templatestringобязательный
  • vmidinteger | null
create_snapshot

Создаёт новый снимок для VM или контейнера. Args: vmid: Числовой идентификатор VM или контейнера. name: Имя снимка (буквенно-цифровые символы, дефисы, подчеркивания). description: Необязательное описание снимка.

Параметры
  • descriptionstring
  • namestringобязательный
  • vmidintegerобязательный
create_template

Преобразует остановленную виртуальную машину в шаблон. НЕОБРАТИМО. После преобразования виртуальную машину больше нельзя запустить — её можно только клонировать. Аргументы: vmid: Числовой идентификатор виртуальной машины для преобразования. confirm: Должен быть true для выполнения. Первый вызов без confirm показывает предупреждение.

Параметры
  • confirmboolean
  • vmidintegerобязательный
create_vm

Создаёт новую виртуальную машину QEMU. По умолчанию машина создаётся остановленной. Используйте start_after_create=true для автоматического запуска. Аргументы: - node: Имя целевого узла (например, 'pve'). - name: Имя ВМ. - cores: Количество ядер CPU (по умолчанию 1). - memory: Память в МБ (по умолчанию 2048). - disk_size: Размер диска с единицей измерения (по умолчанию '32G'). Примеры: '10G', '100G', '1T'. - storage_pool: Хранилище для диска (по умолчанию 'local-lvm'). - iso: Необязательный идентификатор ISO-тома для установки (например, 'local:iso/ubuntu-24.04.iso'). - os_type: Тип ОС (по умолчанию 'l26' для Linux). Варианты: l26, l24, win11, win10, other. - net_bridge: Сетевой мост (по умолчанию 'vmbr0'). - start_after_create: Запустить ВМ после создания (по умолчанию false). - vmid: Необязательный конкретный VMID. Назначается автоматически, если не указан.

Параметры
  • coresinteger
  • disk_sizestring
  • isostring | null
  • memoryinteger
  • namestringобязательный
  • net_bridgestring
  • nodestringобязательный
  • os_typestring
  • start_after_createboolean
  • storage_poolstring
  • vmidinteger | null
delete_firewall_rule

Удаляет правило брандмауэра по его номеру позиции. Сначала используйте list_firewall_rules для просмотра позиций правил. Аргументы: pos: Позиция удаляемого правила (из вывода list_firewall_rules). vmid: Необязательно. Удаляет из правил этой ВМ/контейнера. node: Необязательно. Удаляет из правил этого узла. Игнорируется, если указан vmid. confirm: Должен быть true для выполнения. При первом вызове без confirm выводится предупреждение. Если не указаны ни vmid, ни node, удаляет из правил на уровне кластера.

Параметры
  • confirmboolean
  • nodestring | null
  • posintegerобязательный
  • vmidinteger | null
delete_guest

Навсегда удаляет ВМ или контейнер. НЕОБРАТИМО. Гостевая система должна быть остановлена перед удалением. Все образы дисков будут уничтожены. Аргументы: vmid: Числовой идентификатор ВМ или контейнера для удаления. confirm: Должен быть true для выполнения. Первый вызов без confirm показывает предупреждение.

Параметры
  • confirmboolean
  • vmidintegerобязательный
delete_snapshot

Удаляет снимок из ВМ или контейнера. Аргументы: vmid: Числовой идентификатор ВМ или контейнера. name: Имя удаляемого снимка. confirm: Должен быть true для выполнения. При первом вызове без confirm отображается предупреждение.

Параметры
  • confirmboolean
  • namestringобязательный
  • vmidintegerобязательный
exec_command

Выполняет команду внутри QEMU VM через гостевой агент. Требует, чтобы qemu-guest-agent был установлен и запущен внутри VM. Не поддерживается для LXC-контейнеров. Аргументы: vmid: Числовой идентификатор VM. command: Команда для выполнения (например, 'hostname', 'df -h', 'systemctl status nginx'). timeout: Максимальное время ожидания завершения команды в секундах (по умолчанию 30, максимум 300).

Параметры
  • commandstringобязательный
  • timeoutinteger
  • vmidintegerобязательный
get_guest_metrics

Получает метрики использования ресурсов (ЦП, память, сеть, диск I/O) для ВМ или контейнера. Аргументы: vmid: Числовой идентификатор ВМ или контейнера. timeframe: Временной диапазон для метрик. Варианты: 'hour', 'day', 'week', 'month', 'year'.

Параметры
  • timeframestring
  • vmidintegerобязательный
get_guest_status

Получает подробный статус VM или контейнера по VMID. Автоматически определяет тип и узел. Аргументы: vmid: Числовой идентификатор VM или контейнера (например, 100, 200).

Параметры
  • vmidintegerобязательный
get_node_status

Получает подробный статус для конкретного узла, включая модель CPU, память, диск и версии. Аргументы: node: Имя узла Proxmox (например, 'pve', 'node1').

Параметры
  • nodestringобязательный
list_backups

Списывает файлы резервных копий во всех хранилищах. Аргументы: node: Необязательный. Фильтр по имени узла. storage_name: Необязательный. Фильтр по имени хранилища. vmid: Необязательный. Фильтр по VMID для просмотра резервных копий конкретной гостевой системы.

Параметры
  • nodestring | null
  • storage_namestring | null
  • vmidinteger | null
list_containers

Выводит список всех LXC-контейнеров в кластере. Аргументы: node: Необязательно. Фильтрует по имени узла. status: Необязательно. Фильтрует по статусу ('running', 'stopped').

Параметры
  • nodestring | null
  • statusstring | null
list_firewall_rules

Перечисляет правила брандмауэра. Применяется к конкретной ВМ/КТ, узлу или кластеру. Аргументы: vmid: Необязательный. Перечисляет правила для этой ВМ/контейнера. node: Необязательный. Перечисляет правила для этого узла. Игнорируется, если указан vmid. Если не указаны ни vmid, ни node, перечисляет правила уровня кластера.

Параметры
  • nodestring | null
  • vmidinteger | null
list_networks

Перечисляет сетевые интерфейсы, мосты и bonds на узле Proxmox. Args: node: Имя узла Proxmox (например, 'pve').

Параметры
  • nodestringобязательный
list_nodes

Перечисляет все узлы в кластере Proxmox с указанием статуса, CPU, памяти и времени работы.

Параметры

Без параметров.

list_snapshots

Перечисляет все снимки для ВМ или контейнера. Аргументы: vmid: Числовой идентификатор ВМ или контейнера.

Параметры
  • vmidintegerобязательный
list_storage_content

Выводит содержимое пула хранения (ISO-образы, шаблоны, резервные копии, образы дисков). Аргументы: node: Имя узла Proxmox. storage_name: Имя пула хранения (например, 'local', 'local-lvm'). content_type: Необязательный. Фильтр по типу: 'iso', 'vztmpl', 'backup', 'images', 'rootdir'.

Параметры
  • content_typestring | null
  • nodestringобязательный
  • storage_namestringобязательный
list_storages

Перечисляет пулы хранения в кластере с информацией о ёмкости и использовании. Аргументы: node: Необязательный. Фильтрует по имени узла.

Параметры
  • nodestring | null
list_tasks

Перечисляет последние задачи на узле Proxmox (резервные копии, миграции, снимки и т.д.). Аргументы: node: Имя узла Proxmox. limit: Максимальное количество возвращаемых задач (по умолчанию 20, не более 100). status: Необязательный. Фильтрует по статусу задачи ('ok', 'error', 'running').

Параметры
  • limitinteger
  • nodestringобязательный
  • statusstring | null
list_templates

Перечисляет все шаблоны ВМ, доступные в кластере для клонирования.

Параметры

Без параметров.

list_vms

Выводит список всех виртуальных машин QEMU в кластере. Аргументы: node: Необязательный. Фильтрует по имени узла. status: Необязательный. Фильтрует по статусу ('running', 'stopped').

Параметры
  • nodestring | null
  • statusstring | null
migrate_guest

Выполняет живую миграцию ВМ или контейнера на другой узел кластера. Аргументы: vmid: Числовой ID ВМ или контейнера для миграции. target_node: Имя целевого узла (например, 'pve2'). online: Живая миграция (true, по умолчанию) или офлайн (false). При онлайн-миграции гость продолжает работать. confirm: Должен быть true для выполнения. Первый вызов без confirm показывает предупреждение.

Параметры
  • confirmboolean
  • onlineboolean
  • target_nodestringобязательный
  • vmidintegerобязательный
reboot_guest

Перезагружает работающую виртуальную машину или контейнер. Args: vmid: Числовой идентификатор виртуальной машины или контейнера для перезагрузки. confirm: Должен быть равен true для выполнения. Первый вызов без confirm показывает предупреждение.

Параметры
  • confirmboolean
  • vmidintegerобязательный
resize_guest

Изменяет объём CPU, памяти и/или диска ВМ или контейнера. Необходимо указать хотя бы один из параметров: cores, memory или disk_size. Изменения CPU и памяти вступают в силу после перезагрузки для запущенных гостевых систем. Изменение размера диска применяется немедленно, но НЕОБРАТИМО (диски можно только увеличивать). Аргументы: vmid: Числовой идентификатор ВМ или контейнера. cores: Новое количество ядер CPU. memory: Новый размер памяти в МБ. disk_size: Изменение размера диска. Используйте '+10G', чтобы добавить 10 ГБ, или '50G' для абсолютного размера. Поддерживаемые единицы: K, M, G, T. disk: Имя диска для изменения (по умолчанию 'scsi0' для ВМ, автоматически заменяется на 'rootfs' для контейнеров). confirm: Должен быть true для выполнения. При первом вызове без confirm выводится предупреждение.

Параметры
  • confirmboolean
  • coresinteger | null
  • diskstring
  • disk_sizestring | null
  • memoryinteger | null
  • vmidintegerобязательный
restore_backup

Восстанавливает ВМ или контейнер из файла резервной копии. Аргументы: volid: Идентификатор тома резервной копии (например, 'local:backup/vzdump-qemu-100-2024_03_04.vma.zst'). Используйте list_backups для поиска доступных резервных копий. node: Целевой узел для восстановленной гостевой системы. vmid: Необязательный VMID для восстановленной гостевой системы. Назначается автоматически, если не указан. storage_pool: Хранилище для восстановленных дисков (по умолчанию 'local-lvm'). guest_type: Тип гостевой системы: 'vm' или 'container'. confirm: Должно быть true для выполнения. При первом вызове без confirm выводится предупреждение.

Параметры
  • confirmboolean
  • guest_typestring
  • nodestringобязательный
  • storage_poolstring
  • vmidinteger | null
  • volidstringобязательный
rollback_snapshot

Откатывает ВМ или контейнер к предыдущему снимку. ВНИМАНИЕ: Все изменения после снимка будут УТЕРЯНЫ. Args: vmid: Числовой идентификатор ВМ или контейнера. name: Имя снимка, к которому выполняется откат. confirm: Должен быть true для выполнения. Первый вызов без confirm показывает предупреждение.

Параметры
  • confirmboolean
  • namestringобязательный
  • vmidintegerобязательный
shutdown_guest

Корректно завершает работу виртуальной машины или контейнера через сигнал ACPI (для ВМ) или init (для контейнеров). Аргументы: vmid: Числовой идентификатор виртуальной машины или контейнера, который нужно остановить.

Параметры
  • vmidintegerобязательный
start_guest

Запускает остановленную ВМ или контейнер. Аргументы: vmid: Числовой идентификатор ВМ или контейнера для запуска.

Параметры
  • vmidintegerобязательный
stop_guest

Принудительно останавливает работающую ВМ или контейнер. ПРЕДУПРЕЖДЕНИЕ: может привести к потере данных. Аргументы: vmid: Числовой ID ВМ или контейнера для остановки. confirm: Должен быть true для выполнения. Первый вызов без confirm показывает предупреждение.

Параметры
  • confirmboolean
  • vmidintegerобязательный

Похожие MCP-сервера

antonio-mello-ai/mcp-pfsense

antonio-mello-ai/mcp-pfsense

MCP сервер для управления брандмауэрами pfSense через AI-ассистентов. 17 инструментов по шести категориям: система, правила, DHCP, DNS, мониторинг и сервисы. Безопасность с двухшаговым подтверждени...

Python6
ckreiling/mcp-server-docker

ckreiling/mcp-server-docker

MCP-сервер для управления Docker через естественный язык: запускает и отлаживает контейнеры, управляет томами и сетями. Идеален для администраторов удалённых серверов и разработчиков, автоматизирую...

Python743
quantgeekdev/docker-mcp

quantgeekdev/docker-mcp

MCP сервер для управления Docker через Claude AI. Создавай контейнеры, разворачивай Compose-стэки и смотри логи — всё без командной строки. Идеально для DevOps, автоматизации развертывания и мониторинга. Минимум кликов, максимум контроля над инфраструктурой.

Python501
QuantGeekDev/docker-mcp

QuantGeekDev/docker-mcp

MCP-сервер для управления Docker через Claude AI: создает контейнеры, развертывает compose-стеки, читает логи и проверяет статус. Автоматизируйте рутинные операции с Docker, не отвлекаясь от работы...

Python501
localstack/localstack-mcp-server

localstack/localstack-mcp-server

официальный

MCP-сервер для управления LocalStack — эмулятором облака. Разворачивайте стек (Terraform, CDK, SAM), анализируйте логи и инжектируйте сбои. Помогает разработчикам и DevOps быстрее отлаживать облачн...

TypeScript27
alexei-led/k8s-mcp-server

alexei-led/k8s-mcp-server

K8s MCP Server - Docker-сервер с MCP для Claude. Запускает kubectl, helm, istioctl, argocd в изолированном контейнере. Помогает управлять Kubernetes-кластерами, разворачивать приложения и диагности...

Python213
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин