QNAP Virtualization Station用のオープンソースMCP(Model Context Protocol)サーバーを作成しました。ClaudeのようなAIアシスタントを使ってVMを管理できます。
機能
自然言語でフルVM管理ができる35種類のツール:
- VMライフサイクル — 起動、停止、リセット、一時停止、再開
- VM管理 — CPU/メモリの更新、クローン、エクスポート、削除
- スナップショット — 作成、復元、削除
- ディスク & ISO — リサイズ、マウント/アンマウント
- モニタリング — ホストCPU/RAM使用率のリソースダッシュボード、ネットワーク情報付きのVMごとのサマリー
- 安全性 — 破壊的な操作はすべて明示的な確認が必要
仕組み
サーバーはVirtualization StationのREST API(Web UIが使用するものと同じ)と通信します。2つのモードをサポート:
- ローカル(stdio) — パソコン上で動作し、HTTPS経由でNASに接続
- リモート(SSE) — NAS上でDockerコンテナとして動作し、AIクライアントはBearerトークン認証でネットワーク経由で接続
インストール方法
# pip/uvx経由
uvx mcp-server-qnap-qvs
# Docker経由
docker pull ghcr.io/arnstarn/mcp-server-qnap-qvs:latest
# QPKG経由(App Centerでサイドロード)
# GitHub Releasesからダウンロード
App CenterリポジトリURLを追加すると自動でアップデートを取得できます:
https://raw.githubusercontent.com/arnstarn/mcp-server-qnap-qvs/main/qpkg/repo.xml
(App Center > 設定 > アプリリポジトリ)
必要条件
- x86 CPU(Intel/AMD)搭載のQNAP NAS
- QTS 5.1.0+ または QuTS hero h5.1.0+
- Virtualization Stationがインストールされていること
- Container Station(Docker/QPKGデプロイ用)
リンク
- GitHub: GitHub - arnstarn/mcp-server-qnap-qvs: MCP server for QNAP Virtualization Station (QVS) - manage virtual machines, snapshots, disks, and more via the QVS REST API · GitHub
- PyPI: Client Challenge
QuTS hero h5.2.8 + Virtualization Station 4.1.xで動作確認済み。MITライセンス、コントリビューション歓迎です。
ご質問や機能リクエストもお気軽にどうぞ!