NM

neanderthal/mcp-qemu-vm

Developer tools

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る

24 stars 3 forks 品質 73 トレンド 15MIT

QEMU仮想マシンを制御するためのMCPサーバー - 安全にAIフルコンピュータアクセスを与える

概要

Claude(または任意のMCP互換LLM)は、画面を見たり、マウスを動かしたり、キーボードに入力したり、コマンドを実行したりします。 ホストシステムを危険にさらすことなく、AI主導の自動化、テスト、コンピュータによる実験に最適です。 SSH経由でQEMU仮想マシンを制御するためのモデルコンテキストプロトコル(MCP)サーバー。 このサーバーでは、LM はマウス/キーボード制御、スクリーンショット、SSH コマンド実行を通じて VM とやり取りすることができます。 - - カーソルを移動し、ボタン - テキストを入力し、キーの組み合わせを送信 - - - - 1つの呼び出しでUIアクションのシーケンスを実行 - VMスクリーンショットをキャプチャして取得 - - VM上でシェルコマンドを実行 - SFTP経由でファイルをアップロードしてダウンロード - 出力をログ、結果、およびアドバイスでプロジェクトフォルダに整理 - 将来のLMセッションのヒントを保存して取得 - - Python 3.

概要(AI 翻訳)

**AIフルコンピュータアクセスを有効にします。 ツイート Claude(または任意のMCP互換LLM)は、画面を見て、マウスを動かし、キーボードに入力し、コマンドを実行します。 ホストシステムを危険にさらすことなく、AI主導の自動化、テスト、コンピュータによる実験に最適です。

SSH経由でQEMU仮想マシンを制御するためのモデルコンテキストプロトコル(MCP)サーバー。 このサーバーでは、LM はマウス/キーボード制御、スクリーンショット、SSH コマンド実行を通じて VM とやり取りすることができます。

コンテンツの表

  • 特徴
  • 前提条件
  • QEMU/libvirt セットアップ
  • インストール
  • 構成
  • 使用法
  • ツールの参照
  • 典型的なワークフロー
  • LLMオートメーションのベストプラクティス
  • 建築
  • 既知の問題と制限
  • トラブルシューティング

##特徴

  • マウスコントロール - カーソルの移動とボタンをクリック
  • キーボード入力 - テキストを入力し、キーの組み合わせを送信
  • Action Batching - 1つの呼び出しでUIアクションのシーケンスを実行 -スクリーンショット - VMスクリーンショットのキャプチャと取得 -SSHコマンド実行 - VM上でシェルコマンドを実行
  • ファイル転送 - SFTP経由でファイルをアップロードおよびダウンロード

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。

README

以下は原文 README の抜粋です。原文を見る。

MCP QEMU VM Control

Give your AI full computer access — safely.

Let Claude (or any MCP-compatible LLM) see your screen, move the mouse, type on the keyboard, and run commands — all inside an isolated QEMU virtual machine. Perfect for AI-driven automation, testing, and computer-use experiments without risking your host system.

A Model Context Protocol (MCP) server for controlling QEMU virtual machines via SSH. This server enables LLMs to interact with VMs through mouse/keyboard control, screenshots, and SSH command execution.

Table of Contents

Features

  • Mouse Control - Move cursor and click buttons
  • Keyboard Input - Type text and send key combinations
  • Action Batching - Execute sequences of UI actions in one call
  • Screenshots - Capture and retrieve VM screenshots
  • SSH Command Execution - Run shell commands on the VM
  • File Transfer - Upload and download files via SFTP
  • Project Management - Organize outputs into project folders with logs, results, and advice
  • Advice System - Save and retrieve tips for future LLM sessions

Prerequisites

Host System

  • Python 3.12+
  • uv (recommended) or pip
  • QEMU/KVM with libvirt
  • virt-manager (optional, for GUI management)

VM Requirements

  • Linux with X11 desktop environment
  • SSH server enabled
  • Required packages: openssh, xdotool, scrot, xrandr, xinput

QEMU/libvirt Setup

1. Install virtualization packages

Arch/Manjaro:

sudo pacman -S qemu-full libvirt virt-manager dnsmasq iptables-nft

Debian/Ubuntu:

sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients virt-manager bridge-utils

Fedora:

sudo dnf install @virtualization

2. Configure libvirt

# Enable and start libvirtd
sudo systemctl enable --now libvirtd

# Add your user to libvirt group
sudo usermod -aG libvirt $USER

# Log out and back in, then verify
groups  # should show 'libvirt'

3. Set up the default network

libvirt provides a default NAT network (192.168.122.0/24) that VMs use to communicate with the host:

# Check network status
virsh -c qemu:///system net-list --all

# If 'default' is not active, start it
virsh -c qemu:///system net-start default

# Enable autostart
virsh -c qemu:///system net-autostart default

The default network configuration:

  • Bridge: virbr0
  • Host IP: 192.168.122.1
  • DHCP range: 192.168.122.2 - 192.168.122.254
  • Mode: NAT (VMs can access internet, host can access VMs)
GitHub で README 全文を見る

インストール

This server does not publish a one-line install command.

Open the repository installation guide MCP 初心者?mcpskill.org のガイドから始めましょう →