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.

评论

其他 分类下的更多 MCP 服务器