coolify_system_management
Manage Coolify self-hosted instances by listing servers, teams, and services, or testing system connectivity for deployment oversight.
Instructions
System management: list servers, teams, services, or test connectivity
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform: get servers, teams, services, or test connection |
Implementation Reference
- src/tools/system-unified.ts:29-89 (handler)The main handler function that implements the tool logic. It processes the input action and calls appropriate Coolify API methods (getServers, getTeams, getServices, testConnection), formats the response as MCP content, and handles errors.export async function handleSystemManagement( coolifyClient: CoolifyApiClient, args: any ): Promise<any> { try { const { action } = args; let result; let message; switch (action) { case 'get_servers': result = await coolifyClient.getServers(); message = `Found ${result.length} servers`; break; case 'get_teams': result = await coolifyClient.getTeams(); message = `Found ${result.length} teams`; break; case 'get_services': result = await coolifyClient.getServices(); message = `Found ${result.length} services`; break; case 'test_connection': result = await coolifyClient.testConnection(); message = result ? 'Connection successful' : 'Connection failed'; break; default: throw new Error(`Unknown system action: ${action}`); } return { content: [ { type: 'text', text: JSON.stringify({ success: true, data: result, message: message }, null, 2) } ] }; } catch (error) { return { content: [ { type: 'text', text: JSON.stringify({ success: false, error: error instanceof Error ? error.message : 'Unknown error occurred' }, null, 2) } ], isError: true }; } }
- src/tools/system-unified.ts:13-27 (schema)Tool definition including name, description, and input schema specifying the required 'action' parameter with allowed values.export const systemManagementTool: Tool = { name: 'coolify_system_management', description: 'System management: list servers, teams, services, or test connectivity', inputSchema: { type: 'object', properties: { action: { type: 'string', enum: ['get_servers', 'get_teams', 'get_services', 'test_connection'], description: 'Action to perform: get servers, teams, services, or test connection', }, }, required: ['action'], }, };
- src/index.ts:156-157 (registration)Registration of the tool handler in the MCP server's CallToolRequestSchema switch statement, dispatching calls to handleSystemManagement.case 'coolify_system_management': return await handleSystemManagement(this.coolifyClient, args);
- src/index.ts:127-130 (registration)Tool registration in the ListToolsRequestSchema response, including systemManagementTool in the available tools list.tools: [ applicationManagementTool, environmentConfigurationTool, systemManagementTool,
- src/index.ts:44-47 (registration)Import of the tool definition and handler from the system-unified module.import { systemManagementTool, handleSystemManagement, } from './tools/system-unified';