Skip to main content
Glama

coolify_create_database_backup

[WRITE] Create a database backup schedule (frequency required). Set backup_now=true to also run it immediately.

Instructions

[WRITE] Create a database backup schedule (frequency required). Set backup_now=true to also run it immediately.

Input Schema

NameRequiredDescriptionDefault
uuidYesUUID of the database
enabledNo
save_s3No
timeoutNo
dump_allNo
frequencyYesCron expression, e.g. 0 2 * * *
backup_nowNoRun the backup immediately as well as scheduling it
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. Changed16 schema fields changedv4.1.0
    • addedInput schema / properties / backup_now
      Added value: +{
      +  "description": "Run the backup immediately as well as scheduling it",
      +  "type": "boolean"
      +}
    • 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"
      +}
    • addedInput schema / properties / databases_to_backup
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedInput schema / properties / dump_all
      Added value: +{
      +  "type": "boolean"
      +}
    • addedInput schema / properties / enabled
      Added value: +{
      +  "type": "boolean"
      +}
    • addedInput schema / properties / frequency
      Added value: +{
      +  "description": "Cron expression, e.g. 0 2 * * *",
      +  "minLength": 1,
      +  "type": "string"
      +}
    • 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"
      +}
    • 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"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "uuid"
      -]New value: +[
      +  "uuid",
      +  "frequency"
      +]
  3. First observedv4.0.0

TDQS

B3.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden; it does disclose that this is a write operation and that backup_now triggers an immediate execution in addition to scheduling. It omits permissions/auth requirements, what happens to an existing schedule, and any side effects of enabling S3 or retention options.

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?

Two sentences, mutation marker front-loaded, required parameter flagged, and the optional immediate-run behavior called out immediately after. Nothing is wasted.

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?

For a 16-parameter mutation with no annotations, 31% schema coverage and no output schema, the description covers only two fields and says nothing about return values, failure behavior, or how the many retention/S3 knobs interact. It is well short of what an agent needs to call this safely.

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

Parameters2/5

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

Schema coverage is only 31% across 16 parameters, so the description needs to compensate and does not. Its two hints (frequency is required, backup_now runs immediately) merely restate the schema's own field descriptions, while enabled, save_s3, timeout, dump_all, databases_to_backup and all six retention parameters remain undocumented anywhere.

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?

States a specific verb and resource ('Create a database backup schedule'), which separates it from the sibling update_database_backup, delete_database_backup and list_database_backups. It does not explicitly name those siblings, but the create-schedule framing is unambiguous.

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 '[WRITE]' tag and '(frequency required)' imply this is the mutation path for setting up a schedule, and backup_now is explained. However, it never says when to pick this over coolify_update_database_backup or how it relates to coolify_run_database_storage_backup, so the agent must infer the boundary.

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