返回 MCP 目录
public公开dns本地运行

vmware-fusion-mcp-server

一个基于FastMCP的VMware Fusion虚拟机管理MCP服务器,提供虚拟机列表、信息查询、电源操作等功能,支持与LLM和代理框架集成。

article

README

🚀 VMware Fusion MCP Server

VMware Fusion MCP Server 是一个基于 FastMCP 构建的模型上下文协议(MCP)服务器,可通过 Fusion REST API 管理 VMware Fusion 虚拟机,为用户提供便捷的虚拟机管理方案。

🚀 快速开始

  • 确保满足“先决条件”中的各项要求。
  • 按照“安装步骤”克隆仓库并安装依赖。
  • 完成“VMware Fusion 设置”,启用 REST API 并启动服务。
  • 配置认证信息,运行 MCP 服务器。

✨ 主要特性

Demo

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

📦 安装指南

  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 可用。

配置

服务器默认连接到 http://localhost:8697 的 VMware Fusion REST API。你必须使用环境变量为 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_USERVMREST_PASS 设置为你的 vmrest 凭证。

使用方法

运行 MCP 服务器

使用 Make
VMREST_USER=your-username VMREST_PASS=your-password make run
使用 uvx(推荐用于 VS Code/LLM)
VMREST_USER=your-username VMREST_PASS=your-password uvx vmware-fusion-mcp-server

VS Code / LLM 集成

要在 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_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

开发

运行测试

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. 分叉仓库。
  2. 创建功能分支。
  3. 进行更改。
  4. 运行测试和代码检查:make test && make lint
  5. 提交拉取请求。

🔗 参考资料

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端