Skip to main content
Glama
Teradata

Teradata MCP Server

Official
by Teradata

Qlty Distinctcategories

qlty_distinctCategories
Read-onlyIdempotent

Retrieves distinct values in a specified column of a Teradata table to reveal categories or unique entries. Provide a table and column name to get the distinct list.

Instructions

Get the unique (distinct) values present in a specific column of a table. Use when the user asks what unique values, categories, or entries exist in a named column. Requires both a table name and a column name — if no column name is specified, ask for clarification before calling.

Arguments: database_name - Name of the database (optional) table_name - Table name to analyze column_name - Column name to analyze persist - If True, materializes result as a volatile table and returns table name

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
persistNoIf True, materializes result as a volatile table and returns table name
table_nameYesTable name to analyze
column_nameYesColumn name to analyze
database_nameNoName of the database (optional)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.0.1
    • changedInput schema / properties / database_name / description
      Previous value: -"Name of the database (optional, omit if table_name is fully qualified)"New value: +"Name of the database (optional)"
  2. Changed12 schema fields changedv0.2.1
    • addedInput schema / additionalProperties
      Added value: +false
    • addedInput schema / properties / column_name / description
      Added value: +"Column name to analyze"
    • removedInput schema / properties / column_name / title
      Removed value: -"Column Name"
    • removedInput schema / properties / database_name / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / database_name / default
      Added value: +""
    • addedInput schema / properties / database_name / description
      Added value: +"Name of the database (optional, omit if table_name is fully qualified)"
    • removedInput schema / properties / database_name / title
      Removed value: -"Database Name"
    • addedInput schema / properties / database_name / type
      Added value: +"string"
    • addedInput schema / properties / persist
      Added value: +{
      +  "default": false,
      +  "description": "If True, materializes result as a volatile table and returns table name",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / table_name / description
      Added value: +"Table name to analyze"
    • removedInput schema / properties / table_name / title
      Removed value: -"Table Name"
    • changedInput schema / required
      Previous value: -[
      -  "database_name",
      -  "table_name",
      -  "column_name"
      -]New value: +[
      +  "table_name",
      +  "column_name"
      +]
  3. Changed4 schema fields changedv1.0.0
    • removedInput schema / properties / col_name
      Removed value: -{
      -  "title": "Col Name",
      -  "type": "string"
      -}
    • addedInput schema / properties / column_name
      Added value: +{
      +  "title": "Column Name",
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "database_name",
      -  "table_name",
      -  "col_name"
      -]New value: +[
      +  "database_name",
      +  "table_name",
      +  "column_name"
      +]
    • removedInput schema / title
      Removed value: -"handle_qlty_distinctCategoriesArguments"
  4. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, lowering the burden. The description adds valuable behavior beyond that by explaining the persist flag: 'If True, materializes result as a volatile table and returns table name.' This clarifies a side-effect-like optional behavior without contradicting the read-only annotation.

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 opening purpose and usage guidance are concise and front-loaded, but the Arguments section duplicates the input schema verbatim for all four parameters. Since the schema already covers those definitions, that repetition reduces the efficiency of the description.

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

Completeness4/5

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

The description covers the key invocation details: operation, relevant user requests, required vs optional parameters, and the persist branch that returns a table name. With no output schema, it could more explicitly describe the default return format when persist is false, but the first sentence and title make the intended result clear enough.

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. The description's Arguments section largely repeats the schema's parameter descriptions and adds no new semantic detail beyond noting that database_name is optional and column_name is required, which is already reflected in the schema's required list.

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 opens with 'Get the unique (distinct) values present in a specific column of a table,' which states a clear verb, resource, and scope. It also differentiates the tool from siblings by tying it to user requests for 'unique values, categories, or entries' in a named column.

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?

It explicitly says 'Use when the user asks what unique values, categories, or entries exist in a named column' and clarifies that both table_name and column_name are required, telling the agent to ask for clarification if column_name is missing. It does not name alternative sibling tools, so it stops short of full exclusion guidance.

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