Skip to main content
Glama

Update application

updateApplication
Idempotent

Update a Coolify application's configuration by UUID, setting common fields or passing extra app options validated against the OpenAPI schema.

Instructions

Update an application's configuration by UUID. Common fields are exposed; any other Coolify application field (install/build/start commands, health checks, resource limits, static flags, ...) can go in extra and is validated against the OpenAPI schema.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNo
uuidYes
extraNoAdditional Coolify application fields
domainsNo
build_packNo
git_branchNo
descriptionNo
ports_exposesNo
git_repositoryNo
instant_deployNo
docker_registry_image_tagNo
docker_registry_image_nameNo

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed55 schema fields changedv0.1.5
    • removedInput schema / properties / base_directory
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / build_command
      Removed value: -{
      -  "type": "string"
      -}
    • changedInput schema / properties / build_pack / enum
      Previous value: -[
      -  "nixpacks",
      -  "static",
      -  "dockerfile",
      -  "dockercompose"
      -]New value: +[
      +  "nixpacks",
      +  "railpack",
      +  "static",
      +  "dockerfile",
      +  "dockercompose"
      +]
    • removedInput schema / properties / connect_to_docker_network
      Removed value: -{
      -  "type": "boolean"
      -}
    • removedInput schema / properties / custom_docker_run_options
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / custom_labels
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / destination_uuid
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / docker_compose_custom_build_command
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / docker_compose_custom_start_command
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / docker_compose_domains
      Removed value: -{
      -  "items": {},
      -  "type": "array"
      -}
    • removedInput schema / properties / docker_compose_location
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / docker_compose_raw
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / dockerfile
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / environment_name
      Removed value: -{
      -  "type": "string"
      -}
    • addedInput schema / properties / extra
      Added value: +{
      +  "additionalProperties": {},
      +  "description": "Additional Coolify application fields",
      +  "propertyNames": {
      +    "type": "string"
      +  },
      +  "type": "object"
      +}
    • removedInput schema / properties / force_domain_override
      Removed value: -{
      -  "type": "boolean"
      -}
    • removedInput schema / properties / git_commit_sha
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / github_app_uuid
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / health_check_enabled
      Removed value: -{
      -  "type": "boolean"
      -}
    • removedInput schema / properties / health_check_host
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / health_check_interval
      Removed value: -{
      -  "maximum": 9007199254740991,
      -  "minimum": -9007199254740991,
      -  "type": "integer"
      -}
    • removedInput schema / properties / health_check_method
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / health_check_path
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / health_check_port
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / health_check_response_text
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / health_check_retries
      Removed value: -{
      -  "maximum": 9007199254740991,
      -  "minimum": -9007199254740991,
      -  "type": "integer"
      -}
    • removedInput schema / properties / health_check_return_code
      Removed value: -{
      -  "maximum": 9007199254740991,
      -  "minimum": -9007199254740991,
      -  "type": "integer"
      -}
    • removedInput schema / properties / health_check_scheme
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / health_check_start_period
      Removed value: -{
      -  "maximum": 9007199254740991,
      -  "minimum": -9007199254740991,
      -  "type": "integer"
      -}
    • removedInput schema / properties / health_check_timeout
      Removed value: -{
      -  "maximum": 9007199254740991,
      -  "minimum": -9007199254740991,
      -  "type": "integer"
      -}
    • removedInput schema / properties / install_command
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / is_static
      Removed value: -{
      -  "type": "boolean"
      -}
    • removedInput schema / properties / limits_cpu_shares
      Removed value: -{
      -  "maximum": 9007199254740991,
      -  "minimum": -9007199254740991,
      -  "type": "integer"
      -}
    • removedInput schema / properties / limits_cpus
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / limits_cpuset
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / limits_memory
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / limits_memory_reservation
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / limits_memory_swap
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / limits_memory_swappiness
      Removed value: -{
      -  "maximum": 9007199254740991,
      -  "minimum": -9007199254740991,
      -  "type": "integer"
      -}
    • removedInput schema / properties / manual_webhook_secret_bitbucket
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / manual_webhook_secret_gitea
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / manual_webhook_secret_github
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / manual_webhook_secret_gitlab
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / ports_mappings
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / post_deployment_command
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / post_deployment_command_container
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / pre_deployment_command
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / pre_deployment_command_container
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / project_uuid
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / publish_directory
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / redirect
      Removed value: -{
      -  "enum": [
      -    "www",
      -    "non-www",
      -    "both"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / server_uuid
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / start_command
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / use_build_server
      Removed value: -{
      -  "type": "boolean"
      -}
    • removedInput schema / properties / watch_paths
      Removed value: -{
      -  "type": "string"
      -}
  2. First observedv0.1.4

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already indicate readOnly=false, openWorld=true, idempotent=true, destructive=false. The description adds useful behavioral context: `extra` fields are validated against the OpenAPI schema, implying invalid fields will be rejected. It also clarifies the UUID-based targeting and the existence of fields beyond the common ones, which is beyond what annotations provide.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the core purpose, and then elaborates on the `extra` mechanism. No wasted words; every sentence provides necessary context.

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?

For an update tool with 12 parameters and no output schema, the description, combined with the schema and annotations, gives adequate context. It covers the key points: UUID identification, common vs. extra fields, and validation. The lack of an output schema lowers the burden, and there's no obvious missing information that would prevent correct use.

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 8% schema description coverage, the description compensates by explaining the structure: common fields are exposed directly, and any other Coolify field goes into `extra` with validation. This adds meaning to the `extra` parameter and clarifies the overall parameter strategy, even though individual field names are left self-explanatory.

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 clearly states the tool's function: 'Update an application's configuration by UUID.' It uses a specific verb (update) and resource (application's configuration), distinguishing it from sibling tools like createApplication, deleteApplication, and startApplication. The mention of 'common fields' and 'extra' further clarifies the scope.

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

Usage Guidelines3/5

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

The description implies usage context: it's for updating existing applications by UUID, and it explains how to handle common vs. extra fields. However, it doesn't explicitly state when to use this tool over alternatives (e.g., createApplication for new apps), and there are no exclusion criteria or alternative tool references.

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

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