Skip to main content
Glama

run_dax_regression

Validate DAX query outputs against baseline files to detect regressions and enforce tolerance thresholds in CI/CD pipelines.

Instructions

Run DAX queries against a baseline and assert regression tolerance.

Use this tool when the user asks to:

  • Verify that measures or models return consistent results across changes.

  • Compare live DAX calculation outputs against a golden baseline file.

  • Check numerical tolerances on calculation outputs during CI/CD.

Args: baseline_path: Path to the JSON baseline file containing expected results. queries_json: Optional list or JSON string of DAX queries to execute. tolerance_pct: Maximum allowed percentage difference between actual and expected numeric values (default: 0.1%). query_executor: Optional custom query execution callable.

Returns: Dict containing diff summary, passed/failed queries, and variance details.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queries_jsonNo[]
baseline_pathYes
tolerance_pctNo
query_executorNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.11.0
    • removedInput schema / properties / queries_json / type
      Removed value: -"string"
  2. First observedv0.1.0

TDQS

A4.3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses that the tool compares outputs against a baseline and returns a diff summary, passed/failed queries, and variance details. However, it does not explicitly state side-effect behavior, file-write semantics, permission requirements, or whether it is strictly read-only, leaving some behavioral gaps.

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 front-loaded with purpose and usage, then follows a clean Args/Returns structure. The Returns section is somewhat redundant because an output schema exists, but otherwise the text is efficient and well-organized.

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

Completeness5/5

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

Given the tool's complexity, 0% schema coverage, and no annotations, the description is complete enough for an agent to invoke it correctly. It covers purpose, usage conditions, all parameter meanings, and return content, and the output schema provides additional return structure.

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?

Schema description coverage is 0%, so the description must fully compensate. It does: each of the four parameters is given clear semantics, including that baseline_path points to a JSON baseline, queries_json is an optional list or JSON string, tolerance_pct is a percentage with default 0.1%, and query_executor is an optional custom callable.

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 states a specific verb and resource ('Run DAX queries against a baseline and assert regression tolerance') and clearly scopes the operation to regression testing, distinguishing it from the sibling execute_dax_query. An agent can immediately tell this tool validates consistency rather than simply running queries.

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

Usage Guidelines4/5

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

The description provides an explicit 'Use this tool when the user asks to' section with three concrete conditions: verifying consistency across changes, comparing live outputs against a golden baseline, and checking numerical tolerances during CI/CD. It lacks explicit when-not-to-use guidance or direct naming of alternatives like execute_dax_query.

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