QVMConsole Server
FreeNot checkedEnables AI assistants to manage virtual machines via natural language, including creating, editing, and VNC control.
About
Enables AI assistants to manage virtual machines via natural language, including creating, editing, and VNC control.
README
QVMConsole 的 MCP (Model Context Protocol) Server,使 AI 助手能够通过自然语言管理虚拟机。
功能特性
- 🔍 查看模板列表 - 浏览所有可用的虚拟机模板
- 🚀 创建虚拟机 - 从模板快速创建虚拟机(支持自定义配置)
- 📊 查看虚拟机信息 - 获取详细信息,包括登录密码
- 📝 列出虚拟机 - 查看所有虚拟机及其状态
- ⚙️ 编辑虚拟机 - 修改 CPU、内存等配置
- 🖥️ VNC 操控 - 截图、点击、输入,AI 直接操控虚拟机画面
系统要求
- Python 3.10+
- Node.js 16+(使用 npx 方式)
- 一个运行中的 QVMConsole 实例
- 有效的 API Key(从 QVMConsole 管理面板获取)
安装
方式一:通过 npx 直接使用(推荐)
无需安装,直接使用:
npx @qvmconsole/mcp-server
第一次运行时会自动安装 Python 依赖。
方式二:全局安装
npm install -g @qvmconsole/mcp-server
qvmconsole-mcp
方式三:从源码安装
1. 克隆项目
git clone https://github.com/qvmconsole/qvmconsole.git
cd qvmconsole/Code/MCP\ Server
2. 安装依赖
pip install -r requirements.txt
配置
方式一:通过 Claude Desktop 配置(推荐)
直接在 Claude Desktop 配置中使用 env 字段,无需额外配置文件:
{
"mcpServers": {
"qvmconsole": {
"command": "npx",
"args": ["-y", "@qvmconsole/mcp-server"],
"env": {
"QVMC_BASE_URL": "http://your-qvmconsole-url:8082",
"QVMC_API_KEY_ID": "kvm_id_xxxxxxxxxxxxxxxxxx",
"QVMC_API_KEY": "kvm_sk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
}
}
}
方式二:通过配置文件
创建 config/config.json 文件:
cp config/config.example.json config/config.json
编辑 config/config.json:
{
"qvmconsole": {
"base_url": "http://your-qvmconsole-url:8082",
"api_key_id": "kvm_id_xxxxxxxxxxxxxxxxxx",
"api_key": "kvm_sk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"timeout": 30,
"verify_ssl": true
}
}
配置优先级
- 环境变量(最高优先级)- Claude Desktop 的
env字段 - 配置文件 -
config/config.json - 默认值
获取 API Key
- 登录 QVMConsole 管理面板
- 进入 个人中心 → API Key 管理
- 点击 生成 API Key
- 复制生成的
API Key ID和API Key
环境变量说明
QVMC_BASE_URL- QVMConsole 地址(必需)QVMC_API_KEY_ID- API Key ID(必需)QVMC_API_KEY- API Key(必需)QVMC_TIMEOUT- 请求超时时间(秒),默认 30QVMC_VERIFY_SSL- 是否验证 SSL 证书,默认 true
使用方法
在 Claude Desktop 中使用
在 Claude Desktop 的配置文件中添加:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
使用 npx(推荐)
{
"mcpServers": {
"qvmconsole": {
"command": "npx",
"args": [
"-y",
"@qvmconsole/mcp-server"
],
"env": {
"QVMC_BASE_URL": "http://your-qvmconsole-url:8082",
"QVMC_API_KEY_ID": "kvm_id_xxxxxxxxxxxxxxxxxx",
"QVMC_API_KEY": "kvm_sk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
}
}
}
可选的环境变量:
QVMC_TIMEOUT: 请求超时时间(秒),默认 30QVMC_VERIFY_SSL: 是否验证 SSL 证书,默认 true
使用全局安装
{
"mcpServers": {
"qvmconsole": {
"command": "qvmconsole-mcp",
"env": {
"QVMC_BASE_URL": "http://your-qvmconsole-url:8082",
"QVMC_API_KEY_ID": "kvm_id_xxxxxxxxxxxxxxxxxx",
"QVMC_API_KEY": "kvm_sk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
}
}
}
使用源码方式
{
"mcpServers": {
"qvmconsole": {
"command": "python",
"args": [
"/path/to/qvmconsole/Code/MCP Server/src/server.py"
],
"env": {
"QVMC_BASE_URL": "http://your-qvmconsole-url:8082",
"QVMC_API_KEY_ID": "kvm_id_xxxxxxxxxxxxxxxxxx",
"QVMC_API_KEY": "kvm_sk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
}
}
}
注意: 使用 env 字段配置后,不再需要单独创建 config/config.json 文件。
重启 Claude Desktop 后即可使用。
直接运行测试
# 使用 npx
npx @qvmconsole/mcp-server
# 或使用 Python
python src/server.py
使用示例
在 Claude Desktop 中,您可以使用自然语言与虚拟机交互:
- "列出所有可用的虚拟机模板"
- "使用 ubuntu-22.04 模板创建一个虚拟机,名称为 test-vm,2核4G"
- "查看 test-vm 的详细信息,包括登录密码"
- "将 test-vm 的内存调整为 8G"
- "列出所有虚拟机"
可用工具
虚拟机管理
1. list_templates
列出所有可用的虚拟机模板。
2. create_vm_from_template
从模板创建虚拟机。
参数:
template_name(必填) - 模板名称vm_name(必填) - 虚拟机名称vcpu(必填) - CPU 核心数ram(必填) - 内存大小(GB)disk_size(可选) - 磁盘大小(GB)hostname(可选) - 主机名password(可选) - 登录密码(不填则自动生成)user(可选) - 用户名autostart(可选) - 是否自动启动remark(可选) - 备注信息
3. get_vm_info
获取虚拟机详细信息,包括登录密码。
参数:
vm_name(必填) - 虚拟机名称show_password(可选) - 是否显示密码,默认 true
4. list_vms
列出所有虚拟机及其基本状态。
5. edit_vm
编辑虚拟机配置。
参数:
vm_name(必填) - 虚拟机名称vcpu(可选) - CPU 核心数ram(可选) - 内存大小(GB)remark(可选) - 备注信息autostart(可选) - 是否自动启动
VNC 远程控制
6. vnc_status
查看虚拟机 VNC 状态。
参数:
vm_name(必填) - 虚拟机名称
7. vnc_enable
开启虚拟机 VNC。
参数:
vm_name(必填) - 虚拟机名称password(可选) - VNC 密码
注意: VNC 默认仅本地访问 (127.0.0.1),如需远程访问请使用 vnc_expose
8. vnc_expose
切换 VNC 对外暴露状态。
参数:
vm_name(必填) - 虚拟机名称expose(可选) - True=对外暴露(0.0.0.0),False=仅本地(127.0.0.1),默认 True
安全警告: 暴露 VNC 到公网有安全风险,建议设置密码并使用防火墙
9. vnc_screenshot
截取虚拟机 VNC 画面。
参数:
vm_name(必填) - 虚拟机名称
返回: PNG 格式的屏幕截图
10. vnc_click
在 VNC 画面上点击鼠标。
参数:
vm_name(必填) - 虚拟机名称x(必填) - 横坐标(像素)y(必填) - 纵坐标(像素)button(可选) - 鼠标按键 (left/right/middle)
11. vnc_type
在 VNC 中输入文本。
参数:
vm_name(必填) - 虚拟机名称text(必填) - 要输入的文本
12. vnc_key
在 VNC 中按下特殊按键。
参数:
vm_name(必填) - 虚拟机名称key(必填) - 按键名称 (enter/esc/tab/backspace/delete/up/down/left/right/space/ctrl/alt/shift/f1-f12)
13. vnc_move
在 VNC 中移动鼠标。
参数:
vm_name(必填) - 虚拟机名称x(必填) - 横坐标(像素)y(必填) - 纵坐标(像素)
日志
日志文件默认保存在 logs/mcp-server.log,可在配置文件中修改。
故障排查
API Key 无效
确保您的 API Key 正确且未被撤销,在 QVMConsole 管理面板中检查 API Key 状态。
连接失败
检查:
- QVMConsole 服务是否运行
base_url配置是否正确- 网络连接是否正常
- 防火墙设置是否允许连接
权限不足
确保 API Key 对应的用户有足够的权限执行相应操作。
安全提示
- 🔐 不要将
config/config.json提交到版本控制系统 - 🔑 妥善保管您的 API Key
- 🛡️ 建议在生产环境使用 HTTPS
- 👤 为 MCP Server 创建专用的受限权限用户
开发
运行测试
pytest tests/
项目结构
QVMConsole-MCP-Server/
├── src/
│ ├── __init__.py
│ ├── server.py # MCP Server 主入口
│ ├── client.py # QVMConsole API 客户端
│ ├── tools.py # MCP 工具实现
│ └── config.py # 配置管理
├── config/
│ └── config.example.json
├── docs/
│ ├── mcp-server-design.md
│ └── usage.md
├── tests/
├── requirements.txt
└── README.md
许可证
Apache License 2.0
相关链接
Install QVMConsole Server in Claude Desktop, Claude Code & Cursor
unyly install qvmconsole-mcp-serverInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add qvmconsole-mcp-server -- npx -y @qvmconsole/mcp-serverFAQ
Is QVMConsole Server MCP free?
Yes, QVMConsole Server MCP is free — one-click install via Unyly at no cost.
Does QVMConsole Server need an API key?
No, QVMConsole Server runs without API keys or environment variables.
Is QVMConsole Server hosted or self-hosted?
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
How do I install QVMConsole Server in Claude Desktop, Claude Code or Cursor?
Open QVMConsole Server on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
by modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
by xuzexin-hzCompare QVMConsole Server with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All ai MCPs
