vmware-fusion-mcp-server
一个通过Fusion REST API管理VMware Fusion虚拟机的模型上下文协议(MCP)服务器,使用FastMCP构建。它提供了诸如列出虚拟机、获取虚拟机信息、执行电源操作以及与LLM和代理框架集成等功能。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"vmware-fusion": {
"args": [
"vmware-fusion-mcp-server"
],
"command": "uvx",
"env": {
"VMREST_PASS": "your-password",
"VMREST_USER": "your-username"
}
}
}
}
该服务需要配置环境变量:VMREST_PASS、VMREST_USER
服务介绍
VMware Fusion MCP 服务器
通过 FastMCP 构建的 Model Context Protocol (MCP) 服务器,用于通过 Fusion REST API 管理 VMware Fusion 虚拟机。
功能
- 列出虚拟机:查看所有在 VMware Fusion 中注册的虚拟机。
- 获取虚拟机信息:检索特定虚拟机的详细信息。
- 电源操作:对虚拟机执行电源操作(开机、关机、挂起、暂停、恢复、重置)。
- 获取电源状态:查询虚拟机的当前电源状态。
- 现代 MCP/LLM 集成:将所有功能作为 MCP 工具暴露给 LLMs 和代理框架。
前提条件
安装
-
克隆仓库:
bash
git clone https://github.com/yeahdongcn/vmware-fusion-mcp-server.git
cd vmware-fusion-mcp-server -
设置环境并安装依赖项:
bash
make env
VMware Fusion 设置
-
启用 REST API:
- 打开 VMware Fusion > 首选项 > 高级
- 勾选“启用 REST API”
- 记下 API 端口(默认:8697)
-
启动 REST API 服务:
bash
vmrest默认情况下,API 将在
http://localhost:8697可用。
配置
服务器默认连接到 http://localhost:8697 的 VMware Fusion REST API。您必须使用环境变量为 vmrest API 配置身份验证:
VMREST_USER:vmrest API 的用户名(如果启用了身份验证,则必需)VMREST_PASS:vmrest API 的密码(如果启用了身份验证,则必需)
这些变量必须在您的 shell、VS Code MCP 配置或部署环境中设置。
示例:带有凭据的 VS Code MCP 服务器配置
json
{
"mcpServers": {
"vmware-fusion": {
"command": "uvx",
"args": ["vmware-fusion-mcp-server"],
"env": {
"VMREST_USER": "your-username",
"VMREST_PASS": "your-password"
}
}
}
}
- 将
VMREST_USER和VMREST_PASS设置为您的 vmrest 凭据。
使用
运行 MCP 服务器
使用 Make
bash
VMREST_USER=your-username VMREST_PASS=your-password make run
使用 uvx(推荐用于 VS Code/LLM)
bash
VMREST_USER=your-username VMREST_PASS=your-password uvx vmware-fusion-mcp-server
VS Code / LLM 集成
要在 VS Code(或任何兼容 MCP 的客户端)中将此服务器用作工具提供者:
-
安装 uvx:
bash
uv pip install uvx2. 在您的MCP服务器配置中添加(例如,.vscode/mcp.json):
json
{
"mcpServers": {
"vmware-fusion": {
"command": "uvx",
"args": ["vmware-fusion-mcp-server"],
"env": {
"VMREST_USER": "your-username",
"VMREST_PASS": "your-password"
}
}
}
}- 将
VMREST_USER和VMREST_PASS设置为您的vmrest凭据。 - 现在您可以在任何启用了MCP的LLM或VS Code中的代理中使用VMware Fusion工具。
- 将
MCP 工具
list_vms
- 描述: 列出VMware Fusion中的所有虚拟机。
- 参数: 无
get_vm_info
- 描述: 获取特定虚拟机的详细信息。
- 参数:
vm_id(字符串): 虚拟机的ID
power_vm
- 描述: 对虚拟机执行电源操作。
- 参数:
vm_id(字符串): 虚拟机的IDaction(字符串): 可选值之一: "on", "off", "suspend", "pause", "unpause", "reset"
get_vm_power_state
- 描述: 获取特定虚拟机的电源状态。
- 参数:
vm_id(字符串): 虚拟机的ID
开发
运行测试
bash
make test
格式化代码
bash
make fmt
代码检查
bash
make lint
项目结构
vmware_fusion_mcp/server.py- 主FastMCP服务器实现vmware_fusion_mcp/vmware_client.py- VMware Fusion REST API客户端tests/- 单元测试和集成测试
许可证
MIT许可证 - 详情请参见LICENSE。
贡献
- 分叉仓库
- 创建一个特性分支
- 进行更改
- 运行测试和代码检查:
make test && make lint - 提交拉取请求