article
README
🚀 VMware Fusion MCP Server
VMware Fusion MCP Server 是一个基于 FastMCP 构建的模型上下文协议(MCP)服务器,可通过 Fusion REST API 管理 VMware Fusion 虚拟机,为用户提供便捷的虚拟机管理方案。
🚀 快速开始
- 确保满足“先决条件”中的各项要求。
- 按照“安装步骤”克隆仓库并安装依赖。
- 完成“VMware Fusion 设置”,启用 REST API 并启动服务。
- 配置认证信息,运行 MCP 服务器。
✨ 主要特性
- 列出虚拟机:查看 VMware Fusion 中注册的所有虚拟机。
- 获取虚拟机信息:检索特定虚拟机的详细信息。
- 电源操作:对虚拟机执行电源操作(开启、关闭、挂起、暂停、恢复、重置)。
- 获取电源状态:查询虚拟机的当前电源状态。
- 现代 MCP/LLM 集成:将所有功能作为 MCP 工具暴露给大语言模型(LLM)和代理框架。
📦 安装指南
- 克隆仓库:
git clone https://github.com/yeahdongcn/vmware-fusion-mcp-server.git cd vmware-fusion-mcp-server - 设置环境并安装依赖:
make env
📚 详细文档
VMware Fusion 设置
- 启用 REST API:
- 打开 VMware Fusion > 偏好设置 > 高级。
- 勾选“启用 REST API”。
- 记录 API 端口(默认:8697)。
- 启动 REST API 服务:
默认情况下,API 将在vmresthttp://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_USER和VMREST_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 兼容客户端)中使用此服务器作为工具提供者:
- 安装 uvx:
uv pip install uvx - 添加到你的 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 凭证。 - 现在你可以在任何支持 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
开发
运行测试
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。
👥 贡献指南
- 分叉仓库。
- 创建功能分支。
- 进行更改。
- 运行测试和代码检查:
make test && make lint。 - 提交拉取请求。
Scan to join WeChat group