Proxmox MCP: управление VM, LXC и снапшотами Proxmox VE из агента

RekklesNA/ProxmoxMCP-Plus· Проверено 12.11.2026· 649на GitHub

Даёт агенту ваш Proxmox VE по API-токену: создать, запустить и удалить VM и LXC, снять и откатить снапшот, сделать бэкап, проверить узлы, хранилища и логи, следить за долгими задачами.

2 реализации:

Повседневные операции с VM, LXC, снапшотами, бэкапами и ISO, долгие задачи с job_id, политика команд и токены подтверждения; есть режим HTTP и мост OpenAPI.

Как подключить

Что сделать до подключения

1

Менеджер пакетов uv с командой uvx или pip install proxmox-mcp-plus

2

API-токен Proxmox только с теми правами, которые нужны вашим сценариям

3

Для команд внутри LXC — раздел ssh в конфиге и SSH-доступ к узлу Proxmox, для команд внутри VM — QEMU Guest Agent

4
PROXMOX_TOKEN_VALUE

Создайте API-токен в Proxmox для пользователя, например root@pam, и укажите его имя в PROXMOX_TOKEN_NAME, секрет — в PROXMOX_TOKEN_VALUE

Конфиг для вашего клиента

Команда в терминале, в папке проекта. Флаг --scope user подключит сервер для всех проектов. Подробно о Claude Code

claude mcp add --env 'PROXMOX_HOST=<адрес Proxmox>' --env PROXMOX_USER=root@pam --env 'PROXMOX_TOKEN_NAME=<имя API-токена>' --env 'PROXMOX_TOKEN_VALUE=<секрет API-токена>' --env PROXMOX_PORT=8006 --env PROXMOX_VERIFY_SSL=true --transport stdio proxmox \
  -- uvx proxmox-mcp-plus

Проверка: claude mcp list показывает статус рядом с каждым сервером: ✔ Connected, ! Needs authentication или ✘ Failed to connect. Внутри сессии то же видно по команде /mcp.

Инструменты сервера

get_nodesперечисляет узлы
get_cluster_statusпоказывает состояние кластера
get_storageпоказывает хранилища
get_vmsперечисляет VM
get_containersперечисляет LXC
create_vmсоздаёт VM
start_vmзапускает VM
stop_vmостанавливает VM
delete_vmудаляет VM
update_vm_configменяет ISO, загрузку, сеть VM
create_containerсоздаёт LXC
update_container_networkменяет сеть LXC
create_snapshotснимает снапшот
rollback_snapshotоткатывает к снапшоту
download_isoскачивает ISO
execute_vm_commandвыполняет команду в VM
execute_container_commandвыполняет команду в LXC
poll_jobждёт долгую задачу
cancel_jobотменяет задачу
get_task_logчитает лог задачи по UPID

Что попросить агента

«Проверь состояние кластера и хранилищ»Агент вызовет get_nodes, get_cluster_status и get_storage
«Создай LXC-контейнер с IP 192.168.1.50/24 на <узел> и запусти его»Агент вызовет get_storage, create_container, start_container и дождётся задачи через poll_job
«Сделай снапшот VM <id> перед обновлением»Агент вызовет create_snapshot
«Откати VM <id> к снапшоту <имя>»Агент вызовет list_snapshots и rollback_snapshot
«Проверь SMART дисков на узле <узел>»Proxmox MCP Server: агент вызовет get_node_disks и get_disk_smart

Для каких задач

Проверить кластер: узлы, хранилища, запущенные VM и контейнеры
Создать и запустить VM с ISO или LXC с нужной сетью
Снять снапшот перед рискованной правкой и откатиться при неудаче
Сделать бэкап и восстановить из него
Разобрать сбой по syslog, логу кластера и логу задачи
Выполнить команду внутри VM или контейнера

Ограничения

!

Агент получает права API-токена: с токеном root он может удалить VM и откатить снапшоты, поэтому выдавайте токен с минимальными правами

!

Команды в VM работают только с QEMU Guest Agent, команды в LXC — только при настроенном SSH к узлу

!

У Proxmox MCP Server проверка TLS по умолчанию выключена (PROXMOX_VERIFY_SSL=0): включите её, если у Proxmox нормальный сертификат

!

proxmox_api_raw у Proxmox MCP Server вызывает любой метод API; отключается переменной PROXMOX_DISABLE_RAW_API=true

Если не работает

ProxmoxMCP-Plus не запускается после настройки фильтра инструментов
В tool_allowlist и tool_denylist нужны точные имена инструментов в нижнем регистре: неизвестное имя останавливает запуск. Одновременно оба режима задавать нельзя.

Какую реализацию выбрать

РеализацияКто делаетЗвёздыЗапускКлючИнструментыОбновлён
ProxmoxMCP-PlusRekklesNA649локальнотокен2010 ноября 2026
Proxmox MCP ServerGethosTheWalrus235локальнотокен28626 октября 2026

Частые вопросы

Как запретить агенту менять инфраструктуру?
В Proxmox MCP Server задайте PROXMOX_READ_ONLY=true: все запросы кроме GET будут блокироваться. В ProxmoxMCP-Plus оставьте нужные инструменты через tool_allowlist в конфиге или MCP_TOOL_ALLOWLIST, например get_nodes, get_vms, get_containers, get_storage.
Как агент следит за долгими операциями?
В ProxmoxMCP-Plus долгие действия возвращают job_id и task_id Proxmox. Агент ждёт результат через poll_job, а при сбое повторяет retry_job или отменяет cancel_job; история задач хранится в SQLite.
Можно ли подключить ProxmoxMCP-Plus по HTTP?
Да, запустите docker compose --profile mcp-http up -d proxmox-mcp-http и подключайтесь к http://localhost:8000/mcp. Для такого режима нужен ключ MCP_API_KEY: клиент передаёт его как Bearer.
Что делать, если 286 инструментов забивают контекст?
В Proxmox MCP Server включите TOOL_ROUTING=true: клиент увидит 3 инструмента, route_tools, call_routed_tool и proxmox_api_raw, а нужные будет подбирать по запросу. В ProxmoxMCP-Plus для этого есть Code Mode и фильтр инструментов.
Как подключить Proxmox MCP к Claude Desktop?
Пропишите в claude_desktop_config.json сервер с командой uvx proxmox-mcp-plus и переменными PROXMOX_HOST, PROXMOX_USER, PROXMOX_TOKEN_NAME, PROXMOX_TOKEN_VALUE. Чтобы не держать секреты в конфиге клиента, укажите путь к своему config.json в PROXMOX_MCP_CONFIG.
Можно ли запустить Proxmox MCP в Docker?
Да. У Proxmox MCP Server есть образ mcp/proxmox на Docker Hub, переменные передаются через -e. У ProxmoxMCP-Plus в Docker поднимаются режим MCP по HTTP и мост OpenAPI на порту 8811.
Работает ли сервер из России?
Сервер запускается на вашем компьютере и ходит только в ваш Proxmox, зарубежные аккаунты не нужны.

Похожие серверы