Skip to main content
Glama

coolify_applications

Manage applications in Coolify by performing CRUD operations: list, create, update, get, and delete applications across various types including public, private GitHub, Docker, and Docker Compose deployments.

Instructions

Application CRUD operations - list, create, update, get, and delete applications of all types

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform: list (list all applications), create (create new application), update (update application), get (get application by UUID), delete (delete application)
typeNoApplication type (required for create action): public, private_github, private_deploy_key, dockerfile, dockerimage, dockercompose
uuidNoApplication UUID (required for update, get, delete actions)
nameNoApplication name (required for create, optional for update)
descriptionNoApplication description (optional for create and update)
pageNoPage number (optional for list action)
per_pageNoItems per page (optional for list action)
project_uuidNoProject UUID (required for create)
server_uuidNoServer UUID (required for create)
environment_nameNoEnvironment name (required for create)
git_repositoryNoGit repository URL (required for create)
git_branchNoGit branch (optional for create, default: main)
build_packNoBuild pack type (required for create)
ports_exposesNoPort configuration (required for create)
github_app_uuidNoGitHub App UUID (required for private_github type)
private_key_uuidNoPrivate key UUID (required for private_deploy_key type)
docker_registry_image_nameNoDocker registry image name (required for dockerimage type)
docker_registry_image_tagNoDocker registry image tag (optional for dockerimage type, default: latest)
docker_compose_rawNoDocker Compose configuration (required for dockercompose type)
dockerfile_locationNoDockerfile location (optional for dockerfile type, default: /Dockerfile)
destination_uuidNoDestination UUID (optional for private_deploy_key type)
domainsNoDomains configuration (optional for private_deploy_key type)
git_commit_shaNoGit commit SHA (optional for private_deploy_key type)
is_staticNoIs static application (optional for private_deploy_key type)
static_imageNoStatic image (optional for private_deploy_key type)
install_commandNoInstall command (optional for private_deploy_key type)
build_commandNoBuild command (optional for private_deploy_key type)
start_commandNoStart command (optional for private_deploy_key type)
ports_mappingsNoPort mappings (optional for private_deploy_key type)
base_directoryNoBase directory (optional for private_deploy_key type)
publish_directoryNoPublish directory (optional for private_deploy_key type)
health_check_enabledNoEnable health checks (optional for private_deploy_key type)
health_check_pathNoHealth check path (optional for private_deploy_key type)
health_check_portNoHealth check port (optional for private_deploy_key type)
health_check_hostNoHealth check host (optional for private_deploy_key type)
health_check_methodNoHealth check method (optional for private_deploy_key type)
health_check_return_codeNoHealth check return code (optional for private_deploy_key type)
health_check_schemeNoHealth check scheme (optional for private_deploy_key type)
health_check_response_textNoHealth check response text (optional for private_deploy_key type)
health_check_intervalNoHealth check interval (optional for private_deploy_key type)
health_check_timeoutNoHealth check timeout (optional for private_deploy_key type)
health_check_retriesNoHealth check retries (optional for private_deploy_key type)
health_check_start_periodNoHealth check start period (optional for private_deploy_key type)
limits_memoryNoMemory limits (optional for private_deploy_key type)
limits_memory_swapNoMemory swap limits (optional for private_deploy_key type)
limits_memory_swappinessNoMemory swappiness (optional for private_deploy_key type)
limits_memory_reservationNoMemory reservation (optional for private_deploy_key type)
limits_cpusNoCPU limits (optional for private_deploy_key type)
limits_cpusetNoCPU set limits (optional for private_deploy_key type)
limits_cpu_sharesNoCPU shares (optional for private_deploy_key type)
custom_labelsNoCustom labels (optional for private_deploy_key type)
custom_docker_run_optionsNoCustom Docker run options (optional for private_deploy_key type)
post_deployment_commandNoPost deployment command (optional for private_deploy_key type)
post_deployment_command_containerNoPost deployment command container (optional for private_deploy_key type)
pre_deployment_commandNoPre deployment command (optional for private_deploy_key type)
pre_deployment_command_containerNoPre deployment command container (optional for private_deploy_key type)
manual_webhook_secret_githubNoGitHub webhook secret (optional for private_deploy_key type)
manual_webhook_secret_gitlabNoGitLab webhook secret (optional for private_deploy_key type)
manual_webhook_secret_bitbucketNoBitbucket webhook secret (optional for private_deploy_key type)
manual_webhook_secret_giteaNoGitea webhook secret (optional for private_deploy_key type)
redirectNoRedirect configuration (optional for private_deploy_key type)
instant_deployNoInstant deploy (optional for private_deploy_key type)
dockerfileNoDockerfile content (optional for private_deploy_key type)
docker_compose_locationNoDocker Compose location (optional for private_deploy_key type)
docker_compose_custom_start_commandNoDocker Compose custom start command (optional for private_deploy_key type)
docker_compose_custom_build_commandNoDocker Compose custom build command (optional for private_deploy_key type)
docker_compose_domainsNoDocker Compose domains (optional for private_deploy_key type)
watch_pathsNoWatch paths (optional for private_deploy_key type)
use_build_serverNoUse build server (optional for private_deploy_key type)
is_http_basic_auth_enabledNoEnable HTTP basic auth (optional for private_deploy_key type)
http_basic_auth_usernameNoHTTP basic auth username (optional for private_deploy_key type)
http_basic_auth_passwordNoHTTP basic auth password (optional for private_deploy_key type)
connect_to_docker_networkNoConnect to Docker network (optional for private_deploy_key type)
force_domain_overrideNoForce domain override (optional for private_deploy_key type)

Implementation Reference

  • Handler function that executes the coolify_applications tool logic based on the action (list, create, get, update, delete). Uses API client to interact with Coolify endpoints.
    // Application Management async applications(action: string, args: any) { switch (action) { case 'list': const queryString = this.apiClient.buildQueryString(args); const response = await this.apiClient.get(`/applications?${queryString}`); return { content: [{ type: 'text', text: JSON.stringify(response.data, null, 2) }] }; case 'create': if (!args.type) throw new Error('Application type is required for create action'); const endpoint = this.getApplicationCreateEndpoint(args.type); const createResponse = await this.apiClient.post(endpoint, args); return { content: [{ type: 'text', text: JSON.stringify(createResponse.data, null, 2) }] }; case 'get': if (!args.uuid) throw new Error('Application UUID is required for get action'); const getResponse = await this.apiClient.get(`/applications/${args.uuid}`); return { content: [{ type: 'text', text: JSON.stringify(getResponse.data, null, 2) }] }; case 'update': if (!args.uuid) throw new Error('Application UUID is required for update action'); const updateResponse = await this.apiClient.patch(`/applications/${args.uuid}`, { name: args.name, description: args.description, }); return { content: [{ type: 'text', text: JSON.stringify(updateResponse.data, null, 2) }] }; case 'delete': if (!args.uuid) throw new Error('Application UUID is required for delete action'); await this.apiClient.delete(`/applications/${args.uuid}`); return { content: [{ type: 'text', text: 'Application deleted successfully' }] }; default: throw new Error(`Unknown applications action: ${action}`); } }
  • Supporting utility method used by the applications handler to map application types to specific API create endpoints.
    private getApplicationCreateEndpoint(type: string): string { switch (type) { case 'public': return '/applications/public'; case 'private_github': return '/applications/private-github-app'; case 'private_deploy_key': return '/applications/private-deploy-key'; case 'dockerfile': return '/applications/dockerfile'; case 'dockerimage': return '/applications/dockerimage'; case 'dockercompose': return '/applications/dockercompose'; default: throw new Error(`Unknown application type: ${type}`); } }
  • src/index.ts:102-103 (registration)
    Registration/dispatch point in the main tool call handler switch statement that routes 'coolify_applications' calls to the applications handler method.
    case 'coolify_applications': return await this.handlers.applications(args.action, args);
  • Input schema definition for the coolify_applications tool, including all parameters for different actions and application types.
    { name: 'coolify_applications', description: 'Application CRUD operations - list, create, update, get, and delete applications of all types', inputSchema: { type: 'object', properties: { action: { type: 'string', enum: ['list', 'create', 'update', 'get', 'delete'], description: 'Action to perform: list (list all applications), create (create new application), update (update application), get (get application by UUID), delete (delete application)' }, type: { type: 'string', enum: ['public', 'private_github', 'private_deploy_key', 'dockerfile', 'dockerimage', 'dockercompose'], description: 'Application type (required for create action): public, private_github, private_deploy_key, dockerfile, dockerimage, dockercompose' }, uuid: { type: 'string', description: 'Application UUID (required for update, get, delete actions)' }, name: { type: 'string', description: 'Application name (required for create, optional for update)' }, description: { type: 'string', description: 'Application description (optional for create and update)' }, page: { type: 'number', description: 'Page number (optional for list action)' }, per_page: { type: 'number', description: 'Items per page (optional for list action)' }, // Common application creation parameters project_uuid: { type: 'string', description: 'Project UUID (required for create)' }, server_uuid: { type: 'string', description: 'Server UUID (required for create)' }, environment_name: { type: 'string', description: 'Environment name (required for create)' }, git_repository: { type: 'string', description: 'Git repository URL (required for create)' }, git_branch: { type: 'string', description: 'Git branch (optional for create, default: main)' }, build_pack: { type: 'string', enum: ['nixpacks', 'static', 'dockerfile', 'dockercompose'], description: 'Build pack type (required for create)' }, ports_exposes: { type: 'string', description: 'Port configuration (required for create)' }, // Type-specific parameters github_app_uuid: { type: 'string', description: 'GitHub App UUID (required for private_github type)' }, private_key_uuid: { type: 'string', description: 'Private key UUID (required for private_deploy_key type)' }, docker_registry_image_name: { type: 'string', description: 'Docker registry image name (required for dockerimage type)' }, docker_registry_image_tag: { type: 'string', description: 'Docker registry image tag (optional for dockerimage type, default: latest)' }, docker_compose_raw: { type: 'string', description: 'Docker Compose configuration (required for dockercompose type)' }, dockerfile_location: { type: 'string', description: 'Dockerfile location (optional for dockerfile type, default: /Dockerfile)' }, // Additional optional parameters for private_deploy_key type destination_uuid: { type: 'string', description: 'Destination UUID (optional for private_deploy_key type)' }, domains: { type: 'string', description: 'Domains configuration (optional for private_deploy_key type)' }, git_commit_sha: { type: 'string', description: 'Git commit SHA (optional for private_deploy_key type)' }, is_static: { type: 'boolean', description: 'Is static application (optional for private_deploy_key type)' }, static_image: { type: 'string', description: 'Static image (optional for private_deploy_key type)' }, install_command: { type: 'string', description: 'Install command (optional for private_deploy_key type)' }, build_command: { type: 'string', description: 'Build command (optional for private_deploy_key type)' }, start_command: { type: 'string', description: 'Start command (optional for private_deploy_key type)' }, ports_mappings: { type: 'string', description: 'Port mappings (optional for private_deploy_key type)' }, base_directory: { type: 'string', description: 'Base directory (optional for private_deploy_key type)' }, publish_directory: { type: 'string', description: 'Publish directory (optional for private_deploy_key type)' }, health_check_enabled: { type: 'boolean', description: 'Enable health checks (optional for private_deploy_key type)' }, health_check_path: { type: 'string', description: 'Health check path (optional for private_deploy_key type)' }, health_check_port: { type: 'string', description: 'Health check port (optional for private_deploy_key type)' }, health_check_host: { type: 'string', description: 'Health check host (optional for private_deploy_key type)' }, health_check_method: { type: 'string', description: 'Health check method (optional for private_deploy_key type)' }, health_check_return_code: { type: 'number', description: 'Health check return code (optional for private_deploy_key type)' }, health_check_scheme: { type: 'string', description: 'Health check scheme (optional for private_deploy_key type)' }, health_check_response_text: { type: 'string', description: 'Health check response text (optional for private_deploy_key type)' }, health_check_interval: { type: 'number', description: 'Health check interval (optional for private_deploy_key type)' }, health_check_timeout: { type: 'number', description: 'Health check timeout (optional for private_deploy_key type)' }, health_check_retries: { type: 'number', description: 'Health check retries (optional for private_deploy_key type)' }, health_check_start_period: { type: 'number', description: 'Health check start period (optional for private_deploy_key type)' }, limits_memory: { type: 'string', description: 'Memory limits (optional for private_deploy_key type)' }, limits_memory_swap: { type: 'string', description: 'Memory swap limits (optional for private_deploy_key type)' }, limits_memory_swappiness: { type: 'number', description: 'Memory swappiness (optional for private_deploy_key type)' }, limits_memory_reservation: { type: 'string', description: 'Memory reservation (optional for private_deploy_key type)' }, limits_cpus: { type: 'string', description: 'CPU limits (optional for private_deploy_key type)' }, limits_cpuset: { type: 'string', description: 'CPU set limits (optional for private_deploy_key type)' }, limits_cpu_shares: { type: 'number', description: 'CPU shares (optional for private_deploy_key type)' }, custom_labels: { type: 'string', description: 'Custom labels (optional for private_deploy_key type)' }, custom_docker_run_options: { type: 'string', description: 'Custom Docker run options (optional for private_deploy_key type)' }, post_deployment_command: { type: 'string', description: 'Post deployment command (optional for private_deploy_key type)' }, post_deployment_command_container: { type: 'string', description: 'Post deployment command container (optional for private_deploy_key type)' }, pre_deployment_command: { type: 'string', description: 'Pre deployment command (optional for private_deploy_key type)' }, pre_deployment_command_container: { type: 'string', description: 'Pre deployment command container (optional for private_deploy_key type)' }, manual_webhook_secret_github: { type: 'string', description: 'GitHub webhook secret (optional for private_deploy_key type)' }, manual_webhook_secret_gitlab: { type: 'string', description: 'GitLab webhook secret (optional for private_deploy_key type)' }, manual_webhook_secret_bitbucket: { type: 'string', description: 'Bitbucket webhook secret (optional for private_deploy_key type)' }, manual_webhook_secret_gitea: { type: 'string', description: 'Gitea webhook secret (optional for private_deploy_key type)' }, redirect: { type: 'string', description: 'Redirect configuration (optional for private_deploy_key type)' }, instant_deploy: { type: 'boolean', description: 'Instant deploy (optional for private_deploy_key type)' }, dockerfile: { type: 'string', description: 'Dockerfile content (optional for private_deploy_key type)' }, docker_compose_location: { type: 'string', description: 'Docker Compose location (optional for private_deploy_key type)' }, docker_compose_custom_start_command: { type: 'string', description: 'Docker Compose custom start command (optional for private_deploy_key type)' }, docker_compose_custom_build_command: { type: 'string', description: 'Docker Compose custom build command (optional for private_deploy_key type)' }, docker_compose_domains: { type: 'array', items: { type: 'string' }, description: 'Docker Compose domains (optional for private_deploy_key type)' }, watch_paths: { type: 'string', description: 'Watch paths (optional for private_deploy_key type)' }, use_build_server: { type: 'boolean', description: 'Use build server (optional for private_deploy_key type)' }, is_http_basic_auth_enabled: { type: 'boolean', description: 'Enable HTTP basic auth (optional for private_deploy_key type)' }, http_basic_auth_username: { type: 'string', description: 'HTTP basic auth username (optional for private_deploy_key type)' }, http_basic_auth_password: { type: 'string', description: 'HTTP basic auth password (optional for private_deploy_key type)' }, connect_to_docker_network: { type: 'boolean', description: 'Connect to Docker network (optional for private_deploy_key type)' }, force_domain_override: { type: 'boolean', description: 'Force domain override (optional for private_deploy_key type)' }, }, required: ['action'], }, },

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/HowieDuhzit/CoolifyMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server