Skip to main content
Glama

Update a custom report

action1_update_report
Destructive

Update a custom report's name, description, filters, data sources, columns, and aliases by report ID; preview changes by default and require confirmation to execute.

Instructions

Update a custom report. Updates a custom report. You cannot changes a custom report's category. Perm: manage_reports.

Input Schema

NameRequiredDescriptionDefault
bodyNoRequest body (schema: ReportPayload)
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
report_idYesProvide a specific report ID.

Output Schema

NameRequiredDescriptionDefault
idNo
nameNo
selfNo
toolNo
typeNo
simpleNo
builtinNo
dry_runNo
alertableNo
filter_setNo
would_sendNo
descriptionNo
report_dataNo
data_sourcesNo
data_soursesNo
report_errorsNo
column_aliasesNo
simple_columnsNo
parent_categoryNo
summary_columnsNo
long_descriptionNo
drilldown_columnsNo
summary_customizableNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed27 schema fields changedv0.6.0
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • addedInput schema / properties / body / properties
      Added value: +{
      +  "column_aliases": {
      +    "description": "A list of column aliases.",
      +    "items": {
      +      "additionalProperties": {},
      +      "properties": {
      +        "data_source_id": {
      +          "description": "The ID of the data source for which the new column name is assigned.",
      +          "type": "string"
      +        },
      +        "new_name": {
      +          "description": "The new column name.",
      +          "type": "string"
      +        },
      +        "original_name": {
      +          "description": "The original column name for which the new name is assigned.",
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "type": "array"
      +  },
      +  "data_sources": {
      +    "description": "Only data source ID or self is sufficient for this method.",
      +    "items": {
      +      "type": "string"
      +    },
      +    "type": "array"
      +  },
      +  "description": {
      +    "description": "The custom report description.",
      +    "type": "string"
      +  },
      +  "drilldown_columns": {
      +    "description": "A list of drilldown report data output columns.",
      +    "items": {
      +      "additionalProperties": {},
      +      "properties": {
      +        "data_source_id": {
      +          "description": "The data source ID.",
      +          "type": "string"
      +        },
      +        "enabled": {
      +          "description": "Defines if a column is enabled.",
      +          "enum": [
      +            "yes",
      +            "no"
      +          ],
      +          "type": "string"
      +        },
      +        "name": {
      +          "description": "The column name.",
      +          "type": "string"
      +        },
      +        "sort": {
      +          "description": "Defines sorting settings.",
      +          "enum": [
      +            "ASC",
      +            "DESC",
      +            "none"
      +          ],
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "type": "array"
      +  },
      +  "filter_set": {
      +    "additionalProperties": {},
      +    "properties": {
      +      "filter_logic": {
      +        "description": "Expression to combine filters in the \"filters\" array.",
      +        "type": "string"
      +      },
      +      "filters": {
      +        "description": "An ordered list of filters to apply to a data source.",
      +        "items": {
      +          "additionalProperties": {},
      +          "propertyNames": {
      +            "type": "string"
      +          },
      +          "type": "object"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  "name": {
      +    "description": "The report title.",
      +    "type": "string"
      +  },
      +  "simple_columns": {
      +    "description": "A list of simple report data output columns.",
      +    "items": {
      +      "additionalProperties": {},
      +      "properties": {
      +        "data_source_id": {
      +          "description": "The data source ID.",
      +          "type": "string"
      +        },
      +        "enabled": {
      +          "description": "Defines if a column is enabled.",
      +          "enum": [
      +            "yes",
      +            "no"
      +          ],
      +          "type": "string"
      +        },
      +        "name": {
      +          "description": "The column name.",
      +          "type": "string"
      +        },
      +        "sort": {
      +          "description": "Defines sorting settings.",
      +          "enum": [
      +            "ASC",
      +            "DESC",
      +            "none"
      +          ],
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "type": "array"
      +  },
      +  "summary_columns": {
      +    "description": "A list of summary report data output columns.",
      +    "items": {
      +      "additionalProperties": {},
      +      "properties": {
      +        "data_source_id": {
      +          "description": "The data source ID.",
      +          "type": "string"
      +        },
      +        "enabled": {
      +          "description": "Defines if a column is enabled.",
      +          "enum": [
      +            "yes",
      +            "no"
      +          ],
      +          "type": "string"
      +        },
      +        "name": {
      +          "description": "The column name.",
      +          "type": "string"
      +        },
      +        "sort": {
      +          "description": "Defines sorting settings.",
      +          "enum": [
      +            "ASC",
      +            "DESC",
      +            "none"
      +          ],
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "type": "array"
      +  }
      +}
    • changedOutput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • changedOutput schema / additionalProperties
      Previous value: -trueNew value: +{}
    • addedOutput schema / properties / alertable
      Added value: +{}
    • addedOutput schema / properties / builtin
      Added value: +{}
    • addedOutput schema / properties / column_aliases
      Added value: +{}
    • addedOutput schema / properties / data_sources
      Added value: +{}
    • addedOutput schema / properties / data_sourses
      Added value: +{}
    • addedOutput schema / properties / description
      Added value: +{}
    • addedOutput schema / properties / drilldown_columns
      Added value: +{}
    • addedOutput schema / properties / dry_run
      Added value: +{}
    • addedOutput schema / properties / filter_set
      Added value: +{}
    • addedOutput schema / properties / id
      Added value: +{}
    • addedOutput schema / properties / long_description
      Added value: +{}
    • addedOutput schema / properties / name
      Added value: +{}
    • addedOutput schema / properties / parent_category
      Added value: +{}
    • addedOutput schema / properties / report_data
      Added value: +{}
    • addedOutput schema / properties / report_errors
      Added value: +{}
    • addedOutput schema / properties / self
      Added value: +{}
    • addedOutput schema / properties / simple
      Added value: +{}
    • addedOutput schema / properties / simple_columns
      Added value: +{}
    • addedOutput schema / properties / summary_columns
      Added value: +{}
    • addedOutput schema / properties / summary_customizable
      Added value: +{}
    • addedOutput schema / properties / tool
      Added value: +{}
    • addedOutput schema / properties / type
      Added value: +{}
    • addedOutput schema / properties / would_send
      Added value: +{}
  2. First observedv0.5.0

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, so the description is not required to carry the full safety burden. It does add value with the manage_reports permission requirement and the immutability of the category field, but it omits that this is a non-idempotent destructive write and says nothing about whether the body replaces the whole report or patches individual fields.

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

Conciseness2/5

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

The first two sentences are duplicates ('Update a custom report. Updates a custom report.'), wasting half the text, and there is a grammar error ('You cannot changes'). Front-loading is fine, but the content is not edited.

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 an output schema, full annotation coverage, and 100% schema coverage, most structured information is already present. However, for a destructive update the description should clarify update semantics (full replacement vs partial patch) and that dry_run/confirm gate execution by default, neither of which is stated.

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 the baseline is 3 and the schema already documents report_id, body fields, confirm, and dry_run. The description adds only one parameter-adjacent fact, that category is not updatable, which is helpful but marginal against the fully documented schema.

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

Purpose3/5

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

States the verb and resource ('Update a custom report'), which is clear enough in isolation, but the sentence is immediately repeated verbatim, signalling low information content. It gives no differentiation from sibling tools such as action1_create_report, action1_delete_report, or action1_get_report_or_category.

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?

There is no guidance on when to choose this tool over creating, deleting, or fetching a report. The only usable hints are the 'Perm: manage_reports' prerequisite and the note that category cannot be changed, which are constraints rather than usage direction.

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