create_application
Deploy new applications on Coolify PaaS by specifying project, environment, git repository, and destination server for automated 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 switch case handler for the 'create_application' tool. Validates required parameters (project_uuid, environment_name, destination_uuid) and sends a POST request to the '/applications' endpoint via CoolifyClient.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 (schema)MCP input JSON schema for the 'create_application' tool inputs, used in tool registration.{ 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 structure for create_application, matching the MCP schema.export interface CreateApplicationInput { project_uuid: string; environment_name: string; environment_uuid?: string; git_repository?: string; ports_exposes?: string; destination_uuid: string; }
- src/index.ts:36-38 (registration)MCP server registration of the list tools handler, which provides all tool definitions including 'create_application' via getToolDefinitions().this.server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: getToolDefinitions() }));