get_vm_info
Retrieve detailed information about a specific virtual machine using its ID with the VMware Fusion MCP Server. Simplify VM management and access essential data efficiently.
Instructions
Get detailed information about a specific VM.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| vm_id | Yes |
Implementation Reference
- vmware_fusion_mcp/server.py:35-38 (handler)The MCP tool handler for 'get_vm_info', decorated with @mcp.tool which registers it and defines the input schema via type hints.@mcp.tool async def get_vm_info(vm_id: str) -> Dict[str, Any]: """Get detailed information about a specific VM.""" return await _get_vm_info_impl(vm_id)
- vmware_fusion_mcp/server.py:28-32 (helper)Internal helper implementation that creates a VMwareClient instance using environment credentials and delegates to client.get_vm_info.async def _get_vm_info_impl(vm_id: str) -> Dict[str, Any]: """Get detailed information about a specific VM.""" async with VMwareClient(username=VMREST_USER, password=VMREST_PASS) as client: info = await client.get_vm_info(vm_id) return info # type: ignore[no-any-return]
- The core VMwareClient method that executes the HTTP GET request to the Fusion REST API endpoint `/api/vms/{vm_id}` to fetch detailed VM information.async def get_vm_info( self, vm_id: str, vm_password: Optional[str] = None ) -> Dict[str, Any]: """Get detailed information about a specific VM. Args: vm_id: The ID of the VM vm_password: The password for the VM (if required) Returns: Dictionary with detailed VM information """ try: url = f"{self.base_url}/api/vms/{vm_id}" params = {} if vm_password: params["vmPassword"] = vm_password response = await self._client.get( url, headers=self._auth_header, params=params or None, ) response.raise_for_status() result: Dict[str, Any] = response.json() return result except httpx.RequestError as e: raise Exception(f"Failed to connect to VMware Fusion API: {e}") except httpx.HTTPStatusError as e: if e.response.status_code == 404: raise Exception(f"VM with ID '{vm_id}' not found") raise Exception( f"VMware Fusion API error: {e.response.status_code} - " f"{e.response.text}" )