create_private_deploy_key_application
Deploy applications from private Git repositories using SSH deploy keys for secure authentication within Coolify's self-hosted PaaS environment.
Instructions
Create a new application from a private Git repository using deploy key authentication
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project_uuid | Yes | Project UUID | |
| environment_name | Yes | Environment name | |
| environment_uuid | No | Environment UUID (optional) | |
| server_uuid | Yes | Server UUID | |
| destination_uuid | No | Destination UUID (optional if server has single destination) | |
| git_repository | Yes | Private Git repository URL | |
| git_branch | Yes | Git branch name | |
| build_pack | Yes | Build pack type (nixpacks, dockerfile, dockercompose) | |
| ports_exposes | Yes | Ports to expose (e.g., "3000,8080") | |
| private_key_uuid | Yes | Private key UUID for SSH authentication | |
| name | No | Application name (optional, auto-generated if not provided) | |
| description | No | Application description | |
| instant_deploy | No | Deploy immediately after creation |
Implementation Reference
- src/tools/handlers.ts:178-187 (handler)Handler function for the 'create_private_deploy_key_application' tool. Validates required parameters and calls the Coolify API POST /applications/private-deploy-key endpoint to create the application.case 'create_private_deploy_key_application': requireParam(args, 'project_uuid'); requireParam(args, 'environment_name'); requireParam(args, 'server_uuid'); requireParam(args, 'git_repository'); requireParam(args, 'git_branch'); requireParam(args, 'build_pack'); requireParam(args, 'ports_exposes'); requireParam(args, 'private_key_uuid'); return client.post('/applications/private-deploy-key', args);
- src/tools/definitions.ts:330-352 (schema)Tool schema definition including name, description, and input validation schema for 'create_private_deploy_key_application'.{ name: 'create_private_deploy_key_application', description: 'Create a new application from a private Git repository using deploy key authentication', 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)' }, server_uuid: { type: 'string', description: 'Server UUID' }, destination_uuid: { type: 'string', description: 'Destination UUID (optional if server has single destination)' }, git_repository: { type: 'string', description: 'Private Git repository URL' }, git_branch: { type: 'string', description: 'Git branch name' }, build_pack: { type: 'string', description: 'Build pack type (nixpacks, dockerfile, dockercompose)' }, ports_exposes: { type: 'string', description: 'Ports to expose (e.g., "3000,8080")' }, private_key_uuid: { type: 'string', description: 'Private key UUID for SSH authentication' }, name: { type: 'string', description: 'Application name (optional, auto-generated if not provided)' }, description: { type: 'string', description: 'Application description' }, instant_deploy: { type: 'boolean', description: 'Deploy immediately after creation', default: false } }, required: ['project_uuid', 'environment_name', 'server_uuid', 'git_repository', 'git_branch', 'build_pack', 'ports_exposes', 'private_key_uuid'] } },
- src/tools/index.ts:1-1 (registration)Exports the toolDefinitions array which includes the schema for 'create_private_deploy_key_application', used for MCP tool registration.export { toolDefinitions, getToolDefinitions, isReadOnlyMode, READ_ONLY_TOOLS } from './definitions.js';