Skip to main content
Glama
akmalovaa

proxmox-mcp

by akmalovaa

Proxmox-mcp

CI Release License: MIT Python 3.14 GHCR MCP

シンプルな Proxmox MCP

Proxmox VE を管理するための MCP サーバー

38 個のツール — ノード、QEMU VM、LXC コンテナ、ストレージ、クラスター、スナップショット。

なぜこれを使うのか?

  • 単一イメージ、マルチアーキテクチャ — docker run ghcr.io/akmalovaa/proxmox-mcp:latest を実行するだけで完了

  • 環境変数のみ — 設定ファイル、データベース、状態管理は不要

  • デフォルトで読み取り専用 — 破壊的な操作は明示的な PROXMOX_RISK_LEVEL によって制限

  • 小さなコードベース — Proxmoxer 上の純粋な stdio MCP。HTTP サーバー、認証レイヤー、余計な機能はなし

  • 生の JSON 出力 — フォーマットや絵文字なし。LLM がクリーンなデータを取得可能

クイックスタート

イメージ: ghcr.io/akmalovaa/proxmox-mcp:latest (マルチアーキテクチャ: amd64 + arm64)。

1. シェルプロファイル (~/.zprofile, ~/.zshrc または ~/.bashrc) に認証情報をエクスポートします:

# base environment:
export PROXMOX_HOST=192.168.1.100
export PROXMOX_USER=root@pam
export PROXMOX_PASSWORD=your-password

# or use token auth (recommended):
export PROXMOX_TOKEN_NAME=mcp
export PROXMOX_TOKEN_VALUE=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

# optional:
export PROXMOX_RISK_LEVEL=read

リロード: source ~/.zprofile (またはシェルを再起動)。

2. ~/.claude/settings.json (Claude Code) または claude_desktop_config.json (Claude Desktop) に追加します:

{
  "mcpServers": {
    "proxmox": {
      "command": "docker",
      "args": ["run", "-i", "--rm",
        "-e", "PROXMOX_HOST",
        "-e", "PROXMOX_USER",
        "-e", "PROXMOX_PASSWORD",
        "ghcr.io/akmalovaa/proxmox-mcp:latest"]
    }
  }
}

またはトークン認証:

{
  "mcpServers": {
    "proxmox": {
      "command": "docker",
      "args": ["run", "-i", "--rm",
        "-e", "PROXMOX_HOST",
        "-e", "PROXMOX_USER",
        "-e", "PROXMOX_TOKEN_NAME",
        "-e", "PROXMOX_TOKEN_VALUE",
        "ghcr.io/akmalovaa/proxmox-mcp:latest"]
    }
  }
}

値なしで docker run -e VAR を実行すると、ホスト変数がそのまま渡されます。設定ファイルにシークレットを含める必要はありません。クライアントを再起動すると、38 個の Proxmox ツールが利用可能になります。

パスワード認証の場合は、トークン変数を PROXMOX_PASSWORD に置き換えてください。

注意: macOS 上の Claude Desktop は launchd 経由で起動されるため、~/.zprofile/~/.zshrc を継承しません。エクスポートを ~/.zshenv に記述するか、設定内のインライン "env": { ... } ブロックを使用してください。

Related MCP server: nandi-proxmox-mcp

設定

すべての設定は環境変数です。シェルプロファイルで設定するか、docker run -e にインラインで渡すか、MCP クライアントの env ブロックで宣言してください。

変数

デフォルト

説明

PROXMOX_HOST

Proxmox ホスト (IP またはホスト名)

PROXMOX_USER

root@pam

API ユーザー

認証

トークン または パスワード — 下記参照

PROXMOX_PORT

8006

API ポート

PROXMOX_VERIFY_SSL

false

TLS 証明書の検証

PROXMOX_RISK_LEVEL

read

read / lifecycle / all

認証: トークン または パスワード

どちらか一方を選択してください。両方設定されている場合はトークンが優先されます。

トークン (推奨) — Proxmox UI で作成: データセンター → パーミッション → API トークン → 追加 (Privilege Separation のチェックを外す)。その後:

export PROXMOX_TOKEN_NAME=mcp
export PROXMOX_TOKEN_VALUE=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

パスワード (フォールバック):

export PROXMOX_PASSWORD=your-password

リスクレベル

PROXMOX_RISK_LEVEL は破壊的な操作を制限します:

レベル

追加される操作

read (デフォルト)

読み取り専用ツール

lifecycle

+ 起動 / 停止 / 再起動 / サスペンド / クローン / スナップショット作成

all

+ スナップショット削除 / スナップショットロールバック

権限が必要な呼び出しはすべて stderr にログ記録されます (ALLOW / DENY + ツール + レベル)。

ツール

ノード (7)

ツール

説明

list_nodes

ステータス、CPU、メモリ、稼働時間を含む全クラスターノードの一覧

get_node_status

詳細なノードメトリクス (CPU、メモリ、ディスク、負荷、カーネル)

get_node_networks

ノード上のネットワークインターフェース

get_node_disks

ノード上の物理ディスク

get_node_tasks

ノード上の最近のタスク

get_task_status

UPID による特定のタスクのステータス

get_task_log

タスクのログ出力

QEMU VM (14)

ツール

レベル

説明

list_vms

read

全 VM の一覧 (ノードによるフィルタリング可)

get_vm_status

read

現在の VM ステータス (実行中/停止中、CPU、メモリ)

get_vm_config

read

VM 設定 (ハードウェア、ディスク、ネットワーク)

list_vm_snapshots

read

VM の全スナップショットの一覧

start_vm

lifecycle

VM の起動

stop_vm

lifecycle

VM の強制停止

shutdown_vm

lifecycle

タイムアウト付きの安全な ACPI シャットダウン

reboot_vm

lifecycle

ACPI 経由の再起動

suspend_vm

lifecycle

VM のサスペンド

resume_vm

lifecycle

サスペンドされた VM の再開

clone_vm

lifecycle

フルクローンまたはリンククローン

create_vm_snapshot

lifecycle

スナップショットの作成

delete_vm_snapshot

all

スナップショットの削除

rollback_vm_snapshot

all

スナップショットへのロールバック

LXC コンテナ (11)

ツール

レベル

説明

list_containers

read

全 LXC コンテナの一覧 (ノードによるフィルタリング可)

get_container_status

read

現在のコンテナステータス

get_container_config

read

コンテナ設定

list_container_snapshots

read

全スナップショットの一覧

start_container

lifecycle

コンテナの起動

stop_container

lifecycle

コンテナの強制停止

shutdown_container

lifecycle

タイムアウト付きの安全なシャットダウン

reboot_container

lifecycle

コンテナの再起動

create_container_snapshot

lifecycle

スナップショットの作成

delete_container_snapshot

all

スナップショットの削除

rollback_container_snapshot

all

スナップショットへのロールバック

ストレージ (2)

ツール

説明

list_storage

使用量を含むストレージプールの一覧 (ノードによるフィルタリング可)

get_storage_content

ストレージプールのコンテンツ (ISO、バックアップ、イメージ、テンプレート)

クラスター (4)

ツール

説明

get_cluster_status

クラスターの健全性、クォーラム、ノードメンバーシップ

get_cluster_resources

全リソース (VM、コンテナ、ストレージ、ノード)

get_cluster_backups

設定済みのバックアップジョブ

get_next_vmid

次に使用可能な VM/コンテナ ID

アーキテクチャ

src/proxmox_mcp/
├── server.py    # FastMCP instance + entry point
├── config.py    # Pydantic Settings (PROXMOX_ prefix)
├── client.py    # Proxmoxer connection via lifespan
└── tools/       # nodes, vms, containers, storage, cluster
  • デフォルトで読み取り専用 — 権限が必要なツールは PROXMOX_RISK_LEVEL で制限

  • 単一接続 — Proxmoxer クライアントは起動時に一度だけ作成され、ライフサイクルを通じて共有

  • 生の JSON 出力 — フォーマットなし。LLM が直接データを消費

開発

スタンドアロン実行 (テスト)

export PROXMOX_HOST=192.168.1.100
export PROXMOX_USER=root@pam
export PROXMOX_TOKEN_NAME=mcp
export PROXMOX_TOKEN_VALUE=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

docker run -i --rm \
  -e PROXMOX_HOST -e PROXMOX_USER \
  -e PROXMOX_TOKEN_NAME -e PROXMOX_TOKEN_VALUE \
  ghcr.io/akmalovaa/proxmox-mcp:latest

Docker なし (UV)

git clone https://github.com/akmalovaa/proxmox-mcp.git && cd proxmox-mcp && uv sync

MCP クライアント設定:

{
  "mcpServers": {
    "proxmox": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/proxmox-mcp", "proxmox-mcp"],
      "env": {
        "PROXMOX_HOST": "192.168.1.100",
        "PROXMOX_TOKEN_NAME": "mcp",
        "PROXMOX_TOKEN_VALUE": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
      }
    }
  }
}

ソースからビルド

git clone https://github.com/akmalovaa/proxmox-mcp.git
cd proxmox-mcp
docker build -t proxmox-mcp .

ライセンス

MIT

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
6Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • A MCP server built for developers enabling Git based project management with project and personal…

  • Go MCP server for GitLab: 2 dynamic tools reach 1000+ REST/GraphQL actions. Free/CE, no paid tier.

  • Markdown-first MCP server for Notion API with 8 composite tools and 39 actions.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/akmalovaa/proxmox-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server