mcpField
V
Vmware Vix Mcp Server

Vmware Vix Mcp Server

本地服务
github.com/bivex开发工具368 周前更新

关于 Vmware Vix Mcp Server

Vmware Vix Mcp Server 提供 VMware VIX 的 .NET 绑定及用于虚拟机管理的 MCP 服务,面向需要通过代码或 AI 助手操作 VMware VM 的开发者。它支持来宾系统命令执行、进程查看和 VM 生命周期操作。

主要功能

  1. 01VM 开关机、挂起与重置
  2. 02来宾系统命令和进程管理
  3. 03VM 快照管理
  4. 04主机与来宾文件操作

适用场景

  1. 01通过 AI 助手执行来宾系统命令
  2. 02检查 VM 中运行的进程
  3. 03创建或恢复 VM 快照

MCP 相关

MCP 服务将 VMware VIX 操作作为工具提供给 AI 助手,包括连接 VM、执行来宾系统命令、列出进程和检查连接。

配置

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

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

🖥️ VMware VIX API 的 .NET 绑定与 MCP 集成

.NET VMware MCP License Platform Automated by 🤖

🚀 通过 AI 驱动的模型上下文协议集成,实现强大的 VMware 虚拟机自动化

关键词: VMware VIX • Model Context Protocol • .NET 9.0 • AI Automation • Virtual Machine Management • Cursor IDE • C# Bindings

此代码库包含 VMware VIX(Virtual Infrastructure eXtension)API 的 .NET 绑定,以及用于 VM 管理操作的模型上下文协议(MCP)服务实现。

📦 项目

🔧 VixBindings

VMware VIX API .NET 库
功能全面的 .NET 9.0 库,提供 VMware VIX API 的 C# 绑定,支持以编程方式控制 VMware 虚拟机。

🤖 McpProcessToolSample

模型上下文协议服务
一个 .NET 9.0 控制台应用程序,实现了 MCP 服务,将 VMware VIX 操作作为工具提供给 AI 助手和自动化工作流使用。

✨ 功能

🔧 VixBindings 库
  • 完整覆盖 VIX API:提供 VMware VIX API 的完整 P/Invoke 声明
  • VM 生命周期管理:开机、关机、挂起和重置操作
  • 客户机操作系统操作:文件传输、命令执行、进程管理
  • 快照管理:创建、还原和管理 VM 快照
  • 共享文件夹:配置和管理主机与客户机之间的共享目录
  • 错误处理:全面的错误检查和报告
  • 辅助工具:简化命令执行和文件操作
🤖 MCP 服务实现
  • 会话管理:为多项操作维持持久的 VM 连接
  • 客户机命令执行:在客户机操作系统中运行命令并获取输出
  • 进程监控:列出和管理客户机 VM 中的进程
  • 连接测试:验证 VM 连通性和客户机访问权限
  • MCP 协议:用于 AI 集成的标准模型上下文协议

前提条件

系统要求
  • Windows 10/11(x64)
  • .NET 9.0 Runtime
  • VMware Workstation Pro/Player 或 VMware vSphere
  • VMware VIX API(Vix64AllProductsDyn.dll)
VMware 设置
  1. 从 VMware 官方网站下载并安装 VMware VIX API SDK
  2. 在安装 SDK 时接受 VMware SDK 协议
  3. 安装 VMware Workstation Pro/Player,或连接到 vSphere
  4. 确保目标 VM 已安装 VMware Tools
  5. 为客户机操作系统配置适当的用户帐户
  6. 将 Vix64AllProductsDyn.dll 从 VIX SDK 复制到应用程序目录

**注意:**此代码库不包含 VIX DLL,必须从 VMware 官方 SDK 发行版获取。

快速开始

构建项目
# Clone the repository
git clone <repository-url>
cd dotnet-bindings

# Build VixBindings library
cd VixBindings
dotnet build

# Build MCP server
cd ../McpProcessToolSample
dotnet build
运行 MCP 服务
cd McpProcessToolSample
dotnet run

MCP 服务将通过 stdio 传输启动,随时准备接收 MCP 协议消息。

在 Cursor IDE 中配置

若要将 MCP 服务集成到 Cursor IDE,请将以下配置添加到 MCP 设置文件(~/.cursor/mcp.json 或 C:\Users\{Username}\.cursor\mcp.json)中:

{
  "mcpServers": {
    "mcpWinAuditServer": {
      "command": "cmd",
      "args": [
        "/c",
        "C:\\path\\to\\your\\McpProcessToolSample.exe"
      ]
    }
  }
}

配置步骤:

  1. 构建 McpProcessToolSample 项目:dotnet build -c Release
  2. 记下 McpProcessToolSample.exe 的输出路径
  3. 更新 MCP 配置文件中的路径
  4. 重启 Cursor IDE 以加载 MCP 服务
  5. VMware VIX 工具将在 Cursor 的 AI 助手中可用

注意:确保 VIX DLL(Vix64AllProductsDyn.dll)与可执行文件位于同一目录,或位于系统 PATH 中。

使用 VixBindings 库
using VixBindings;

// Basic VM connection example
var hostHandle = VixApi.VixHost_Connect(/* connection parameters */);
var vmHandle = VixApi.VixHost_OpenVM(hostHandle, "path/to/vm.vmx", /*...*/);

// Wait for VMware Tools and login
VixApi.VixVM_WaitForToolsInGuest(vmHandle, 600, /*...*/);
VixApi.VixVM_LoginInGuest(vmHandle, "username", "password", /*...*/);

// Execute command in guest
var result = VixApiHelper.RunGuestCommandAndGetOutput(
    vmHandle, 
    "ps aux", 
    "/tmp/output.txt", 
    "C:\\temp\\output.txt"
);

可用的 MCP 工具

ConnectAndLogin

与 VM 和来宾操作系统建立持久会话。

参数:

  • hostName:VMware 主机地址
  • hostPort:连接端口
  • hostUserName:主机身份验证用户名
  • hostPassword:主机身份验证密码
  • vmxFilePath:VM 配置文件路径
  • guestUserName:来宾操作系统用户名
  • guestPassword:来宾操作系统密码
ExecCommandInGuestSession

使用活动会话在来宾操作系统中执行命令。

参数:

  • command:要执行的命令
  • guestTempPath:来宾中的临时目录(默认值:/tmp)
  • hostTempPath:主机上的临时目录(默认值:C:\\temp)
ListAllProcessesInGuest

列出来宾 VM 中所有正在运行的进程。

参数:

  • guestTempPath:来宾中的临时目录
  • hostTempPath:主机上的临时目录
CheckGuestConnection

测试连接和身份验证,但不保持会话。

Cursor IDE 集成

在 Cursor IDE 中完成配置后,你可以使用自然语言与 VMware VM 交互:

提示词示例:

  • “连接到我的 Ubuntu VM 并列出所有正在运行的进程”
  • “在来宾操作系统中执行 ‘df -h’ 命令以检查磁盘使用情况”
  • “检查我是否可以使用这些凭据连接到 VM”
  • “在来宾 VM 中运行系统更新命令”

AI 助手会根据你的请求自动使用相应的 MCP 工具,处理 VM 连接、命令执行和结果解析。

📸 使用示例

查看 MCP 服务实际运行的示例:查看示例 →

示例展示了:

  • 🔗 使用自然语言连接 VM
  • ⏱️ 系统监控命令
  • 👤 用户权限检查
  • 💾 磁盘使用情况分析
  • 🤖 AI 驱动的自动化工作流

配置

项目依赖项

VixBindings.csproj:

<PackageReference Include="System.Text.Encoding.CodePages" Version="9.0.6" />

McpProcessToolSample.csproj:

<PackageReference Include="Microsoft.Extensions.Hosting" Version="9.0.6" />
<PackageReference Include="ModelContextProtocol" Version="0.3.0-preview.1" />
<ProjectReference Include="..\VixBindings\VixBindings.csproj" />
运行时要求
  • 从 VMware 官方 VIX SDK 获取 Vix64AllProductsDyn.dll,并将其放在应用程序目录中
  • 为文件操作配置适当的临时目录
  • 设置具有必要权限的来宾操作系统用户账户
  • 确保遵守 VMware SDK 协议条款

错误处理

该库通过以下方式提供全面的错误处理:

  • 将 VIX 错误代码转换为易于理解的消息
  • MCP 工具中的结构化错误响应
  • 长时间运行操作的超时处理
  • 资源清理和句柄管理

安全注意事项

  • 安全存储 VM 凭据(避免硬编码)
  • 来宾操作使用最小权限账户
  • 验证并清理命令输入
  • 监控临时文件清理情况
  • 考虑远程 VM 连接的网络安全

故障排除

常见问题

“VIX_E_TOOLS_NOT_RUNNING”

  • 确保 VMware Tools 已安装并在来宾系统中运行
  • 检查来宾操作系统的电源状态

“VIX_E_AUTHENTICATION_FAIL”

  • 确认来宾凭据正确
  • 检查来宾操作系统用户账户权限
  • 确保允许交互式登录

“找不到文件”错误

  • 确认 VIX DLL 位于正确位置
  • 检查临时目录权限
  • 验证 VM 文件路径

贡献

  1. Fork 此仓库
  2. 创建功能分支
  3. 进行更改
  4. 如适用,添加测试
  5. 提交拉取请求

许可证

项目代码

此仓库中的 .NET 绑定和 MCP 服务实现按原样提供,仅供教育和开发用途。

VMware VIX API 许可证

重要:此项目使用 VMware VIX API,该 API 受 VMware 软件开发套件(SDK)协议约束。要点如下:

  • VIX API SDK 按“原样”提供,不附带任何保证
  • 你可以使用它创建与 VMware 产品通信的软件
  • 可再分发代码只能以目标代码形式分发
  • 你不能对可再分发代码进行逆向工程或创建衍生作品
  • VMware 保留 SDK 的所有知识产权
  • VMware 不为 SDK 的使用提供支持
  • 你不能声称你的软件已通过 VMware 认证
  • 未经许可,不得使用 VMware 商标
合规要求

使用此代码前:

  1. 从 VMware 网站下载官方 VIX API SDK
  2. 阅读并接受完整的 VMware SDK 协议
  3. 确保你拥有来自官方 SDK 的正确 Vix64AllProductsDyn.dll
  4. 遵守所有再分发和使用限制
  5. 不要单独再分发 VMware SDK 组件
免责声明

此仓库不包含 VMware 专有的 VIX API 组件。用户必须直接从 VMware 获取这些组件,并遵守 VMware 的许可条款。此仓库的作者不对任何许可违规或不当使用 VMware 知识产权的行为负责。

通过 AI 助手使用(Cursor IDE 等)

只要符合以下条件,通过 Cursor IDE 等 AI 助手使用此 MCP 服务,就符合 VMware SDK 协议:

  • 根本目的仍然是“创建与 VMware 软件通信的软件”
  • 用户拥有适当授权的 VMware 产品(Workstation Pro/Player、vSphere 等)
  • VIX SDK 组件通过 VMware 官方渠道获取
  • 未进行逆向工程或未经授权的修改
  • AI 助手仅用于自动执行合法的 VM 管理任务

此集成不会改变许可要求——用户仍必须遵守 VMware SDK 协议的所有条款。


🏷️ 标签

#VMware #VIX #DotNet #CSharp #ModelContextProtocol #MCP #AI #Automation #VirtualMachine #VMAutomation #AIAssistant #CursorIDE #DevTools #Virtualization #WindowsDevelopment #SDK #API #CloudComputing #Infrastructure #DevOps

相关文档

支持

如有问题或疑问:

  1. 查看上方的故障排除部分
  2. 查阅 VMware VIX API 文档
  3. 在此仓库中创建问题

评论

支持 Markdown

第一次接触 MCP?

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

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