Skip to main content
Glama
Teradata

Teradata MCP Server

Official
by Teradata

qlty_distinctCategories

Extract unique values from a specified column in a Teradata database table to identify distinct categories for data analysis and quality assessment.

Instructions

Get the destinct categories from column in a table.

Arguments: database_name - name of the database table_name - table name to analyze column_name - column name to analyze

Returns: ResponseType: formatted response with query results + metadata

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
database_nameYes
table_nameYes
column_nameYes

Implementation Reference

  • Handler function that executes TD_CategoricalSummary to retrieve distinct categories for the specified column in a table, processes results, and returns formatted response with metadata.
    def handle_qlty_distinctCategories(
        conn: TeradataConnection,
        database_name: str | None,
        table_name: str,
        column_name: str,
        *args,
        **kwargs
    ):
        """
        Get the destinct categories from column in a table.
    
        Arguments:
          database_name - name of the database
          table_name - table name to analyze
          column_name - column name to analyze
    
        Returns:
          ResponseType: formatted response with query results + metadata
        """
        logger.debug(f"Tool: handle_qlty_distinctCategories: Args: table_name: {database_name}.{table_name}, column_name: {column_name}")
    
        if database_name is not None:
                table_name = f"{database_name}.{table_name}"
        with conn.cursor() as cur:
            rows = cur.execute(f"select * from TD_CategoricalSummary ( on {table_name} as InputTable using TargetColumns ('{column_name}')) as dt")
            data = rows_to_json(cur.description, rows.fetchall())
            metadata = {
                "tool_name": "qlty_distinctCategories",
                "database_name": database_name,
                "table_name": table_name,
                "column_name": column_name,
                "distinct_categories": len(data)
            }
            logger.debug(f"Tool: handle_qlty_distinctCategories: Metadata: {metadata}")
            return create_response(data, metadata)
  • ModuleLoader.MODULE_MAP defines the mapping for 'qlty' module, enabling dynamic loading of qlty tools including handle_qlty_distinctCategories.
    MODULE_MAP = {
        'bar': 'teradata_mcp_server.tools.bar',
        'base': 'teradata_mcp_server.tools.base',
        'chat': 'teradata_mcp_server.tools.chat',
        'dba': 'teradata_mcp_server.tools.dba',
        'fs': 'teradata_mcp_server.tools.fs',
        'qlty': 'teradata_mcp_server.tools.qlty',
        'rag': 'teradata_mcp_server.tools.rag',
        'sql_opt': 'teradata_mcp_server.tools.sql_opt',
        'sec': 'teradata_mcp_server.tools.sec',
        'tmpl': 'teradata_mcp_server.tools.tmpl',
        'plot': 'teradata_mcp_server.tools.plot',
        'tdvs': 'teradata_mcp_server.tools.tdvs'
    }
  • Exposes the qlty tools (including handle_qlty_distinctCategories) by importing from qlty_tools.py for use in module loading.
    from .qlty_resources import *
    from .qlty_tools import *

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Teradata/teradata-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server