mcpField
V
VMware Fusion MCP Server

VMware Fusion MCP Server

本地服务
github.com/yeahdongcn云与基础设施968 周前更新

关于 VMware Fusion MCP Server

VMware Fusion MCP Server 通过 REST API 管理 VMware Fusion 虚拟机,供 MCP 客户端查看和控制虚拟机。它将虚拟机信息与电源操作提供为 MCP 工具。

主要功能

  1. 01列出已注册虚拟机
  2. 02获取虚拟机详情
  3. 03执行虚拟机电源操作
  4. 04查询虚拟机电源状态

适用场景

  1. 01查看 VMware Fusion 中的虚拟机
  2. 02操作前检查虚拟机信息
  3. 03启动、暂停、挂起或重置虚拟机

MCP 相关

它向 MCP 客户端提供 VMware Fusion 虚拟机列表、详情、电源操作和状态查询工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"vmware-fusion": {
"command": "uvx",
"args": [
"vmware-fusion-mcp-server"
],
"env": {
"VMREST_USER": "<VMREST_USER>",
"VMREST_PASS": "<VMREST_PASS>"
}
}
}
}
启动命令uvx vmware-fusion-mcp-server
需要配置的环境变量
VMREST_USER
VMREST_PASS

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypivmware-fusion-mcp-server

工具

4

收录的工具列表 · 更新于 3 周前

此工具无需参数。

详细介绍

VMware Fusion MCP 服务

agentman

PyPI 版本 Python 版本 GitHub 问题 Pepy 总下载量 许可证


这是一个 Model Context Protocol(MCP)服务,使用 FastMCP 构建,可通过 Fusion REST API 管理 VMware Fusion 虚拟机。

Repobeats 分析图


功能

演示

  • 列出虚拟机:查看 VMware Fusion 中注册的所有虚拟机。
  • 获取虚拟机信息:检索特定虚拟机的详细信息。
  • 电源操作:对虚拟机执行电源操作(启动、关闭、挂起、暂停、恢复、重置)。
  • 获取电源状态:查询虚拟机当前的电源状态。
  • 现代 MCP/大模型集成:将所有功能作为 MCP 工具提供给大模型和 Agent 框架。

前提条件

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

安装

  1. 克隆仓库:

    git clone https://github.com/yeahdongcn/vmware-fusion-mcp-server.git
    cd vmware-fusion-mcp-server
    
  2. 设置环境并安装依赖:

    make env
    

VMware Fusion 设置

  1. 启用 REST API:

    • 打开 VMware Fusion > 偏好设置 > 高级
    • 勾选“启用 REST API”
    • 记下 API 端口(默认:8697)
  2. 启动 REST API 服务:

    vmrest
    

    API 默认可通过 http://localhost:8697 访问。


配置

服务默认连接到 VMware Fusion 的 REST API http://localhost:8697。你必须使用环境变量为 vmrest API 配置身份验证:

  • VMREST_USER:vmrest API 的用户名(启用身份验证时必需)
  • VMREST_PASS:vmrest API 的密码(启用身份验证时必需)

必须在 shell、VS Code MCP 配置或部署环境中设置这些变量。

示例:包含凭据的 VS Code MCP 服务配置
{
  "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
VMREST_USER=your-username VMREST_PASS=your-password make run
使用 uvx(推荐用于 VS Code/大模型)
VMREST_USER=your-username VMREST_PASS=your-password uvx vmware-fusion-mcp-server

VS Code / 大模型集成

要在 VS Code(或任何兼容 MCP 的客户端)中将此服务用作工具提供方:

  1. 安装 uvx:

    uv pip install uvx
    
  2. 添加到 MCP 服务配置中(例如 .vscode/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 凭据。
    • 现在,你可以在 VS Code 中任何启用了 MCP 的大模型或 Agent 中使用 VMware Fusion 工具。

MCP 工具

list_vms
  • **描述:**列出 VMware Fusion 中的所有虚拟机。
  • **参数:**无
get_vm_info
  • 描述: 获取特定 VM 的详细信息。
  • 参数:
    • vm_id(字符串):VM 的 ID
power_vm
  • 描述: 对 VM 执行电源操作。
  • 参数:
    • vm_id(字符串):VM 的 ID
    • action(字符串):以下选项之一:"on"、"off"、"suspend"、"pause"、"unpause"、"reset"
get_vm_power_state
  • 描述: 获取特定 VM 的电源状态。
  • 参数:
    • vm_id(字符串):VM 的 ID

开发

运行测试
make test
格式化代码
make fmt
代码检查
make lint

项目结构

  • vmware_fusion_mcp/server.py - FastMCP 服务的主要实现
  • vmware_fusion_mcp/vmware_client.py - VMware Fusion REST API 客户端
  • tests/ - 单元测试和集成测试

许可证

MIT 许可证 - 详情请参阅 LICENSE。


贡献

  1. Fork 此仓库
  2. 创建功能分支
  3. 进行更改
  4. 运行测试和代码检查:make test && make lint
  5. 提交拉取请求

参考资料

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。