create_application
Create a deployable application from a Git repository in Coolify by specifying project, environment, and destination server for automated deployment.
Instructions
Create a new application in Coolify. Applications are deployable units that can be sourced from Git repositories.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| destination_uuid | Yes | UUID of the destination server where this application will be deployed. Get this from list_servers. | |
| environment_name | Yes | Name of the deployment environment (e.g., production, staging, development) | |
| environment_uuid | No | Optional UUID of an existing environment to use | |
| git_repository | No | URL of the Git repository containing the application code | |
| ports_exposes | No | Comma-separated list of ports to expose (e.g., "3000,8080"). These ports will be accessible from outside the container. | |
| project_uuid | Yes | UUID of the project this application belongs to. Projects help organize related applications. |
Implementation Reference
- src/index.ts:1410-1414 (handler)The execution handler for the 'create_application' tool. It proxies the request to Coolify's /applications API endpoint POST with the input arguments and returns the JSON response as text content.case 'create_application': const createApplicationResponse = await this.axiosInstance.post('/applications', request.params.arguments); return { content: [{ type: 'text', text: JSON.stringify(createApplicationResponse.data, null, 2) }] };
- src/index.ts:793-857 (schema)JSON schema defining the input parameters and validation for the create_application tool, including required fields, examples, and additional usage information.inputSchema: { type: 'object', properties: { project_uuid: { type: 'string', description: 'UUID of the project this application belongs to. Projects help organize related applications.', pattern: '^[a-zA-Z0-9]+$' }, environment_name: { type: 'string', description: 'Name of the deployment environment (e.g., production, staging, development)', examples: ['production', 'staging', 'development'] }, environment_uuid: { type: 'string', description: 'Optional UUID of an existing environment to use', pattern: '^[a-zA-Z0-9]+$' }, git_repository: { type: 'string', description: 'URL of the Git repository containing the application code', examples: ['https://github.com/username/repo.git'] }, ports_exposes: { type: 'string', description: 'Comma-separated list of ports to expose (e.g., "3000,8080"). These ports will be accessible from outside the container.', examples: ['3000', '8080,3000'] }, destination_uuid: { type: 'string', description: 'UUID of the destination server where this application will be deployed. Get this from list_servers.', pattern: '^[a-zA-Z0-9]+$' } }, required: ['project_uuid', 'environment_name', 'destination_uuid'], examples: [ { project_uuid: 'sg4gsws44wksg040o4ok80ww', environment_name: 'production', git_repository: 'https://github.com/username/repo.git', ports_exposes: '3000', destination_uuid: 'p4w8gk4s0c8c4o0ksw80ok4w' } ], additionalInfo: { workflow: [ '1. First call list_servers to get available server UUIDs for the destination_uuid', '2. Create the application with required parameters', '3. After creation, you can start the application using start_application', '4. Monitor the application status and logs as needed' ], relatedTools: [ 'list_servers - Get available servers for deployment', 'start_application - Start the application', 'stop_application - Stop the application', 'restart_application - Restart the application', 'execute_command_application - Run commands in the application container' ], notes: [ 'Applications are tied to specific projects and environments', 'The Git repository should be accessible by the Coolify server', 'Exposed ports must be available on the destination server', 'After creating an application, you\'ll need its UUID for management operations' ] }
- src/index.ts:790-858 (registration)The tool registration entry in the MCP server's listTools response, defining the name, description, and linking to the input schema for the create_application tool.{ name: 'create_application', description: 'Create a new application in Coolify. Applications are deployable units that can be sourced from Git repositories.', inputSchema: { type: 'object', properties: { project_uuid: { type: 'string', description: 'UUID of the project this application belongs to. Projects help organize related applications.', pattern: '^[a-zA-Z0-9]+$' }, environment_name: { type: 'string', description: 'Name of the deployment environment (e.g., production, staging, development)', examples: ['production', 'staging', 'development'] }, environment_uuid: { type: 'string', description: 'Optional UUID of an existing environment to use', pattern: '^[a-zA-Z0-9]+$' }, git_repository: { type: 'string', description: 'URL of the Git repository containing the application code', examples: ['https://github.com/username/repo.git'] }, ports_exposes: { type: 'string', description: 'Comma-separated list of ports to expose (e.g., "3000,8080"). These ports will be accessible from outside the container.', examples: ['3000', '8080,3000'] }, destination_uuid: { type: 'string', description: 'UUID of the destination server where this application will be deployed. Get this from list_servers.', pattern: '^[a-zA-Z0-9]+$' } }, required: ['project_uuid', 'environment_name', 'destination_uuid'], examples: [ { project_uuid: 'sg4gsws44wksg040o4ok80ww', environment_name: 'production', git_repository: 'https://github.com/username/repo.git', ports_exposes: '3000', destination_uuid: 'p4w8gk4s0c8c4o0ksw80ok4w' } ], additionalInfo: { workflow: [ '1. First call list_servers to get available server UUIDs for the destination_uuid', '2. Create the application with required parameters', '3. After creation, you can start the application using start_application', '4. Monitor the application status and logs as needed' ], relatedTools: [ 'list_servers - Get available servers for deployment', 'start_application - Start the application', 'stop_application - Stop the application', 'restart_application - Restart the application', 'execute_command_application - Run commands in the application container' ], notes: [ 'Applications are tied to specific projects and environments', 'The Git repository should be accessible by the Coolify server', 'Exposed ports must be available on the destination server', 'After creating an application, you\'ll need its UUID for management operations' ] } }