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.shKVM设备设置
在每个KVM设备上:
curl -sSL https://raw.githubusercontent.com/sk3tch/glkvm-mcp/main/scripts/setup_kvm.sh | sudo bash脚本将:
- 请求设备ID
- 索取您的CA证书
- 生成服务器证书(您将使用CA对其进行签名)
- 安装并启动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) |
许可证
麻省理工学院
