create_application
Deploy applications to Coolify PaaS by specifying project, environment, Git repository, and server destination for automated hosting setup.
Instructions
Create a new application
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project_uuid | Yes | Project UUID | |
| environment_name | Yes | Environment name | |
| environment_uuid | No | Environment UUID (optional) | |
| git_repository | No | Git repository URL | |
| ports_exposes | No | Ports to expose (e.g., "3000,8080") | |
| destination_uuid | Yes | Destination server UUID |
Implementation Reference
- src/tools/handlers.ts:151-155 (handler)The handler function for 'create_application' tool. Validates required input parameters (project_uuid, environment_name, destination_uuid) and forwards the request to Coolify API endpoint POST /applications.case 'create_application': requireParam(args, 'project_uuid'); requireParam(args, 'environment_name'); requireParam(args, 'destination_uuid'); return client.post('/applications', args);
- src/tools/definitions.ts:269-284 (registration)Registration of the 'create_application' tool in the allToolDefinitions array, including its description and JSON schema for input validation.{ name: 'create_application', description: 'Create a new application', inputSchema: { type: 'object', properties: { project_uuid: { type: 'string', description: 'Project UUID' }, environment_name: { type: 'string', description: 'Environment name' }, environment_uuid: { type: 'string', description: 'Environment UUID (optional)' }, git_repository: { type: 'string', description: 'Git repository URL' }, ports_exposes: { type: 'string', description: 'Ports to expose (e.g., "3000,8080")' }, destination_uuid: { type: 'string', description: 'Destination server UUID' } }, required: ['project_uuid', 'environment_name', 'destination_uuid'] } },
- src/types.ts:132-139 (schema)TypeScript interface defining the input shape for CreateApplicationInput, matching the tool's input schema.export interface CreateApplicationInput { project_uuid: string; environment_name: string; environment_uuid?: string; git_repository?: string; ports_exposes?: string; destination_uuid: string; }