Skip to main content
Glama

CloudStack MCP Server

by phantosmax

list_virtual_machine_metrics

Retrieve virtual machine performance metrics by specifying Zone ID or VM ID to monitor and manage cloud resource utilization in CloudStack environments.

Instructions

List virtual machine performance metrics

Input Schema

NameRequiredDescriptionDefault
idNoSpecific VM ID
zoneidNoZone ID to filter VMs

Input Schema (JSON Schema)

{ "additionalProperties": false, "properties": { "id": { "description": "Specific VM ID", "type": "string" }, "zoneid": { "description": "Zone ID to filter VMs", "type": "string" } }, "type": "object" }

Implementation Reference

  • The handler function that implements the core logic of the 'list_virtual_machine_metrics' tool. It calls the CloudStack client to fetch metrics, processes the response, and formats it into a structured text output for the MCP protocol.
    async handleListVirtualMachineMetrics(args: any) { const result = await this.cloudStackClient.listVirtualMachineMetrics(args); const metrics = result.listvirtualmachinemetricsresponse?.virtualmachine || []; const metricsList = metrics.map((vm: any) => ({ id: vm.id, name: vm.name, state: vm.state, cpuused: vm.cpuused, networkkbsread: vm.networkkbsread, networkkbswrite: vm.networkkbswrite, diskioread: vm.diskioread, diskiowrite: vm.diskiowrite, disksize: vm.disksize, memory: vm.memory, cpunumber: vm.cpunumber })); return { content: [ { type: 'text', text: `Found ${metricsList.length} virtual machine metrics:\n\n${metricsList .map((vm: any) => `• ${vm.name} (${vm.id})\n State: ${vm.state}\n CPU Used: ${vm.cpuused}%\n Memory: ${vm.memory}MB\n CPUs: ${vm.cpunumber}\n Disk Size: ${vm.disksize}GB\n Network Read: ${vm.networkkbsread}KB\n Network Write: ${vm.networkkbswrite}KB\n Disk Read: ${vm.diskioread}KB\n Disk Write: ${vm.diskiowrite}KB\n` ) .join('\n')}` } ] }; }
  • The tool schema definition including name, description, and input schema validation for the 'list_virtual_machine_metrics' tool.
    { name: 'list_virtual_machine_metrics', description: 'List virtual machine performance metrics', inputSchema: { type: 'object', properties: { zoneid: { type: 'string', description: 'Zone ID to filter VMs', }, id: { type: 'string', description: 'Specific VM ID', }, }, additionalProperties: false, }, },
  • src/server.ts:130-131 (registration)
    The registration/dispatch case in the MCP server's tool request handler that routes calls to the 'list_virtual_machine_metrics' tool to its handler method.
    case 'list_virtual_machine_metrics': return await this.vmHandlers.handleListVirtualMachineMetrics(args);
  • Helper method in CloudStack client that performs the actual API request to CloudStack's listVirtualMachineMetrics endpoint.
    async listVirtualMachineMetrics(params: CloudStackParams = {}): Promise<CloudStackResponse> { return this.request('listVirtualMachineMetrics', params); }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/phantosmax/cloudstack-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server