KVM设备控制服务器

一个通过HTTPS和双向TLS认证直接控制KVM设备的Python服务器,支持远程GUI操作和自动化任务。

  • by sk3tch
  • Python
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 sk3tch/glkvm-mcp

使用说明

GLKVM MCP服务器

一个Python MCP服务器,用于通过HTTPS直接控制KVM设备,并具有双向TLS(客户端证书)身份验证。这允许Claude和其他代理在其他计算机上驱动GUI。这使得我们能够在未安装或无法安装Claude的地方驱动GUI。例如,如果你想让Claude帮助你自动化操作系统安装或BIOS配置,你可以这样做。当然,还有一个问题 应该 你这样做。作为一名安全人员,看到它的构建有多容易,以及它的工作效果有多好,有点可怕。

特性

  • 直接连接 -无代理服务器,直接连接KVM设备
  • mTLS身份验证 -用于安全访问的客户端证书
  • 10个MCP工具 -截图、鼠标、键盘、OCR、设备管理
  • 本地OCR -Tesseract在本地运行,不需要云API
  • 简单设置 -一个配置新KVM设备的脚本

先决条件

本地计算机(MCP服务器运行的地方)

  • Python 3.10+
  • Tesseract OCR: apt install tesseract-ocr 或 brew install tesseract
  • ffmpeg: apt install ffmpeg 或 brew install ffmpeg

KVM设备

  • 支持USB HID小工具的Linux(GL.iNet、Raspberry Pi等)
  • 运行ustreamer进行视频捕获
  • Python 3

安装

# Clone the repository
git clone https://github.com/sk3tch/glkvm-mcp.git
cd glkvm-mcp

# Install Python dependencies
pip install -r requirements.txt

# Generate certificates (one-time)
./scripts/generate_certs.sh

KVM设备设置

在每个KVM设备上:

curl -sSL https://raw.githubusercontent.com/sk3tch/glkvm-mcp/main/scripts/setup_kvm.sh | sudo bash

脚本将:

  1. 请求设备ID
  2. 索取您的CA证书
  3. 生成服务器证书(您将使用CA对其进行签名)
  4. 安装并启动HID服务器

配置

创建 ~/.config/glkvm-mcp/config.yaml:

devices:
  kvm-office:
    ip: 192.168.1.31
    name: "Office PC"

  kvm-server:
    ip: 192.168.1.32
    name: "Home Server"

使用Claude代码

添加到您的Claude Code MCP设置中:

{
  "mcpServers": {
    "glkvm": {
      "command": "python",
      "args": ["-m", "glkvm_mcp.server"],
      "cwd": "/path/to/glkvm-mcp/src"
    }
  }
}

或者,如果作为软件包安装:

{
  "mcpServers": {
    "glkvm": {
      "command": "glkvm-mcp"
    }
  }
}

可用工具

工具 说明
kvm_list_devices 列出所有已配置的KVM设备
kvm_add_device 添加新的KVM设备
kvm_remove_device 移除KVM设备
kvm_capture_screen 截图(base64 JPEG)
kvm_screenshot_with_ocr 截图+OCR文本提取
kvm_find_and_click 在屏幕上找到文本并单击它
kvm_mouse_move 移动光标(0-32767坐标)
kvm_mouse_click 单击鼠标按钮
kvm_mouse_scroll 滚动鼠标滚轮
kvm_keyboard_type 键入文本字符串
kvm_keyboard_press 按键/组合键(例如Ctrl+C)

许可证

麻省理工学院