mold_listVirtualMachines
Retrieve and filter virtual machines in ABLESTACK MOLD by criteria like name, state, zone, or project to manage cloud infrastructure.
Instructions
listVirtualMachines(4.21) 호출. 주요 필터만 노출(추가 필드는 mold_call 사용).
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| keyword | No | ||
| id | No | ||
| name | No | ||
| state | No | ||
| zoneid | No | ||
| projectid | No | ||
| domainid | No | ||
| account | No | ||
| listall | No | ||
| details | No | ||
| page | No | ||
| pagesize | No |
Implementation Reference
- src/app/tools.js:101-104 (handler)Handler function for mold_listVirtualMachines tool that invokes the listVirtualMachines API via callApi and returns JSON stringified response.async (args) => { const data = await callApi("listVirtualMachines", args); return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] }; }
- src/app/tools.js:86-100 (schema)Input schema using Zod for validating parameters like keyword, id, name, state, etc., specific to listVirtualMachines API.inputSchema: { keyword: z.string().optional(), id: z.string().optional(), name: z.string().optional(), state: z.enum(["Running", "Stopped", "Present", "Destroyed", "Expunged"]).optional(), zoneid: z.string().optional(), projectid: z.string().optional(), domainid: z.string().optional(), account: z.string().optional(), listall: z.boolean().optional(), details: z.string().optional(), page: z.number().int().optional(), pagesize: z.number().int().optional(), }, },
- src/app/tools.js:81-105 (registration)Registration of the mold_listVirtualMachines MCP tool, including title, description, input schema, and handler function.server.registerTool( "mold_listVirtualMachines", { title: "VM 목록 조회", description: "listVirtualMachines(4.21) 호출. 주요 필터만 노출(추가 필드는 mold_call 사용).", inputSchema: { keyword: z.string().optional(), id: z.string().optional(), name: z.string().optional(), state: z.enum(["Running", "Stopped", "Present", "Destroyed", "Expunged"]).optional(), zoneid: z.string().optional(), projectid: z.string().optional(), domainid: z.string().optional(), account: z.string().optional(), listall: z.boolean().optional(), details: z.string().optional(), page: z.number().int().optional(), pagesize: z.number().int().optional(), }, }, async (args) => { const data = await callApi("listVirtualMachines", args); return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] }; } );