vmware-fusion-mcp-server

yeahdongcn/vmware-fusion-mcp-server
2 Stars 73 次浏览 更新于 2026-08-23

一个通过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 和代理框架。

前提条件

  • VMware Fusion Pro(启用 REST API)
  • Python 3.10+
  • uv(推荐)或 pip
  • uvx(用于 VS Code/LLM 集成)

安装

  1. 克隆仓库:
    bash
    git clone https://github.com/yeahdongcn/vmware-fusion-mcp-server.git
    cd vmware-fusion-mcp-server

  2. 设置环境并安装依赖项:
    bash
    make env


VMware Fusion 设置

  1. 启用 REST API:

    • 打开 VMware Fusion > 首选项 > 高级
    • 勾选“启用 REST API”
    • 记下 API 端口(默认:8697)
  2. 启动 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_USERVMREST_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 的客户端)中将此服务器用作工具提供者:

  1. 安装 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_USERVMREST_PASS设置为您的vmrest凭据。
    • 现在您可以在任何启用了MCP的LLM或VS Code中的代理中使用VMware Fusion工具。

MCP 工具

list_vms

  • 描述: 列出VMware Fusion中的所有虚拟机。
  • 参数:

get_vm_info

  • 描述: 获取特定虚拟机的详细信息。
  • 参数:
    • vm_id (字符串): 虚拟机的ID

power_vm

  • 描述: 对虚拟机执行电源操作。
  • 参数:
    • vm_id (字符串): 虚拟机的ID
    • action (字符串): 可选值之一: "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


贡献

  1. 分叉仓库
  2. 创建一个特性分支
  3. 进行更改
  4. 运行测试和代码检查: make test && make lint
  5. 提交拉取请求

参考资料

相关 MCP 服务