Skip to main content
Glama
25andresbernal

semantic-model-kit

describe_metric

Get complete details for any metric, including SQL expression, filters, owner, synonyms, allowed dimensions, and non-additive constraints. Resolves unknown metric names by listing known metrics.

Instructions

Describe one metric in full detail.

Args: name: metric name, as returned by list_metrics, e.g. "revenue".

Returns description, SQL expression, filters applied, owner, synonyms, its time dimension (if any), any dimensions it is declared non_additive_over (grouping by these would produce a misleading result), and allowed_dimensions: every entity.field dimension reachable from the metric by exactly one unambiguous join, safe to pass to query_metric's by. Raises a tool error naming the known metrics if name does not exist.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden and does a good job: it warns that grouping by non_additive_over dimensions would produce misleading results, and it discloses the error behavior (raises a tool error naming known metrics if name does not exist). It does not explicitly say the operation is read-only, but 'describe' strongly implies it and no side effects are mentioned. This exceeds the baseline for a tool with zero annotations.

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 compact, front-loaded with the core purpose, and every sentence earns its place: the purpose, the parameter guidance, the return enumeration, the non_additive_over warning, and the error behavior. No fluff or repetition.

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 low complexity (one parameter), the presence of an output schema, and no annotations, the description is remarkably complete. It covers what the tool returns, where valid parameters come from, cross-references query_metric, discloses a subtle semantic trap (non_additive_over), and describes error handling. An agent can call this correctly without any further information.

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

Parameters4/5

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

Schema coverage is 0% and there is a single parameter, but the description adds exactly the needed semantics: name is 'metric name, as returned by list_metrics, e.g. "revenue"', plus the error case. It wisely avoids a static enum because metric names are dynamic, and instead tells the agent where to get valid values. This is a model of parameter explanation for an open-ended string.

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 begins with a specific verb+resource statement: 'Describe one metric in full detail.' It then enumerates the exact fields returned (SQL expression, filters, owner, synonyms, time dimension, non_additive_over, allowed_dimensions), which distinguishes it clearly from sibling tools like list_metrics (lists all metrics) and query_metric (queries data), not just from describe_entity.

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 gives practical usage guidance: the name parameter must come 'as returned by list_metrics', and allowed_dimensions are explicitly said to be 'safe to pass to query_metric's by'. This contextualizes the tool in an agent workflow. It does not explicitly state when to prefer this over describe_entity, but the metric-vs-entity distinction is self-evident from the name and opening sentence.

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