Skip to main content
Glama

Fill Missing Mode

fill_missing_mode

Fill missing categorical values with the column’s most frequent value, optionally targeting one column or processing all category columns.

Instructions

Replace missing category (text) values with the most frequent value of the column. Args: dataset_id (str): ID of the dataset. col_name (str, optional): Only this column is filled. If omitted, all category columns are processed. Returns: dict: how many values were filled in each column (columns with no values at all are skipped).

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "dataset_id": "<dataset_id>"
    },
    "name": "fill_missing_mode"
  }
}

Input Schema

NameRequiredDescriptionDefault
col_nameNo
dataset_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does disclose two real behaviors: columns with no values at all are skipped, and the return reports counts filled per column. What it does not disclose is whether the dataset is modified in place or a new dataset is returned, nor whether non-categorical columns are silently ignored when col_name points at one.

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

Conciseness4/5

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

The behavior statement is front-loaded in a single sentence, followed by a compact Args/Returns block that maps cleanly onto the schema. The docstring-style structure is slightly verbose but every line carries information; nothing is redundant.

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

Completeness3/5

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

For a two-parameter mutation tool with no annotations and no output schema, the description covers the return value (per-column fill counts) and the skip rule, which is meaningful. The main omission is mutation semantics (in-place versus returned dataset) and whether dtype constraints on col_name are enforced.

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 description coverage is 0%, so the description must compensate, and it does: dataset_id is identified as the dataset identifier and col_name is explained as an optional single-column scope with a defined default behavior (all category columns). That is meaning beyond the bare JSON types. Minor gap: no note on what happens if col_name refers to a non-categorical or nonexistent column.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb (replace), a specific target (missing category/text values), and names the exact imputation strategy (most frequent value of the column). This method-level detail implicitly distinguishes it from sibling imputers like fill_missing_mean and fill_missing_median, though none are named explicitly.

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

Usage Guidelines3/5

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

The description states the scoping rule clearly: col_name limits work to one column, and omitting it processes all category columns. That's useful context, but there is no explicit when-to-use guidance versus the mean/median fillers or drop_missing, so the agent must infer that 'category (text)' columns are the selection criterion.

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

Deploy Server

Other Tools