Skip to main content
Glama

coolify_update_database_storage

[WRITE] Update a persistent or file storage for a Coolify database (PATCH body includes storage uuid + type)

Instructions

[WRITE] Update a persistent or file storage for a Coolify database (PATCH body includes storage uuid + type)

Input Schema

NameRequiredDescriptionDefault
nameNoVolume name (persistent only)
typeYesStorage type: persistent volume or file mount
uuidYesUUID of the database
contentNoFile content (file only)
host_pathNoUnsupported by current Coolify; mount sources cannot be updated
mount_pathNoContainer mount path
storage_uuidYesUUID of the storage to update
is_preview_suffix_enabledNoAdd -pr-N suffix for preview deployments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv4.3.0
    • removedInput schema / properties / content / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / content / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedInput schema / properties / host_path / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / host_path / type
      Added value: +[
      +  "string",
      +  "null"
      +]
  2. Changed1 schema field changedv4.1.0
    • changedInput schema / properties / host_path / description
      Previous value: -"Host path (persistent only)"New value: +"Unsupported by current Coolify; mount sources cannot be updated"
  3. First observedv4.0.0

TDQS

B3.4/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 burden. It does add real value by tagging this as a mutation ('[WRITE]') and disclosing PATCH semantics, implying a partial rather than full replacement update. It says nothing about permissions, reversibility, or that unsupported fields (e.g. host_path) are ignored, which the schema mentions but the description does not.

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?

A single front-loaded sentence: mutation marker and action first, then the PATCH hint. Nothing wasted, though it is terse enough that some substance (which it could have carried) is absent.

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

Completeness3/5

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

With 8 parameters (3 required) and no annotations or output schema, the description leaves the agent to infer the return behavior and side effects. The rich schema compensates for the parameter side, but for a mutation tool with zero annotation coverage the description is only minimally sufficient.

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

Parameters3/5

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

Schema description coverage is 100%, so parameter meaning is already fully documented in the schema. The description only echoes that the body includes storage uuid + type, adding no format, default, or constraint detail beyond what the schema provides.

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?

Specific verb ('Update') plus resource ('storage for a Coolify database') and even the storage subtypes (persistent or file). It implicitly distinguishes itself from the sibling update_application_storage / update_service_storage by naming the database scope, though it never names those alternatives explicitly.

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?

Usage is only implied: 'Update' plus required uuid/storage_uuid makes it clear you must already have an existing storage record, and the separate create/delete siblings cover the other lifecycles. There is no explicit when-to-use vs when-not-to-use text and no prerequisites stated.

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