Skip to main content
Glama

describe_dataset

Full schema for one topic: every column (name/type/role/unit/value range/null-meaning), the exact filters list with enum values (read this before query_dataset — it is the authoritative set of filter keys), the FK→dimension join shape (foreign_keys), example queries, usage, limitations, null semantics, tags, and schema_hash (for cache/drift detection). The top-level key_metric names the single headline column most answers want; each column carries key_metric_grain_contributor (a grain axis the key metric is only comparable within — pin or group by it) and metric_component (numerator/denominator of a rate/average metric). recommended_query gives the safe default query shape (key metric + filters to pin + required single-selects) plus a ranking recipe for top/bottom-N asks; filter_hints lists paired filters; non_additive lists columns whose rows overlap (never sum across them; a metric entry names metric columns never to add together) and value_implications values that imply another column's value; each categorical filter carries has_total / requires_single_value. Pass verbosity='schema' for a much smaller payload that drops the prose (description/usage/limitations/example queries/column descriptions) but keeps every field needed to compose a correct query — use it when you only need the filter keys and enums; prefer the default 'full' before reporting conclusions (the limitations prose carries the caveats). On an unknown topic returns a self-describing error listing available topics + a 'did you mean' hint. main_topic defaults to 'education'; pass 'census' for Census topics or 'immigration' for immigration topics.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
topicYes
verbosityNo'full' (default) or 'schema' (drops prose; keeps columns/filters/enums/key_metric/recommended_query).full
main_topicNoeducation

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so thoroughly. It discloses the unknown-topic error behavior, payload differences between 'full' and 'schema', default main_topic, and semantic hazards such as non_additive columns, value_implications, and has_total/requires_single_value. No annotation contradiction exists.

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

Conciseness3/5

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

The description is information-dense and front-loaded with the core purpose, but it is delivered as one long unbroken paragraph with many semicolon-separated clauses. Every piece of information earns its place, yet it would be much easier for an agent to scan with bullets or short sectioned sentences.

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 output schema exists and this is a metadata/read tool, the description is remarkably complete. It covers payload shape, verbosity behavior, error handling, default parameters, and important semantic warnings around aggregation. An agent has enough context to call this tool correctly and interpret its result.

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 only 33%, so the description must compensate. It adds meaning for verbosity ('full' vs 'schema' payload tradeoff), main_topic defaults and high-level routing to education/census/immigration, and topic failure behavior. It stops short of enumerating valid topic identifiers, but the self-describing error makes them discoverable.

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+resource: it returns the full schema for one topic. It enumerates the exact output components (columns, filters, foreign_keys, key_metric, recommended_query) and positions itself as the authoritative metadata endpoint to read before query_dataset, distinguishing it from data-returning siblings.

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 explicit sequencing guidance: 'read this before query_dataset' and prefers 'full' before reporting conclusions. It also says to use verbosity='schema' when only filter keys and enums are needed. However, it does not explicitly compare against describe_dimension, list_datasets, or search_datasets, so it lacks a full routing matrix.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources