Proxmox VE — MCP-сервер для Claude Code: управление нодами и ВМ
MCP-сервер, через который агент видит ноды Proxmox VE, виртуальные машины, контейнеры, хранилища и снимки. По умолчанию только чтение.
claude mcp add --env PROXMOX_HOST=<PROXMOX_HOST> --env PROXMOX_PORT=<PROXMOX_PORT> --env PROXMOX_VERIFY_SSL=<PROXMOX_VERIFY_SSL> --env PROXMOX_TIMEOUT=<PROXMOX_TIMEOUT> --env PROXMOX_USER=<PROXMOX_USER> --transport stdio proxmox-ve -- uvx proxmox-ve-mcpЧто делает Proxmox VE
Сервер отдаёт агенту 50 инструментов: ноды, QEMU-машины, LXC-контейнеры, хранилища, кластер, снимки. На старте активен уровень read — это 32 инструмента без права что-либо менять. Разрушительные операции включаются переменной PROXMOX_RISK_LEVEL: lifecycle добавляет запуск, остановку, перезагрузку, клонирование, миграцию и создание снимка, all — удаление и откат снимка. Инструменты выше активного уровня просто не регистрируются, поэтому в списке клиента их не видно.
Настройка целиком на переменных окружения: ни конфигов, ни базы, ни состояния. Нужны PROXMOX_HOST и либо пара PROXMOX_TOKEN_NAME с PROXMOX_TOKEN_VALUE, либо PROXMOX_PASSWORD. Если задать только половину токена, сервер не запустится — молчаливого отката на пароль нет. Транспорт stdio или Streamable HTTP, переключается одной переменной; HTTP слушает loopback. Запуск — контейнер ghcr.io/akmalovaa/proxmox-mcp:latest под amd64 и arm64.
Токену нужны права, иначе часть вызовов вернёт 403. Роль PVEAuditor покрывает все 32 инструмента чтения, PVEVMAdmin на /vms открывает жизненный цикл гостей и снимки. Для migrate_vm понадобится VM.Migrate на целевой ноде, для clone_vm — Datastore.AllocateSpace на целевом хранилище. Отдельный пользователь и отдельный токен вместо root@pam — разумный минимум, потому что сервер доступен модели, которая читает текст, написанный не ею.
Какие задачи решает
- посмотреть список нод и их состояние из чата
- запустить или остановить конкретную виртуальную машину
- сделать снимок перед рискованным изменением
- проверить, сколько места осталось на хранилище
- найти контейнер по имени и узнать его конфигурацию
Примеры запросов агенту
- Покажи все ноды Proxmox и их загрузку
- Останови виртуальную машину с ID 101
- Сделай снимок контейнера
web-01перед обновлением
Как установить Proxmox VE
Командой платформы
claude mcp add --env PROXMOX_HOST=<PROXMOX_HOST> --env PROXMOX_PORT=<PROXMOX_PORT> --env PROXMOX_VERIFY_SSL=<PROXMOX_VERIFY_SSL> --env PROXMOX_TIMEOUT=<PROXMOX_TIMEOUT> --env PROXMOX_USER=<PROXMOX_USER> --transport stdio proxmox-ve -- uvx proxmox-ve-mcpВместо <…> подставьте свои значения. Ещё 14 переменных окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from proxmox-ve-mcp <команда>
Командой платформы
codex mcp add proxmox-ve --env PROXMOX_HOST=<PROXMOX_HOST> --env PROXMOX_PORT=<PROXMOX_PORT> --env PROXMOX_VERIFY_SSL=<PROXMOX_VERIFY_SSL> --env PROXMOX_TIMEOUT=<PROXMOX_TIMEOUT> --env PROXMOX_USER=<PROXMOX_USER> -- uvx proxmox-ve-mcpВместо <…> подставьте свои значения. Ещё 14 переменных окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from proxmox-ve-mcp <команда>
Файл настроек
{
"mcpServers": {
"proxmox-ve": {
"command": "uvx",
"args": [
"proxmox-ve-mcp"
],
"env": {
"PROXMOX_HOST": "<PROXMOX_HOST>",
"PROXMOX_PORT": "<PROXMOX_PORT>",
"PROXMOX_VERIFY_SSL": "<PROXMOX_VERIFY_SSL>",
"PROXMOX_TIMEOUT": "<PROXMOX_TIMEOUT>",
"PROXMOX_USER": "<PROXMOX_USER>"
}
}
}
}Вместо <…> подставьте свои значения. Ещё 14 переменных окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from proxmox-ve-mcp <команда>
Файл настроек
{
"servers": {
"proxmox-ve": {
"type": "stdio",
"command": "uvx",
"args": [
"proxmox-ve-mcp"
],
"env": {
"PROXMOX_HOST": "<PROXMOX_HOST>",
"PROXMOX_PORT": "<PROXMOX_PORT>",
"PROXMOX_VERIFY_SSL": "<PROXMOX_VERIFY_SSL>",
"PROXMOX_TIMEOUT": "<PROXMOX_TIMEOUT>",
"PROXMOX_USER": "<PROXMOX_USER>"
}
}
}
}Вместо <…> подставьте свои значения. Ещё 14 переменных окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from proxmox-ve-mcp <команда>
Командой платформы
gemini mcp add -e PROXMOX_HOST=<PROXMOX_HOST> -e PROXMOX_PORT=<PROXMOX_PORT> -e PROXMOX_VERIFY_SSL=<PROXMOX_VERIFY_SSL> -e PROXMOX_TIMEOUT=<PROXMOX_TIMEOUT> -e PROXMOX_USER=<PROXMOX_USER> proxmox-ve uvx proxmox-ve-mcpВместо <…> подставьте свои значения. Ещё 14 переменных окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from proxmox-ve-mcp <команда>
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о Proxmox VE
Как установить Proxmox VE MCP-сервер в Claude Code?
Выполните `claude mcp add proxmox-mcp -e PROXMOX_HOST=<PROXMOX_HOST> -e PROXMOX_TOKEN_VALUE=<PROXMOX_TOKEN_VALUE> -e PROXMOX_PASSWORD=<PROXMOX_PASSWORD> -e SENTRY_DSN=<SENTRY_DSN> -- uvx proxmox-ve-mcp`. Есть и второй вариант — с явным транспортом stdio и переменными порта, SSL и таймаута.
Что делает Proxmox VE MCP-сервер?
Даёт агенту доступ к нодам, QEMU-машинам, LXC-контейнерам, хранилищам, кластеру и снимкам Proxmox VE. По умолчанию доступны только операции чтения.
Какие права нужны токену Proxmox?
Для чтения хватает роли PVEAuditor. Жизненный цикл гостей и снимки требуют PVEVMAdmin на /vms, миграция — VM.Migrate на целевой ноде, клонирование — Datastore.AllocateSpace на целевом хранилище.