Skip to main content
Glama

Create application

createApplication

Create a new application in Coolify by specifying the source type (git repo, Dockerfile, or image) along with project and server UUIDs. Use the 'extra' field for additional configuration.

Instructions

Create a new application. type selects the source: 'public' (public git repo), 'private-github-app' (private repo via GitHub App, needs github_app_uuid), 'private-deploy-key' (private repo via SSH deploy key, needs private_key_uuid), 'dockerfile' (raw Dockerfile content in dockerfile), 'dockerimage' (prebuilt image, needs docker_registry_image_name and ports_exposes). Git-based types also need git_repository, git_branch, and build_pack. All types need project_uuid, server_uuid, and environment_name or environment_uuid (one is enough). Any other Coolify application field (install/build/start commands, base_directory, health checks, resource limits, ...) can be passed in extra; fields not valid for the chosen type are ignored.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNo
typeYesApplication source type
extraNoAdditional Coolify application fields for the chosen type
domainsNo
build_packNo
dockerfileNo
git_branchNo
descriptionNo
server_uuidYes
project_uuidYes
ports_exposesNo
git_repositoryNo
instant_deployNo
github_app_uuidNo
environment_nameNoEnvironment name (or pass environment_uuid)
environment_uuidNoEnvironment UUID (or pass environment_name)
private_key_uuidNo
docker_registry_image_tagNo
docker_registry_image_nameNo
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses that fields not valid for the chosen type are ignored, adding a useful behavioral detail beyond the annotations. Annotations already indicate readOnlyHint=false and destructiveHint=false, so the write nature is known. It does not discuss error cases or side effects, but the annotation coverage lowers the bar, making this a 3.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a dense paragraph but every sentence adds value, laying out type-specific requirements and the 'extra' field. It is long because the tool is complex, but it is efficiently packed and not verbose. A bulleted list would improve structure, so it earns a 4.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity and no output schema, the description is comprehensive: it explains all type variants, required fields, and behavior for invalid fields. It lacks a note about return values or error conditions, but for a create operation with this level of detail, it is largely complete, warranting a 4.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With only 21% schema description coverage, the description compensates well by explaining the 'type' enum in depth, the conditional requirements for each type, and the 'extra' field as a catch-all for unspecified Coolify fields. It covers most core parameters, though some like name, domains, and instant_deploy are only implicitly covered via 'extra', preventing a 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Create a new application.' with a specific verb and resource, and distinguishes itself from sibling create tools (createProject, createDatabase) by detailing application-specific source types like Git repos, Dockerfiles, and Docker images. This makes the tool's purpose unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear guidance on when to use each 'type' value and the required parameters for each, such as needing github_app_uuid for 'private-github-app' or docker_registry_image_name for 'dockerimage'. It also clarifies that environment_name or environment_uuid is sufficient. However, it does not explicitly exclude alternatives or say when not to use this tool, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

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/frndchagas/coolify-mcp'

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