Skip to main content
Glama

wellcheck.run_full_wellcheck

wellcheck_run_full_wellcheck
Read-only

Run a full health check across dashboards and data models to detect structural issues, widget count anomalies, and pivot field problems. Limit scope by specifying asset references to avoid slow SQL.

Instructions

Run a composite "full" wellcheck across dashboards and data models. This method is a convenience wrapper that orchestrates multiple dashboard-level and data-model-level checks and returns a structured report that groups their results. It additionally delegates unused-column analysis to AccessManagement.get_unused_columns_bulk when an AccessManagement instance is configured on this WellCheck (the default constructor configures one); otherwise the unused_columns section is an empty list and a warning is logged. Returns: dict A dictionary with two top-level sections: - "dashboards": { "structure": [...], "widget_counts": [...], "pivot_widget_fields": [...], } - "datamodels": { "custom_tables": [...], "island_tables": [...], … Can be slow: the m2m check runs real aggregate SQL. Scope it with the dashboards/datamodels parameters whenever the user named specific assets.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dashboardsNoOne or more dashboard references to analyze. Each reference can be: - a Sisense dashboard ID, or - a dashboard title (name). At runtime this parameter is tolerant of a single string and will normalize it to a one-element list.
datamodelsNoOne or more data model references to analyze. Each reference can be: - a data model ID, or - a data model title (name). At runtime this parameter is tolerant of a single string and will normalize it to a one-element list.
max_pivot_fieldsNoThreshold used by the pivot-fields check. Any pivot widget with more than this number of fields is flagged.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.2

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the readOnlyHint/destructiveHint annotations, the description discloses meaningful runtime behavior: the tool can be slow, the m2m check executes real SQL, unused-column analysis is conditionally delegated to AccessManagement.get_unused_columns_bulk, and the default constructor configures AccessManagement with a fallback empty list and warning. This is substantial behavioral context.

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?

The description is information-dense but well-organized: purpose first, then behavior, then return shape, then a practical performance caveat at the end. Every sentence adds value, especially given there is no output schema.

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?

For a composite tool with no output schema, the description provides sufficient context: what it does, how it behaves conditionally, what the return structure looks like, and when scoping is needed. The schema covers the optional parameters, and annotations cover the read-only safety profile.

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 schema already fully documents the parameters' meaning, formats, and normalization behavior. The description only reinforces scoping via the dashboards/datamodels parameters without adding new semantic detail beyond the schema.

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 clearly states a specific verb ('Run a composite full wellcheck') and a resource ('across dashboards and data models'). It distinguishes itself from sibling getter tools by framing it as an orchestration wrapper that groups multiple checks into one structured report.

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 concrete guidance on scoping: 'Scope it with the dashboards/datamodels parameters whenever the user named specific assets.' It also warns about slowness due to real aggregate SQL. It does not explicitly name alternative sibling tools, so it falls just short of full when-to-use versus alternatives guidance.

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