deployments
Manage application deployments on Coolify MCP Server by listing, retrieving, or deploying configurations via specified operations and UUIDs for precise control over services and infrastructure.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| applicationUuid | No | Application UUID (for list_by_app operation) | |
| id | No | Deployment UUID | |
| operation | Yes | Operation to perform | |
| query | No | JSON query parameters for deploy operation |
Implementation Reference
- src/mcp/tools/deployments.ts:16-37 (handler)Core handler function for the 'deployments' tool, implementing list, get, deploy, and list_by_app operations using API wrappers.export async function deploymentsHandler(args: DeploymentsToolArgs) { const { operation, id, applicationUuid, query } = args; switch (operation) { case 'list': return await safeApiCall(() => listDeployments()); case 'get': if (!id) throw new Error('ID required for get operation'); return await safeApiCall(() => getDeploymentByUuid({ path: { uuid: id } })); case 'deploy': return await safeApiCall(() => deployByTagOrUuid({ query: query ? JSON.parse(query) : {} })); case 'list_by_app': if (!applicationUuid) throw new Error('applicationUuid required for list_by_app operation'); return await safeApiCall(() => listDeploymentsByAppUuid({ path: { uuid: applicationUuid } } as any)); default: throw new Error(`Unknown operation: ${operation}`); } }
- src/mcp-server.ts:262-269 (schema)Zod input schema defining parameters for the 'deployments' tool: operation (enum), id, applicationUuid, query.{ operation: z.enum([ 'list', 'get', 'deploy', 'list_by_app' ]).describe("Operation to perform"), id: z.string().optional().describe("Deployment UUID"), applicationUuid: z.string().optional().describe("Application UUID (for list_by_app operation)"), query: z.string().optional().describe("JSON query parameters for deploy operation") },
- src/mcp-server.ts:260-296 (registration)MCP server registration of the 'deployments' tool, including inline schema and wrapper handler that delegates to deploymentsHandler.server.tool( 'deployments', { operation: z.enum([ 'list', 'get', 'deploy', 'list_by_app' ]).describe("Operation to perform"), id: z.string().optional().describe("Deployment UUID"), applicationUuid: z.string().optional().describe("Application UUID (for list_by_app operation)"), query: z.string().optional().describe("JSON query parameters for deploy operation") }, async ({ operation, id, applicationUuid, query }) => { try { console.error('Deployments tool received args:', JSON.stringify({ operation, id, applicationUuid, query }, null, 2)); const result = await deploymentsHandler({ operation, id, applicationUuid, query }); return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] }; } catch (error) { return { content: [{ type: 'text', text: `Error: ${error instanceof Error ? error.message : String(error)}` }], isError: true }; } } );