Skip to main content
Glama

Proxmox MCP Server

by canvrno

🚀 Proxmox マネージャー - Proxmox MCP サーバー

プロクスモックスMCP

Proxmox ハイパーバイザーと対話するための Python ベースの Model Context Protocol (MCP) サーバー。ノード、VM、コンテナを管理するためのクリーンなインターフェースを提供します。

🏗️ で構築

  • Cline - 自律コーディングエージェント - Cline でスピードアップ。
  • Proxmoxer - Proxmox API の Python ラッパー
  • MCP SDK - モデルコンテキストプロトコル SDK
  • Pydantic - Python 型アノテーションを使用したデータ検証

✨ 特徴

  • 🤖 Clineとの完全な統合
  • 🛠️ 公式MCP SDKで構築
  • 🔒 Proxmoxによる安全なトークンベースの認証
  • 🖥️ ノードとVMを管理するためのツール
  • 💻 VMコンソールコマンド実行
  • 📝 設定可能なログシステム
  • ✅ Pydantic による型安全な実装
  • 🎨 カスタマイズ可能なテーマによる豊富な出力フォーマット

https://github.com/user-attachments/assets/1b5f42f7-85d5-4918-aca4-d38413b0e82b

📦 インストール

前提条件

  • UV パッケージ マネージャー (推奨)
  • Python 3.10以上
  • ギット
  • APIトークン認証情報を使用したProxmoxサーバーへのアクセス

始める前に、次のものを用意してください。

  • [ ] Proxmoxサーバーのホスト名またはIP
  • [ ] Proxmox APIトークン( APIトークンの設定を参照)
  • [ ] UVがインストールされました( pip install uv

オプション 1: クイックインストール (推奨)

  1. 環境のクローンとセットアップ:
    # Clone repository cd ~/Documents/Cline/MCP # For Cline users # OR cd your/preferred/directory # For manual installation git clone https://github.com/canvrno/ProxmoxMCP.git cd ProxmoxMCP # Create and activate virtual environment uv venv source .venv/bin/activate # Linux/macOS # OR .\.venv\Scripts\Activate.ps1 # Windows
  2. 依存関係をインストールします:
    # Install with development dependencies uv pip install -e ".[dev]"
  3. 構成を作成します。
    # Create config directory and copy template mkdir -p proxmox-config cp config/config.example.json proxmox-config/config.json
  4. proxmox-config/config.jsonを編集します:
    { "proxmox": { "host": "PROXMOX_HOST", # Required: Your Proxmox server address "port": 8006, # Optional: Default is 8006 "verify_ssl": false, # Optional: Set false for self-signed certs "service": "PVE" # Optional: Default is PVE }, "auth": { "user": "USER@pve", # Required: Your Proxmox username "token_name": "TOKEN_NAME", # Required: API token ID "token_value": "TOKEN_VALUE" # Required: API token value }, "logging": { "level": "INFO", # Optional: DEBUG for more detail "format": "%(asctime)s - %(name)s - %(levelname)s - %(message)s", "file": "proxmox_mcp.log" # Optional: Log to file } }

インストールの確認

  1. Python 環境を確認します。
    python -c "import proxmox_mcp; print('Installation OK')"
  2. テストを実行します。
    pytest
  3. 構成を確認します。
    # Linux/macOS PROXMOX_MCP_CONFIG="proxmox-config/config.json" python -m proxmox_mcp.server # Windows (PowerShell) $env:PROXMOX_MCP_CONFIG="proxmox-config\config.json"; python -m proxmox_mcp.server
    次のいずれかが表示されます。
    • Proxmoxサーバーへの接続に成功しました
    • または接続エラー(Proxmoxの詳細が正しくない場合)

⚙️ 構成

Proxmox APIトークンの設定

  1. Proxmoxウェブインターフェースにログインする
  2. データセンター -> 権限 -> APIトークンに移動します
  3. 新しい API トークンを作成します。
    • ユーザーを選択します(例:root@pam)
    • トークンIDを入力します(例:「mcp-token」)
    • フルアクセスが必要な場合は「権限分離」のチェックを外してください
    • トークンIDとシークレットの両方を保存してコピーします

🚀 サーバーの実行

開発モード

テストと開発の場合:

# Activate virtual environment first source .venv/bin/activate # Linux/macOS # OR .\.venv\Scripts\Activate.ps1 # Windows # Run the server python -m proxmox_mcp.server

Clineデスクトップ統合

Cline ユーザーの場合は、次の構成を MCP 設定ファイル (通常は~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json ) に追加します。

{ "mcpServers": { "github.com/canvrno/ProxmoxMCP": { "command": "/absolute/path/to/ProxmoxMCP/.venv/bin/python", "args": ["-m", "proxmox_mcp.server"], "cwd": "/absolute/path/to/ProxmoxMCP", "env": { "PYTHONPATH": "/absolute/path/to/ProxmoxMCP/src", "PROXMOX_MCP_CONFIG": "/absolute/path/to/ProxmoxMCP/proxmox-config/config.json", "PROXMOX_HOST": "your-proxmox-host", "PROXMOX_USER": "username@pve", "PROXMOX_TOKEN_NAME": "token-name", "PROXMOX_TOKEN_VALUE": "token-value", "PROXMOX_PORT": "8006", "PROXMOX_VERIFY_SSL": "false", "PROXMOX_SERVICE": "PVE", "LOG_LEVEL": "DEBUG" }, "disabled": false, "autoApprove": [] } } }

正しいパスを生成するには、次のコマンドを使用できます。

# This will print the MCP settings with your absolute paths filled in python -c "import os; print(f'''{{ \"mcpServers\": {{ \"github.com/canvrno/ProxmoxMCP\": {{ \"command\": \"{os.path.abspath('.venv/bin/python')}\", \"args\": [\"-m\", \"proxmox_mcp.server\"], \"cwd\": \"{os.getcwd()}\", \"env\": {{ \"PYTHONPATH\": \"{os.path.abspath('src')}\", \"PROXMOX_MCP_CONFIG\": \"{os.path.abspath('proxmox-config/config.json')}\", ... }} }} }} }}''')"

重要:

  • すべてのパスは絶対パスである必要があります
  • Pythonインタープリタは仮想環境から取得する必要があります
  • PYTHONPATHはsrcディレクトリを指している必要があります
  • MCP設定を更新した後、VSCodeを再起動します。

🔧 利用可能なツール

サーバーは、Proxmox と対話するための次の MCP ツールを提供します。

get_nodes

Proxmox クラスター内のすべてのノードを一覧表示します。

  • パラメータ: なし
  • 応答例:
    🖥️ Proxmox Nodes 🖥️ pve-compute-01 • Status: ONLINE • Uptime: ⏳ 156d 12h • CPU Cores: 64 • Memory: 186.5 GB / 512.0 GB (36.4%) 🖥️ pve-compute-02 • Status: ONLINE • Uptime: ⏳ 156d 11h • CPU Cores: 64 • Memory: 201.3 GB / 512.0 GB (39.3%)

ノードステータスの取得

特定のノードの詳細なステータスを取得します。

  • パラメータ:
    • node (文字列、必須): ノードの名前
  • 応答例:
    🖥️ Node: pve-compute-01 • Status: ONLINE • Uptime: ⏳ 156d 12h • CPU Usage: 42.3% • CPU Cores: 64 (AMD EPYC 7763) • Memory: 186.5 GB / 512.0 GB (36.4%) • Network: ⬆️ 12.8 GB/s ⬇️ 9.2 GB/s • Temperature: 38°C

get_vms

クラスター全体のすべての VM を一覧表示します。

  • パラメータ: なし
  • 応答例:
    🗃️ Virtual Machines 🗃️ prod-db-master (ID: 100) • Status: RUNNING • Node: pve-compute-01 • CPU Cores: 16 • Memory: 92.3 GB / 128.0 GB (72.1%) 🗃️ prod-web-01 (ID: 102) • Status: RUNNING • Node: pve-compute-01 • CPU Cores: 8 • Memory: 12.8 GB / 32.0 GB (40.0%)

ストレージの取得

使用可能なストレージを一覧表示します。

  • パラメータ: なし
  • 応答例:
    💾 Storage Pools 💾 ceph-prod • Status: ONLINE • Type: rbd • Usage: 12.8 TB / 20.0 TB (64.0%) • IOPS: ⬆️ 15.2k ⬇️ 12.8k 💾 local-zfs • Status: ONLINE • Type: zfspool • Usage: 3.2 TB / 8.0 TB (40.0%) • IOPS: ⬆️ 42.8k ⬇️ 35.6k

クラスターステータスの取得

クラスター全体のステータスを取得します。

  • パラメータ: なし
  • 応答例:
    ⚙️ Proxmox Cluster • Name: enterprise-cloud • Status: HEALTHY • Quorum: OK • Nodes: 4 ONLINE • Version: 8.1.3 • HA Status: ACTIVE • Resources: - Total CPU Cores: 192 - Total Memory: 1536 GB - Total Storage: 70 TB • Workload: - Running VMs: 7 - Total VMs: 8 - Average CPU Usage: 38.6% - Average Memory Usage: 42.8%

VMコマンド実行

QEMU ゲスト エージェントを使用して VM のコンソールでコマンドを実行します。

  • パラメータ:
    • node (文字列、必須): VM が実行されているノードの名前
    • vmid (文字列、必須): VMのID
    • command (文字列、必須): 実行するコマンド
  • 応答例:
    🔧 Console Command Result • Status: SUCCESS • Command: systemctl status nginx • Node: pve-compute-01 • VM: prod-web-01 (ID: 102) Output: ● nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2025-02-18 15:23:45 UTC; 2 months 3 days ago
  • 要件:
    • VMが実行中である必要があります
    • QEMUゲストエージェントがVMにインストールされ、実行されている必要があります
    • ゲストエージェントでコマンド実行権限を有効にする必要があります
  • エラー処理:
    • VMが実行していない場合はエラーを返します
    • VMが見つからない場合はエラーを返します
    • コマンド実行が失敗した場合はエラーを返します
    • コマンドがゼロ以外の終了コードを返した場合でもコマンド出力を含めます

👨‍💻 開発

仮想環境をアクティブ化した後:

  • テストを実行する: pytest
  • フォーマットコード: black .
  • 型チェック: mypy .
  • 糸くず: ruff .

📁 プロジェクト構造

proxmox-mcp/ ├── src/ │ └── proxmox_mcp/ │ ├── server.py # Main MCP server implementation │ ├── config/ # Configuration handling │ ├── core/ # Core functionality │ ├── formatting/ # Output formatting and themes │ ├── tools/ # Tool implementations │ │ └── console/ # VM console operations │ └── utils/ # Utilities (auth, logging) ├── tests/ # Test suite ├── proxmox-config/ │ └── config.example.json # Configuration template ├── pyproject.toml # Project metadata and dependencies └── LICENSE # MIT License

📄 ライセンス

MITライセンス

-
security - not tested
A
license - permissive license
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Proxmoxハイパーバイザーとの連携を可能にするPythonベースのサーバーです。安全な認証をサポートし、ノード、VM、クラスター、ストレージを管理するためのツールを提供します。

  1. 🏗️ で構築
    1. ✨ 特徴
      1. 📦 インストール
        1. 前提条件
        2. オプション 1: クイックインストール (推奨)
        3. インストールの確認
      2. ⚙️ 構成
        1. Proxmox APIトークンの設定
      3. 🚀 サーバーの実行
        1. 開発モード
        2. Clineデスクトップ統合
      4. 🔧 利用可能なツール
        1. get\_nodes
        2. ノードステータスの取得
        3. get\_vms
        4. ストレージの取得
        5. クラスターステータスの取得
        6. VMコマンド実行
        7. 👨‍💻 開発
        8. 📁 プロジェクト構造
        9. 📄 ライセンス

      Related MCP Servers

      • -
        security
        F
        license
        -
        quality
        This is an MCP server that facilitates building tools for interacting with various APIs and workflows, supporting Python-based development with potential for customizable prompts and user configurations.
        Last updated -
        Python
      • -
        security
        F
        license
        -
        quality
        A server that securely manages Ethereum private keys locally and enables Claude for Desktop to interact with EVM-compatible blockchains through Infura.
        Last updated -
        TypeScript
      • -
        security
        A
        license
        -
        quality
        A Python server implementation that enables integration with the PeakMojo API, providing access to various resources like users, personas, scenarios, and tools for managing PeakMojo functionality.
        Last updated -
        Python
        MIT License
        • Linux
      • A
        security
        A
        license
        A
        quality
        A server that provides a persistent Python REPL environment through the MCP protocol, allowing execution of Python code, variable management, and package installation.
        Last updated -
        3
        3
        Python
        MIT License

      View all related MCP servers

      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/canvrno/ProxmoxMCP'

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