Skip to main content
Glama

coolify_update_database_backup

[WRITE] Update a database backup schedule configuration

Instructions

[WRITE] Update a database backup schedule configuration

Input Schema

NameRequiredDescriptionDefault
uuidYesUUID of the database
enabledNo
save_s3No
timeoutNo
dump_allNo
frequencyNoCron expression for the backup schedule
backup_uuidYesUUID of the scheduled backup
custom_fieldsNoAdditional fields not listed above (advanced)
s3_storage_uuidNoS3 storage UUID (required with save_s3)
databases_to_backupNo
missing_backup_notification_daysNoAlert after this many days without an execution; 0 disables alerts (Coolify v4.3.23)
database_backup_retention_days_s3No
database_backup_retention_amount_s3No
database_backup_retention_days_locallyNo
database_backup_retention_amount_locallyNo
database_backup_retention_max_storage_s3No
database_backup_retention_max_storage_locallyNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv4.3.0
    • removedInput schema / properties / databases_to_backup / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / databases_to_backup / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedInput schema / properties / s3_storage_uuid / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / s3_storage_uuid / type
      Added value: +[
      +  "string",
      +  "null"
      +]
  2. Changed17 schema fields changedv4.1.0
    • addedInput schema / properties / database_backup_retention_amount_locally
      Added value: +{
      +  "maximum": 9007199254740991,
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • addedInput schema / properties / database_backup_retention_amount_s3
      Added value: +{
      +  "maximum": 9007199254740991,
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • addedInput schema / properties / database_backup_retention_days_locally
      Added value: +{
      +  "maximum": 9007199254740991,
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • addedInput schema / properties / database_backup_retention_days_s3
      Added value: +{
      +  "maximum": 9007199254740991,
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • addedInput schema / properties / database_backup_retention_max_storage_locally
      Added value: +{
      +  "minimum": 0,
      +  "type": "number"
      +}
    • addedInput schema / properties / database_backup_retention_max_storage_s3
      Added value: +{
      +  "minimum": 0,
      +  "type": "number"
      +}
    • removedInput schema / properties / database_name_prefix
      Removed value: -{
      -  "description": "Prefix for backup database name",
      -  "type": "string"
      -}
    • addedInput schema / properties / databases_to_backup
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedInput schema / properties / dump_all
      Added value: +{
      +  "type": "boolean"
      +}
    • removedInput schema / properties / enabled / description
      Removed value: -"Enable or disable the backup schedule"
    • changedInput schema / properties / frequency / description
      Previous value: -"Cron frequency for backups"New value: +"Cron expression for the backup schedule"
    • addedInput schema / properties / frequency / minLength
      Added value: +1
    • addedInput schema / properties / missing_backup_notification_days
      Added value: +{
      +  "description": "Alert after this many days without an execution; 0 disables alerts (Coolify v4.3.23)",
      +  "maximum": 365,
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • removedInput schema / properties / s3_storage_id
      Removed value: -{
      -  "description": "S3 storage ID for remote backups",
      -  "maximum": 9007199254740991,
      -  "minimum": -9007199254740991,
      -  "type": "integer"
      -}
    • addedInput schema / properties / s3_storage_uuid
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "S3 storage UUID (required with save_s3)"
      +}
    • addedInput schema / properties / save_s3
      Added value: +{
      +  "type": "boolean"
      +}
    • addedInput schema / properties / timeout
      Added value: +{
      +  "maximum": 36000,
      +  "minimum": 60,
      +  "type": "integer"
      +}
  3. First observedv4.0.0

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It correctly labels the operation as "[WRITE]" and "Update," but does not disclose side effects, whether updates are partial or full replacements, permission requirements, or what happens to omitted fields.

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 single front-loaded sentence with no wasted language, and the "[WRITE]" marker is useful. However, it is arguably too terse for a 17-parameter update operation, so it is not maximally appropriate.

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

Completeness2/5

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

Given the tool's complexity, absence of annotations, no output schema, and many undocumented parameters, the description is incomplete. It identifies the mutation and target resource but omits update semantics, prerequisites, and enough behavioral context for safe invocation.

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

Parameters1/5

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

The tool has 17 parameters and only 35% schema description coverage, so the description should compensate but provides no parameter-level meaning. Fields such as enabled, save_s3, timeout, dump_all, retention settings, and databases_to_backup are left entirely to the schema, which itself documents many of them poorly.

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

Purpose4/5

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

The description uses a specific verb ("Update") and resource ("database backup schedule configuration"), making the operation clear. It does not explicitly distinguish this from nearby siblings such as set_database_storage_backup or update_database_storage, but the resource scope is still clear.

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

Usage Guidelines2/5

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

The description gives no when-to-use guidance, prerequisites, or alternatives. It does not say whether this should be used instead of set_database_storage_backup, update_database_storage, or create_database_backup.

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

Deploy Server

Other Tools