diff --git a/package.json b/package.json index d79a3eb..f80803e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@ezscale/virtfusion-mcp", - "version": "1.0.0", + "version": "1.0.1", "description": "Model Context Protocol (MCP) server for the VirtFusion virtualization control panel API", "type": "module", "main": "dist/index.js", diff --git a/src/tools/servers.ts b/src/tools/servers.ts index f5de295..b97ad14 100644 --- a/src/tools/servers.ts +++ b/src/tools/servers.ts @@ -100,14 +100,15 @@ export function registerServerTools(server: McpServer, client: VirtFusionClient) server.tool( 'servers_delete', - 'Delete a server', + 'Delete a server. A minimum 5-minute (300s) delay is enforced as a safety margin.', { serverId: z.number().describe('The server ID'), - delay: z.number().optional().describe('Delay in seconds before deletion'), + delay: z.number().optional().describe('Delay in seconds before deletion (minimum 300)'), }, async ({ serverId, delay }) => { try { - const result = await client.delete(`/servers/${serverId}`, undefined, { delay }); + const safeDelay = Math.max(delay ?? 300, 300); + const result = await client.delete(`/servers/${serverId}`, undefined, { delay: safeDelay }); return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] }; } catch (error) { return formatErrorResponse(error); @@ -220,11 +221,11 @@ export function registerServerTools(server: McpServer, client: VirtFusionClient) "Throttle a server's CPU", { serverId: z.number().describe('The server ID'), - cpuThrottle: z.number().describe('CPU throttle value'), + cpuThrottle: z.number().describe('CPU throttle percentage (0-99). 0 removes throttle.'), }, async ({ serverId, cpuThrottle }) => { try { - const result = await client.put(`/servers/${serverId}/modify/cpuThrottle`, { cpuThrottle }); + const result = await client.put(`/servers/${serverId}/modify/cpuThrottle`, { percent: cpuThrottle }); return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] }; } catch (error) { return formatErrorResponse(error);