Skip to main content
Glama
Teradata

Teradata MCP Server

Official
by Teradata

Qlty Rowswithmissingvalues

qlty_rowsWithMissingValues
Read-onlyIdempotent

Fetch actual data rows where a specified column is NULL or missing. Use when you need to see the records themselves, not a column summary.

Instructions

Retrieve the actual data rows where a specific column is NULL or missing. Returns the records themselves, not a column summary. Use when the user wants to SEE or FETCH the rows with missing values in a named column. Do NOT write a SQL query with base_readQuery for this — always use this tool when the request is about rows with null values. Do NOT use for a column-level summary of which columns have nulls — use qlty_missingValues for that.

Arguments: database_name - Name of the database (optional) table_name - Table name to analyze column_name - Column name to analyze for missing values 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 for missing values
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 for missing values"
    • 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_rowsWithMissingValuesArguments"
  4. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, so the safety profile is covered. The description adds useful behavioral context beyond annotations: it returns raw records rather than a summary, and it documents that persist=True materializes a volatile table and returns the table name. Minor details like row limits or pagination are not disclosed, but this is acceptable for a read-only fetch.

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 core guidance is well front-loaded and the do/don't usage sentences are efficient. However, the 'Arguments:' section essentially repeats the schema's parameter descriptions, which adds unnecessary length without earning its place. Overall, the description is helpful but not maximally concise.

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?

For a tool with only two required parameters and clear sibling differentiation, the description conveys the essential return behavior ('returns the records themselves') and the optional persist side effect. Even without an output schema, an agent has enough information to call the tool and interpret the result; pagination details would be a nice addition but are not critical here.

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%, and the argument list in the description mirrors the schema descriptions nearly verbatim. Therefore, the description adds no additional semantic meaning beyond what the input schema already provides, so the baseline score of 3 is appropriate.

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 a specific action: 'Retrieve the actual data rows where a specific column is NULL or missing.' It explicitly distinguishes itself from a column summary and even names the sibling tool qlty_missingValues, making its purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly states when to use this tool ('when the user wants to SEE or FETCH the rows'), provides a hard exclusion ('Do NOT write a SQL query with base_readQuery... always use this tool'), and routes column-level summaries to qlty_missingValues. This gives an agent complete decision guidance.

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