migrate_virtual_machine
Migrate virtual machines to a specified host using VM and host IDs to optimize resource allocation and manage CloudStack infrastructure efficiently.
Instructions
Migrate virtual machine to another host
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| hostid | No | Target host ID | |
| virtualmachineid | Yes | VM ID to migrate |
Implementation Reference
- The main handler function that executes the migrate_virtual_machine tool. It calls the CloudStack client to migrate the VM and returns a success message with the job ID.async handleMigrateVirtualMachine(args: any) { const result = await this.cloudStackClient.migrateVirtualMachine(args); return { content: [ { type: 'text', text: `Migrated virtual machine ${args.id}. Job ID: ${result.migratevirtualmachineresponse?.jobid}` } ] }; }
- The tool definition including name, description, and input schema (requires virtualmachineid, optional hostid).name: 'migrate_virtual_machine', description: 'Migrate virtual machine to another host', inputSchema: { type: 'object', properties: { virtualmachineid: { type: 'string', description: 'VM ID to migrate', }, hostid: { type: 'string', description: 'Target host ID', }, }, required: ['virtualmachineid'], additionalProperties: false, }, },
- src/server.ts:124-125 (registration)MCP server registration/dispatch: switch case that routes the tool call to the VM handler.case 'migrate_virtual_machine': return await this.vmHandlers.handleMigrateVirtualMachine(args);
- src/cloudstack-client.ts:147-149 (helper)CloudStack client helper method that makes the actual API request to migrateVirtualMachine.async migrateVirtualMachine(params: CloudStackParams): Promise<CloudStackResponse> { return this.request('migrateVirtualMachine', params); }