MCP.so
ログイン

KVM MCP Server

@steveydevey

KVM MCP Server について

An MCP server for KVM hypervisors

基本情報

カテゴリ

その他

ランタイム

python

トランスポート

stdio

公開者

steveydevey

設定

以下の設定を使って、このサーバーを MCP 対応クライアントに追加してください。

{
  "mcpServers": {
    "kvm-mcp": {
      "command": "python3",
      "args": [
        "-m",
        "venv",
        ".venv"
      ]
    }
  }
}

ツール

ツールは検出されませんでした

ツールは README から自動的に抽出されます。メンテナーは ## Tools という見出しの下に記載することで、このタブに反映できます。

概要

What is KVM MCP Server?

A JSON-RPC server for managing KVM virtual machines through a unified interface. It centralizes control and monitoring of KVM VMs using a standardized protocol, replacing multiple command-line tools like virsh and virt-install.

How to use KVM MCP Server?

After installing prerequisites (Python 3.6+, KVM/libvirt, a configured network bridge and VM storage directory), clone the repository, create a virtual environment, install dependencies from requirements.txt, and edit config.json to match your environment. Start the server with python3 kvm_mcp_server.py and send JSON-RPC commands; example scripts (create_vm.sh, get_vnc_ports.sh) are provided.

Key features of KVM MCP Server

  • VM lifecycle management (create, start, stop, reboot, list)
  • Network management using bridges (default brforvms)
  • Storage management with qcow2 disk format
  • VNC display support with automatic port assignment
  • Installation from ISO or local CDROM
  • Connection pooling, caching, and asynchronous processing

Use cases of KVM MCP Server

  • Automate VM provisioning and lifecycle management
  • Remotely control and monitor KVM virtual machines
  • Standardize VM configuration across infrastructure
  • Integrate VM operations into scripts or pipelines
  • Optimize performance with connection pooling and caching

FAQ from KVM MCP Server

What are the prerequisites for running KVM MCP Server?

Python 3.6 or higher, KVM and libvirt installed on the host system, the network bridge brforvms configured, and a VM storage directory (default /vm/) created.

How do I configure the server?

Edit config.json to set default disk path, ISO, memory, vCPUs, disk size, network bridge, and ignition settings. Environment variable overrides are supported for each setting (e.g., VM_DISK_PATH, VM_DEFAULT_MEMORY).

Can I bypass the cache to get fresh VM information?

Yes, pass "no_cache": true in the list_vms call arguments to force a fresh query from libvirt.

What performance optimizations are included?

Connection pooling (configurable pool size, automatic recovery), VM info caching (configurable TTL and max size), asynchronous processing for better concurrency, and structured logging with performance metrics.

How do I monitor server health and performance?

The server logs to kvm_mcp.log (rotated at 10MB) with timing, connection pool status, cache hit/miss ratios, and operation metrics. Performance statistics are also available through the monitoring features.

コメント

「その他」の他のコンテンツ