Skip to main content
Glama

Split Features Target

split_features_target

Separates a dataset into feature (X) and target (y) datasets, registering both as new datasets while leaving the original unchanged.

Instructions

Separate a dataset into a features dataset (X) and a target dataset (y). Both are registered as new datasets; the original dataset is not changed. Args: dataset_id (str): ID of the dataset. target_column (str): Name of the target column. Returns: dict: IDs of the new features and target datasets and their columns.

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>",
      "target_column": "<target_column>"
    },
    "name": "split_features_target"
  }
}

Input Schema

NameRequiredDescriptionDefault
dataset_idYes
target_columnYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3/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, and it usefully discloses that the operation is non-destructive: new datasets are registered and the original is not changed. It still omits error behavior (missing or invalid target_column), whether the target column is dropped from X, and any permission or size constraints.

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?

Short and front-loaded: the core behavior appears in the first sentence, followed by a useful non-mutation note and a compact Args/Returns block. Nothing is padded, though the docstring scaffolding is slightly verbose for only two parameters.

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?

The Returns line partly covers what the tool yields (IDs of the new features and target datasets plus their columns), which matters because no output schema exists. However, it lacks detail on how to use those returned IDs with sibling tools and does not cover edge cases, so it is adequate but not complete for a transformation that creates new artifacts.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/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, but it only restates the parameter names with types ('dataset_id (str): ID of the dataset', 'target_column (str): Name of the target column'). It adds almost nothing an agent could not infer, such as how to obtain a valid dataset_id or whether the target may be non-numeric.

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?

States a specific verb and resource: 'Separate a dataset into a features dataset (X) and a target dataset (y).' This is unmistakable and different from data-manipulation siblings, though it never names a sibling (e.g., train_test_split or find_target_relationships) to contrast with.

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

Usage Guidelines2/5

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

The description explains what the tool does but gives no explicit guidance on when to choose it over alternatives such as train_test_split or find_target_relationships, nor any prerequisites (for example, whether the target column must already exist and be of a supported type). Usage is only implied by the operation itself.

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