QVMConsole MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@QVMConsole MCP ServerList all available VM templates."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
QVMConsole MCP Server
QVMConsole 的 MCP (Model Context Protocol) Server,使 AI 助手能够通过自然语言管理虚拟机。
功能特性
🔍 查看模板列表 - 浏览所有可用的虚拟机模板
🚀 创建虚拟机 - 从模板快速创建虚拟机(支持自定义配置)
📊 查看虚拟机信息 - 获取详细信息,包括登录密码
📝 列出虚拟机 - 查看所有虚拟机及其状态
⚙️ 编辑虚拟机 - 修改 CPU、内存等配置
🖥️ VNC 操控 - 截图、点击、输入,AI 直接操控虚拟机画面
Related MCP server: anyvm-mcp
系统要求
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\ Server2. 安装依赖
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
相关链接
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/QVMConsole/MCP_Server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server