LLM со всеми их огромными возможностями стремительно и плотно входят в нашу жизнь, так что игнорировать их категорически противопоказанно, если вы хот…
Покажу на примере, как можно взаимодействовать с Proxmox VE с помощью LLM и Proxmox MCP Server. Думаю, на этой фразе у многих возникает вопрос, как можно ИИ дать доступ к своему кластеру. Вдруг поломает что-нибудь. С этим нет особых проблем, так как доступ будет через токен, которому можно добавить права PVEAuditor и кроме как читать информацию, он больше ничего не сможет сделать. А если вы поверите в ИИ и себя, то можно и расширить.
Показываю сразу бесплатную рабочую конструкцию, которую вы можете повторить у себя и попробовать. Я буду использовать консольного агента opencode и одну из его бесплатных моделей. Если у вас есть своя, можете подключить её. Всё выполняю в тестовом окружении. В прод уже сами подумаете, как вам лучше всё это развернуть.
1️⃣ Устанавливаете opencode.
2️⃣ Создаёте директорию для проекта, например, PVE.
# mkdir ~/PVE
3️⃣ Клонируем себе MCP Server:
# git clone https://github.com/GethosTheWalrus/proxmox-mcp
4️⃣ MCP написан на python, поэтому нужно установить uv со всеми зависимостями для запуска. Если не хотите этого делать, то можно запустить mcp в docker.
# curl-LsSf https://astral.sh/uv/install.sh | sh
# cd proxmox-mcp
# uv sync
5️⃣ Проверяем запуск:
# uv run proxmox-mcp-server
Нe должно быть ошибок. Закрываем по Ctrl+C.
6️⃣ Создаём в Proxmox токен, привязываем к пользователю, назначаем права.
7️⃣ Добавляем MCP в конфигурацию opencode в файле ~/.config/opencode/opencode.json:
"mcp": {
"proxmox": {
"type": "local",
"enabled": true,
"command": [ "uv","--directory", "/root/proxmox-mcp", "run", "proxmox-mcp-server" ],
"environment": {
"PROXMOX_HOST": "192.168.177.101",
"PROXMOX_PORT": "8006",
"PROXMOX_USER": "root@pam",
"PROXMOX_TOKEN_NAME": "mcp",
"PROXMOX_TOKEN_VALUE": "d5dk27-2ced-96a1cdd",
"PROXMOX_VERIFY_SSL": "0"
}
}
}
8️⃣ Проверяем, подключился ли сервер:
#opencode mcp listn
┌ MCP Servers
│
● ✓ proxmox connected
│ uv --directory /root/proxmox-mcp run proxmox-mcp-server
│
└ 1 server(s)
8. Переходим в папку проекта и запускаем opencode:
# cd ~/PVE
# opencode
Выбираем доступную модель. Если не подключали свою, то можете выбрать одну из бесплатных. Они помечены меткой Free.
Теперь запросы к PVE кластеру можно делать человекоподобным языком. Приведу полезный практический пример:
Выведи IP адреса виртуальных машин на ноде Proxmox srv-admin.
Можно не указывать конкретную ноду, а сначала сделать запрос к кластеру и попросить показать все ноды. В ответ на запрос агент выведет какой-то список. Возможно он вам будет неудобен. Через несколько уточнений вы можете получить удобную таблицу. Чтобы каждый раз не получать разные таблицы, можно тут же попросить агента запомнить формат.
Агент в папке проекта создаст файл AGENTS.md и опишет структуру таблицы. Последующие похожие запросы IP адресов будут сразу иметь удобный формат.
На картинке снизу таблица, которую я собрал на тестовом сервере, где есть машины с Kubernetes и Docker. Добавил туда все интересующие интерфейсы и исключил те, что не нужны. Получилось очень наглядно. Если кластер большой, то такой простой запрос может быть очень полезен, когда надо быстро что-то найти или разобраться.
Описанный MCP может очень много всего делать. Если у вас тестовый кластер, то можете обкатать автоматизацию по созданию, удалению окружений с полными настройками хранилищ, сетей и т.д. И не забывайте, если что-то не понятно, не получается, не знаешь, как делать, спрашивай того же агента. Он всё расскажет, если разрешить, то и настроит. Но с последним аккуратно. А то он такого может настроить.
#proxmox #ai #opencode