Skip to main content
Glama

update_resource

Update configuration fields of an existing Coolify resource—including deployment commands, domains, and health checks. Requires explicit confirmation and can trigger instant redeploy.

Instructions

Update configuration fields of an existing Coolify resource. FENCED: requires --allow-destructive and confirm:true (fields can rewrite deploy/start commands — a code-execution write). Pass the fields to change in fields (or fields_json); they are sent verbatim as the PATCH body. Applications commonly accept: name, description, domains (comma-separated URL list — NOT fqdn; dockercompose apps must use docker_compose_domains [{name, domain}] instead of domains), git_branch, build_pack, install_command, build_command, start_command, ports_exposes, base_directory, publish_directory, docker_registry_image_name, docker_registry_image_tag, pre_deployment_command, post_deployment_command, health_check_* settings, custom_docker_run_options, watch_paths. instant_deploy: true additionally queues an immediate redeploy after saving. Services accept only: name, description, instant_deploy, docker_compose_raw, connect_to_docker_network, urls [{name, url}], force_domain_override, is_container_label_escape_enabled.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
typeYes
uuidYesThe Coolify UUID of the resource.
fieldsNoResource fields to update, sent verbatim as the request body — any field the Coolify endpoint accepts is allowed.
confirmNoMust be true to confirm the update (destructive: code-execution write).
dry_runNoIf true, preview which fields would be updated without performing the action.
instanceNoCoolify instance name (omit for the default).
fields_jsonNoJSON-encoded alternative to `fields` (mutually exclusive) for clients whose strict schema handling strips free-form object contents.
Behavior5/5

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

With no annotations, the description carries full burden, and it excels: it discloses the destructive code-execution write, the need for confirm:true, that fields are sent verbatim as the PATCH body, and that instant_deploy queues an immediate redeploy. It also highlights type-specific constraints, providing a clear behavioral profile.

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 dense but well-structured: it starts with the critical warning, then explains field passing, then details per-type accepted fields. It is longer than ideal but every sentence adds value. The use of lists and parentheticals aids readability. Slight deduction for length, but it is appropriately sized for the tool's complexity.

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 (multiple resource types, 7 params, no output schema), the description covers a lot: usage, field lists, and type-specific rules. However, it omits guidance for databases (the third type) and does not mention what the response looks like or expected outcomes on success/failure. These gaps prevent a perfect score.

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

Parameters5/5

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

The schema covers 86% of parameters, but the description adds substantial meaning: it explains how `fields` works (verbatim PATCH body), the purpose of `fields_json` as an alternative for strict schema clients, and lists common field names with specifics (e.g., domains format, docker_compose_domains). This goes well beyond the schema's basic property descriptions.

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 purpose: 'Update configuration fields of an existing Coolify resource.' The verb 'update' and resource are specific, and it distinguishes from siblings like create_resource, delete_resource, and control_resource by focusing on configuration field updates. The resource types (applications, databases, services) are also noted.

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

Usage Guidelines5/5

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

Provides explicit when-to-use guidance: requires --allow-destructive and confirm:true, and explains the destructive nature (code-execution write). It also gives detailed field usage per resource type (applications vs services), clarifies common pitfalls (e.g., use docker_compose_domains instead of domains for dockercompose apps), and notes instant_deploy behavior. This is rich guidance beyond generic usage.

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

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