Skip to main content
Glama

šŸš€ MCP DS Toolkit Server

A standalone Model Context Protocol (MCP) server that brings complete DS capabilities to AI assistants like Claude Desktop and Cursor. Build, train, and track ML models through natural language - no external services required!

MCP Protocol Claude Desktop Cursor IDE

šŸŽÆ What is MCP DS Toolkit Server?

MCP DS Toolkit Server enables AI assistants to perform complete data science workflows through natural language. Simply talk to Claude or Cursor about what you want to do, and it handles the entire DS pipeline - from data loading to model training and evaluation.

Key Capabilities

āœ… 29 DS Tools - Complete DS workflow from data loading to model evaluation āœ… Natural Language Interface - Just describe what you want in plain English āœ… Zero Configuration - Works immediately after installation āœ… Local SQLite Tracking - No external databases or cloud services needed āœ… Cross-Platform - Works on macOS, Linux, and Windows āœ… AI Assistant Integration - Seamless with Claude Desktop and Cursor IDE

Related MCP server: Data Analytics MCP Toolkit

🌟 Why MCP DS Toolkit?

šŸŽÆ Transform Your AI Assistant into a Data Scientist

  • Natural Language DS: Just describe what you want - "Load the iris dataset and train a random forest classifier"

  • Complete Automation: Your AI assistant handles data preprocessing, model training, and evaluation

  • Intelligent Recommendations: Get suggestions for algorithms, hyperparameters, and preprocessing steps

  • Comprehensive Metrics: Detailed performance metrics, learning curves, and model comparisons

šŸ”¬ Enterprise-Ready Features

  • Production-Quality Code: Generated code follows best practices and is deployment-ready

  • Comprehensive Tracking: Every experiment, model, and metric is automatically tracked

  • Reproducible Workflows: All operations are logged and can be reproduced

  • Local-First Architecture: Your data never leaves your machine

šŸ“Š Complete Tool Suite

  • Data Management: Loading, validation, profiling, cleaning, preprocessing

  • Model Training: 14+ algorithms from scikit-learn with automatic hyperparameter tuning

  • Experiment Tracking: SQLite-based tracking with full experiment lineage

  • Performance Analysis: Learning curves, feature importance, and model comparisons

Note: Cloud storage capabilities (AWS S3, Google Cloud, Azure) are available as optional dependencies but not yet fully implemented. Current version focuses on local storage and processing.

šŸ“‹ Prerequisites

Install uvx (if not already installed)

This project uses uvx for easy Python package execution. If you don't have it installed:

macOS/Linux

# Install uv first (if not installed)
curl -LsSf https://astral.sh/uv/install.sh | sh

# uvx comes bundled with uv

Windows

# Install uv first (if not installed)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

# uvx comes bundled with uv

Alternative: Using pip

If you prefer not to use uvx, you can install directly with pip:

pip install mcp-ds-toolkit-server

Then use mcp-ds-toolkit-server as the command instead of uvx mcp-ds-toolkit-server in the configuration examples below.

⚔ Quick Start

Choose your preferred AI assistant:

šŸ¤– Claude Desktop

1. Install the Server (30 seconds)

# Using uvx (recommended)
uvx mcp-ds-toolkit-server

# Or using pip
pip install mcp-ds-toolkit-server

2. Configure Claude Desktop

Add to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json

Basic Configuration:

{
  "mcpServers": {
    "ds-toolkit": {
      "command": "uvx",
      "args": ["mcp-ds-toolkit-server"]
    }
  }
}

With Custom Data Directory:

{
  "mcpServers": {
    "ds-toolkit": {
      "command": "uvx",
      "args": [
        "mcp-ds-toolkit-server",
        "--mcp-dir",
        "/path/to/your/mcp-data"
      ]
    }
  }
}

Note: If you get uvx ENOENT errors, use the full path to uvx instead. Find it with which uvx and replace "command": "uvx" with "command": "/full/path/to/uvx". See troubleshooting section for details.

3. Restart Claude Desktop and Test

You: Load the iris dataset and train a random forest classifier
Claude: I'll help you load the iris dataset and train a random forest classifier...

šŸ“ Cursor IDE

1. Install the Server

# Using uvx (recommended)
uvx mcp-ds-toolkit-server

# Or using pip
pip install mcp-ds-toolkit-server

2. Configure Cursor

Create or edit the MCP configuration file:

Project-specific: .cursor/mcp.json (in your project root) Global: ~/.cursor/mcp.json (in your home directory)

Basic Configuration:

{
  "mcpServers": {
    "ds-toolkit": {
      "command": "uvx",
      "args": ["mcp-ds-toolkit-server"]
    }
  }
}

With Custom Data Directory:

{
  "mcpServers": {
    "ds-toolkit": {
      "command": "uvx",
      "args": [
        "mcp-ds-toolkit-server",
        "--mcp-dir",
        "/path/to/your/mcp-data"
      ]
    }
  }
}

Note: If you get uvx ENOENT errors, use the full path to uvx instead. Find it with which uvx and replace "command": "uvx" with "command": "/full/path/to/uvx". See troubleshooting section for details.

3. Restart Cursor and Test

Open Cursor's AI chat and try:

You: Profile my CSV dataset and show me the correlations
Cursor: I'll analyze your CSV dataset and generate a comprehensive profile...

🐳 Alternative Installation Methods

Development Installation (for contributors)

git clone https://github.com/Yasserelhaddar/MCP-DS-Toolkit-Server
cd mcp-ds-toolkit-server
uv sync

# Configure with local path
{
  "mcpServers": {
    "ds-toolkit": {
      "command": "uv",
      "args": ["--directory", "/path/to/mcp-ds-toolkit-server", "run", "mcp-ds-toolkit-server"]
    }
  }
}

šŸ› ļø Complete Tool Reference

šŸ“Š Data Management Tools (13 tools)

Tool

Description

Example Usage

load_dataset

Load data from CSV, JSON, Excel, sklearn datasets

"Load the iris dataset"

validate_dataset

Check data quality and integrity

"Validate my dataset for missing values"

profile_dataset

Generate comprehensive statistics

"Profile the dataset and show correlations"

preprocess_dataset

Apply scaling, encoding, feature selection

"Preprocess data with standard scaling"

clean_dataset

Handle missing values and outliers

"Clean the dataset and remove outliers"

split_dataset

Create train/test/validation splits

"Split data 80/20 for training"

list_datasets

Show all loaded datasets

"What datasets are available?"

get_dataset_info

Get detailed dataset information

"Show info about the sales dataset"

compare_datasets

Compare multiple datasets

"Compare train and test distributions"

batch_process_datasets

Process multiple datasets at once

"Apply same preprocessing to all datasets"

sample_dataset

Create dataset samples

"Sample 1000 rows from the dataset"

export_dataset

Export to various formats

"Export cleaned data to CSV"

remove_dataset

Remove dataset from memory

"Remove the temporary dataset"

clear_all_data

Clear all loaded data

"Clear all datasets from memory"

šŸ¤– Model Training Tools (6 tools)

Tool

Description

Example Usage

train_model

Train ML models with 14+ algorithms

"Train a random forest classifier"

evaluate_model

Evaluate model performance

"Evaluate the model on test data"

compare_models

Compare multiple models

"Compare RF, SVM, and XGBoost"

tune_hyperparameters

Optimize model parameters

"Tune hyperparameters using grid search"

get_model_info

Get model details and parameters

"Show model configuration"

list_algorithms

List available algorithms

"What algorithms can I use?"

šŸ“ˆ Experiment Tracking Tools (10 tools)

Tool

Description

Example Usage

create_experiment

Create new experiment

"Create experiment 'customer_churn_v1'"

start_run

Start tracking run

"Start a new training run"

log_params

Log hyperparameters

"Log the model parameters"

log_metrics

Log performance metrics

"Log accuracy and F1 score"

log_artifact

Save artifacts (plots, models)

"Save the confusion matrix plot"

end_run

Complete current run

"End the current run"

list_experiments

Show all experiments

"List all my experiments"

get_experiment

Get experiment details

"Show details of the latest experiment"

list_runs

List experiment runs

"Show all runs for this experiment"

compare_runs

Compare run metrics

"Compare the last 3 runs"

šŸ’¬ Example Prompts

šŸŽÆ Quick Start Examples

Basic Operations:
  "Load the iris dataset from sklearn"
  "Show me what datasets are currently loaded"
  "Profile my dataset and show key statistics"
  "Train a random forest classifier on the iris data"
  "Evaluate my model and show the confusion matrix"

Data Processing:
  "Load data.csv and check for missing values"
  "Clean the dataset by removing outliers using IQR method"
  "Preprocess the data with standard scaling and one-hot encoding"
  "Split my data into 70% train, 15% validation, 15% test"
  "Handle class imbalance in my dataset"

Model Training:
  "Train multiple models and compare their performance"
  "Perform 5-fold cross-validation on my model"
  "Tune hyperparameters for the random forest using grid search"
  "Show me the feature importance for the trained model"
  "Generate learning curves to check for overfitting"

Experiment Tracking:
  "Create an experiment called 'customer_churn_prediction'"
  "Start tracking this training run"
  "Log the model parameters and performance metrics"
  "Compare the last 5 training runs"
  "Show me all experiments from the past week"

šŸ”¬ Complete Workflow Example

Here's a real conversation showing an end-to-end ML pipeline:

You: Load the wine dataset from sklearn and give me a comprehensive profile

Claude: I'll load the wine dataset and provide you with a comprehensive profile...
[Loads dataset, generates statistics, correlations, and data quality report]

You: Clean the data and split it for training with 80/20 ratio

Claude: I'll clean the dataset and create train/test splits...
[Handles missing values, removes outliers, splits data]

You: Train and compare Random Forest, SVM, and Gradient Boosting classifiers

Claude: I'll train these three models and compare their performance...
[Trains models, evaluates each, provides comparison table]

You: The Random Forest looks best. Can you tune its hyperparameters?

Claude: I'll optimize the Random Forest hyperparameters using grid search...
[Performs grid search, shows best parameters and improved metrics]

You: Great! Create an experiment called "wine_classification" and log everything

Claude: I'll create the experiment and log all our work...
[Creates experiment, logs parameters, metrics, and artifacts]

You: Show me the learning curves and feature importance

Claude: I'll analyze the model's learning behavior and feature importance...
[Provides learning curve analysis and feature importance rankings]

šŸš€ Supported ML Algorithms

Classification Algorithms

  • Tree-Based: RandomForest, GradientBoosting, ExtraTrees, DecisionTree

  • Linear Models: LogisticRegression, RidgeClassifier, SGDClassifier

  • Support Vector: SVC (linear, rbf, poly kernels)

  • Neighbors: KNeighborsClassifier

  • Naive Bayes: GaussianNB, MultinomialNB, BernoulliNB

Regression Algorithms

  • Tree-Based: RandomForestRegressor, GradientBoostingRegressor, ExtraTreesRegressor

  • Linear Models: LinearRegression, Ridge, Lasso, ElasticNet

  • Support Vector: SVR (linear, rbf, poly kernels)

  • Neighbors: KNeighborsRegressor

šŸ—ļø Architecture

How It Works

graph LR
    A[AI Assistant<br/>Claude/Cursor] -->|Natural Language| B[MCP Protocol]
    B --> C[MCP DS Toolkit Server]
    C --> D[Data Tools]
    C --> E[Training Tools]
    C --> F[Tracking Tools]
    D --> G[Local Storage<br/>~/.mcp-ds-toolkit]
    E --> G
    F --> G

Storage Structure

~/.mcp-ds-toolkit/
ā”œā”€ā”€ experiments.db          # SQLite experiment tracking
ā”œā”€ā”€ artifacts/              # Plots, reports, outputs
│   └── {experiment_id}/
│       └── {run_id}/
ā”œā”€ā”€ models/                 # Saved ML models
ā”œā”€ā”€ datasets/               # Cached datasets
└── cache/                  # Temporary files

Technology Stack

  • Core: Python 3.12+, MCP Protocol, SQLite

  • ML Framework: scikit-learn, pandas, numpy

  • Data Processing: pandas, numpy, scipy

  • No External Dependencies: Everything runs locally

šŸ”§ Troubleshooting

Common Issues and Solutions

Server Not Starting

# Check Python version (requires 3.12+)
python --version

# Reinstall with verbose output
pip install --verbose mcp-ds-toolkit-server

# Check if the command is available
which mcp-ds-toolkit-server

uvx Command Not Found (ENOENT Error)

If you see errors like spawn uvx ENOENT in Claude Desktop logs, this means uvx is not in the system PATH that Claude Desktop can access.

Solution: Use the full path to uvx in your configuration:

  1. Find your uvx path:

    which uvx
    # Example output: /Users/username/.pyenv/shims/uvx
  2. Update your configuration with the full path:

    {
      "mcpServers": {
        "ds-toolkit": {
          "command": "/Users/username/.pyenv/shims/uvx",
          "args": ["mcp-ds-toolkit-server"]
        }
      }
    }

Why this happens: Claude Desktop runs with a limited PATH environment that may not include directories where uvx is installed (like ~/.pyenv/shims for pyenv users, ~/.local/bin, or other Python tool directories).

Claude/Cursor Not Finding Tools

  1. Check configuration file location:

    • Claude: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Cursor: .cursor/mcp.json or ~/.cursor/mcp.json

  2. Verify JSON syntax:

    {
      "mcpServers": {
        "ds-toolkit": {
          "command": "uvx",
          "args": ["mcp-ds-toolkit-server"]
        }
      }
    }
  3. Restart the application after configuration changes

Permission Errors

# Fix permissions for local storage
chmod -R 755 ~/.mcp-ds-toolkit

# If using pip install
pip install --user mcp-ds-toolkit-server

Memory Issues with Large Datasets

  • Use sample_dataset to work with smaller subsets

  • Clear unused datasets with remove_dataset or clear_all_data

  • Increase Python memory limit if needed

Getting Help

šŸ¤ Contributing

We welcome contributions! See CONTRIBUTING.md for guidelines.

Development Setup

git clone https://github.com/Yasserelhaddar/MCP-DS-Toolkit-Server
cd mcp-ds-toolkit-server
uv sync
uv run pytest

šŸ“„ License

MIT License - see LICENSE file for details.

šŸ™ Acknowledgments

Built on these excellent projects:


Transform your AI assistant into a complete Data Science toolkit!

Star on GitHub Install Now View Examples

Available Tools

30 tools
batch_process_datasetsB

Apply the same operation to multiple datasets

ParametersJSON Schema
NameRequiredDescriptionDefault
dataset_namesYesList of dataset names to process
operationYesOperation to apply to all datasets
operation_configNoConfiguration for the operation
output_prefixNoPrefix for output dataset namesbatch_

TDQS

B3.2/5.0
Behavior2/5

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

No annotations exist, so the description carries full burden. It does not disclose whether operations modify original datasets, error handling, or side effects like logging. The output_prefix parameter hints at new datasets but isn't explained.

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?

Single sentence is concise but may be too minimal for a tool with 4 parameters and nested object. Lacks structured details about behavior or output.

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

Completeness2/5

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

No output schema, yet description does not explain what the tool returns (e.g., success message, list of generated datasets). Also missing error handling or prerequisites. Incomplete for batch operation.

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?

All parameters have schema descriptions (100% coverage), so the description adds no new meaning beyond the schema. Baseline 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 clearly states the verb 'apply' and resource 'operation to multiple datasets', distinguishing it from sibling tools that operate on single datasets (e.g., clean_dataset, validate_dataset).

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 implies batching but does not explicitly guide when to use this tool versus calling single-dataset tools repeatedly or mention alternatives. No when-not-to-use conditions provided.

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

clean_datasetB

Clean dataset by handling missing values and outliers

ParametersJSON Schema
NameRequiredDescriptionDefault
dataset_nameYesName of the dataset to clean
missing_strategyNoStrategy for handling missing values (supports both full names and short aliases)
outlier_strategyNoStrategy for handling outlierscap
outlier_methodNoMethod for outlier detection (supports both full names and short aliases)iqr
missing_constant_valueNoValue to use when missing_strategy is fill_constant
missing_drop_thresholdNoProportion of missing values above which to drop columns/rows
missing_knn_neighborsNoNumber of neighbors for KNN imputation
missing_max_iterNoMaximum iterations for iterative imputation
missing_random_stateNoRandom seed for reproducible imputation
outlier_z_thresholdNoZ-score threshold for outlier detection
outlier_iqr_multiplierNoIQR multiplier for outlier detection
outlier_contaminationNoExpected contamination ratio for isolation forest and LOF
outlier_percentile_lowerNoLower percentile bound for percentile-based outlier detection
outlier_percentile_upperNoUpper percentile bound for percentile-based outlier detection
outlier_dbscan_epsNoDBSCAN epsilon parameter
outlier_dbscan_min_samplesNoDBSCAN minimum samples parameter
handle_missing_firstNoHandle missing values before outlier detection
preserve_originalNoPreserve original dataset alongside cleaned version
output_nameYesName for the cleaned dataset

TDQS

B3/5.0
Behavior2/5

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

With no annotations, the description fails to disclose behavioral traits such as whether the operation is destructive, if the original dataset is modified, or what side effects occur. This is a significant gap for a tool with 19 parameters and no output schema.

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 description is a single sentence, which is concise but lacks structure. It does not front-load key information or expand on the tool's purpose, making it too brief given the tool's complexity.

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

Completeness2/5

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

Given the tool's 19 parameters, lack of annotations, and no output schema, the description is severely incomplete. It provides no context on the cleaning process, expected output, or behavioral constraints, leaving the agent underinformed.

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?

The input schema has 100% description coverage, so the schema already documents all parameters. The tool description adds no extra semantic context beyond restating 'handling missing values and outliers', hence a 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 clearly states the tool's action (clean), resource (dataset), and specific scopes (missing values and outliers). This effectively distinguishes it from sibling tools like profile_dataset or validate_dataset, which serve different purposes.

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 provides no guidance on when to use this tool versus alternatives or when not to use it. It does not mention prerequisites, workflows, or exclusions, leaving the agent to infer usage context from the name alone.

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

clear_all_dataB

Clear all datasets and cached data from current session

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmYesConfirm you want to clear all data

TDQS

B3.3/5.0
Behavior2/5

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

No annotations exist, so the description must carry behavioral transparency. It identifies the operation as destructive but fails to warn about the consequences or mention the required 'confirm' parameter that gates the action.

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

Conciseness5/5

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

The description is extremely concise at one sentence with no wasted words, making it quick to parse.

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?

Given the simple schema and no output schema, the description is adequate but could be more complete by specifying what 'cached data' entails and the impact on the session.

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 coverage is 100% and provides a clear description for the 'confirm' parameter. The tool description does not add additional meaning beyond what the schema offers.

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 clearly states the action (clear), the target (all datasets and cached data), and scope (current session). It is specific and distinct from sibling tools like 'clean_dataset' or 'remove_dataset'.

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?

No guidance is provided on when to use this tool versus alternatives, nor when not to use it. There is no mention of prerequisites or the need for confirmation.

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

compare_datasetsC

Compare structure and statistics of two datasets

ParametersJSON Schema
NameRequiredDescriptionDefault
dataset1_nameYesName of the first dataset
dataset2_nameYesName of the second dataset
comparison_typeNoType of comparison to performfull
include_samplesNoInclude sample data in comparison

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are present, so the description carries the full burden. It indicates comparison but does not disclose whether the tool is read-only, has side effects, requires permissions, or any performance implications. The behavioral profile is largely opaque.

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 description is a single, clear sentence with no wasted words. It effectively communicates the core function. However, it could be slightly more informative without becoming verbose.

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

Completeness2/5

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

The description lacks details about output format, return values, or how to interpret results. Given the complexity of comparing datasets and the absence of an output schema, the description is incomplete. Sibling tools like get_dataset_info offer more context.

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?

The schema has 100% coverage, so the baseline is 3. The description adds no additional meaning beyond what the schema provides for parameters like comparison_type and include_samples. It does not clarify how parameters relate to the comparison process.

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 explicitly states the tool compares two datasets on structure and statistics. It distinguishes from sibling tools like compare_models by specifying datasets. However, it does not elaborate on what 'structure' or 'statistics' encompass specifically.

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?

No guidance is provided on when to use this tool versus siblings such as profile_dataset or get_dataset_info. There is no mention of prerequisites, alternatives, or when not to use it. The name implies dataset comparison, but explicit direction is lacking.

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

compare_modelsB

Compare multiple trained models on the same dataset with statistical significance testing

ParametersJSON Schema
NameRequiredDescriptionDefault
model_pathsYesDictionary mapping model names to file paths
dataset_nameNoName of the loaded dataset for model comparison
dataset_pathNoPath to the evaluation dataset file - alternative to dataset_name
target_columnYesName of the target/label column
cv_foldsNoNumber of cross-validation folds
enable_statistical_testsNoPerform statistical significance tests
significance_levelNoSignificance level for statistical tests
scoring_metricsNoList of scoring metrics for model comparison
generate_learning_curvesNoGenerate learning curves
learning_curve_train_sizesNoTraining sizes for learning curves
detailed_metricsNoCalculate detailed metrics and reports
save_resultsNoSave comparison results

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It only states the core function; it does not describe side effects, output format, or whether results are saved (though parameters hint at saving). The description adds little beyond the basic purpose.

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 description is a single, front-loaded sentence that efficiently conveys the main function. It is concise without unnecessary words, earning a high score, though a slightly expanded explanation could improve usefulness.

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

Completeness2/5

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

Given the complexity of 12 parameters and no output schema, the description is insufficient. It does not explain the return value, side effects, or how parameters like save_results and generate_learning_curves affect behavior. The tool's overall functionality is not fully described.

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?

Since schema coverage is 100%, the baseline is 3. The description itself adds minimal insight beyond the schema; for example, 'statistical significance testing' hints at some parameters but does not provide new meaning. The description does not compensate for low coverage because coverage is already high.

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 uses the specific verb 'compare' and identifies the resource as 'multiple trained models on the same dataset.' It adds the distinctive element of 'statistical significance testing,' which helps differentiate it from sibling tools like compare_datasets or compare_runs.

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 implies usage for comparing multiple models, but it does not explicitly state when to use this tool versus alternatives (e.g., evaluate_model for single models) or mention prerequisites like models must already be trained. No explicit when-not-to-use guidance is provided.

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

compare_runsC

Compare multiple runs

ParametersJSON Schema
NameRequiredDescriptionDefault
run_idsYesList of run IDs to compare
metricsNoSpecific metrics to compare (optional)

TDQS

C2.5/5.0
Behavior2/5

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

No annotations provided, and the description does not disclose behavioral traits like whether the operation is read-only, destructive, or requires authentication. It fails to clarify what 'compare' entails in terms of output or side effects.

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 description is extremely concise (two words) but lacks structure. While not verbose, it omits important information, making it insufficient for effective tool selection.

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

Completeness2/5

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

Given the absence of output schema and the presence of sibling tools, the description is incomplete. It does not explain the return value or how results are presented, nor does it differentiate from other comparison tools.

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 coverage is 100%, so the schema already documents both parameters. The description adds no additional meaning beyond the schema. Baseline score of 3 is appropriate.

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

Purpose3/5

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

The description 'Compare multiple runs' states the verb and resource but is too vague to distinguish from sibling tools like compare_datasets or compare_models. It lacks specificity on what aspect of runs is compared.

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?

No guidance on when to use this tool versus alternatives such as compare_datasets or compare_models. No context on prerequisites or limitations.

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

create_experimentB

Create a new experiment for organizing runs

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName of the experiment
descriptionNoOptional description of the experiment
tagsNoOptional tags as key-value pairs
artifact_locationNoOptional custom artifact location

TDQS

B3.2/5.0
Behavior2/5

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

No annotations exist, so the description carries full burden. It only states the action without disclosing side effects, persistence behavior, or any restrictions. For a creation operation, more transparency is needed.

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 description is a single, front-loaded phrase that efficiently conveys the core purpose. It is not verbose, though slightly more detail could be added without harming conciseness.

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?

With full schema coverage but no output schema, the description is minimal. Given the number of sibling tools and the simplicity of creation, it provides adequate but not rich context. Could mention return value or typical use case.

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 schema already documents all parameters. The description adds no extra meaning beyond what the schema provides. Baseline 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 clearly states the action 'Create' and the resource 'experiment', and adds context 'for organizing runs', distinguishing it from sibling tools like get_experiment or list_experiments.

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?

No guidance on when to use this tool vs alternatives, no prerequisites or exclusions provided. The description gives no context about when creating an experiment is appropriate.

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

end_runC

End the current run

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoStatus of the run completionFINISHED

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It only states 'End the current run' without disclosing behavioral traits such as whether ending is reversible, if logging stops, or if data is saved. It does not explain what 'end' entails.

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

Conciseness2/5

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

The description is a single sentence, which is concise but overly terse. It lacks structure and fails to convey essential information beyond the bare minimum.

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

Completeness2/5

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

Given that there is no output schema and the tool has only one parameter, the description should cover side effects, prerequisites, or post-conditions. It does not, making it incomplete for an agent to invoke correctly.

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 coverage is 100%, so the schema already documents the status parameter with its enum values and default. The description adds no additional meaning or context for the parameter, warranting the baseline score of 3.

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 'End the current run' clearly states the action (end) and resource (current run), distinguishing it from sibling tools like start_run and list_runs. It is specific and unambiguous, though extremely brief.

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?

No guidance is provided on when to use this tool versus alternatives, nor are there any prerequisites or conditions (e.g., only when a run is active). The description lacks context for proper usage.

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

evaluate_modelB

Evaluate a single trained model with comprehensive metrics and cross-validation

ParametersJSON Schema
NameRequiredDescriptionDefault
model_pathYesPath to the trained model file (.pkl)
dataset_nameNoName of the loaded dataset for evaluation
dataset_pathNoPath to the evaluation dataset file - alternative to dataset_name
target_columnYesName of the target/label column
cv_foldsNoNumber of cross-validation folds
enable_statistical_testsNoPerform statistical significance tests
significance_levelNoSignificance level for statistical tests
generate_learning_curvesNoGenerate learning curves
detailed_metricsNoCalculate detailed metrics and reports
scoring_metricsNoList of scoring metrics for evaluation
learning_curve_train_sizesNoTraining sizes for learning curves
save_resultsNoSave evaluation results

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations provided, the description must fully disclose behavioral traits. It mentions 'evaluate' and 'comprehensive metrics' but does not specify side effects (e.g., logging, saving, state changes) or whether the operation is read-only. The parameter 'save_results' hints at side effects, but it is not mentioned in the description.

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 description is a single, efficient sentence that conveys the core purpose. It could be slightly more structured (e.g., listing key features), but it is appropriately sized and front-loaded.

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

Completeness2/5

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

Given the tool's complexity (12 parameters, many with defaults, and no output schema), the description is insufficient. It does not explain what the return value or output includes, nor how to interpret the results. Sibling tools like 'compare_models' or 'get_model_info' suggest the need for clearer differentiation.

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 adds no additional meaning beyond the schema's parameter descriptions; it does not clarify which parameters are key or provide example values.

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 clearly states the verb 'evaluate', the resource 'a single trained model', and specifies 'comprehensive metrics and cross-validation', which distinguishes it from sibling tools like 'train_model' or 'compare_models'.

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 lacks any guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., a trained model must exist) or exclusions, leaving the agent to infer context from sibling names alone.

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

export_datasetC

Export dataset to file

ParametersJSON Schema
NameRequiredDescriptionDefault
dataset_nameYesName of the dataset to export
output_pathYesOutput file path
formatYesExport format
optionsNoExport options
persistence_modeNoHow to store exported data: memory_only (in-memory), filesystem (traditional files), hybrid (both)filesystem

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations, the description carries full burden for behavioral disclosure. It only states the operation without mentioning side effects (e.g., file overwriting, dataset immutability), performance considerations, or error handling.

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

Conciseness2/5

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

The description is extremely concise (4 words) but sacrifices essential information. It is under-specified and does not earn its place by being complete enough for an agent to use correctly.

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

Completeness1/5

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

Given 5 parameters (3 required), enums, nested objects, and no output schema, the description is severely incomplete. It fails to explain formats, options, or return behavior, leaving agents with inadequate guidance.

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?

Although schema coverage is 100%, the description adds no extra meaning beyond the parameter names and types. It omits explanations for 'options' and 'persistence_mode', which are not self-explanatory.

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 'Export dataset to file' clearly states the action (export) and the resource (dataset) with a target (file), distinguishing it from other dataset tools like load_dataset or remove_dataset. However, it lacks specificity about export formats or scope.

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?

No guidelines are provided on when to use this tool versus alternatives such as batch_process_datasets or clean_dataset. The description offers no context on prerequisites or use cases.

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

get_dataset_infoA

Get detailed information about a specific dataset

ParametersJSON Schema
NameRequiredDescriptionDefault
dataset_nameYesName of the dataset
include_sampleNoInclude sample data
sample_sizeNoNumber of sample rows to include

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description must convey behavioral traits. 'Get detailed information' implies a read-only, non-destructive operation, which is reasonable. However, it does not explicitly state that no modifications occur or address any potential side effects.

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 single-sentence description is concise and directly states the tool's purpose. It is front-loaded and efficiently communicates the core idea, though a bit more structure (e.g., listing key information returned) could enhance it.

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

Completeness2/5

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

Given no output schema and three parameters, the description lacks completeness. It does not specify what 'detailed information' includes (e.g., schema, statistics, metadata), leaving the agent uncertain about the return format. This is a significant gap for a retrieval tool.

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 coverage is 100%, with each parameter described in the schema. The description adds no additional meaning beyond what the schema already provides. Baseline score of 3 is appropriate since the schema does the heavy lifting.

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 clearly states the verb ('Get') and the resource ('detailed information about a specific dataset'). It distinguishes from siblings like list_datasets (listing multiple datasets) and profile_dataset (profiling), focusing on a single dataset's details.

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 provides no explicit guidance on when to use this tool versus alternatives (e.g., list_datasets for listing, profile_dataset for profiling). While the purpose is clear, lack of usage distinctions or prerequisites limits its helpfulness.

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

get_experimentB

Get details of a specific experiment

ParametersJSON Schema
NameRequiredDescriptionDefault
experiment_nameYesName of the experiment to retrieve

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description must convey behavior. It only says 'Get details' without specifying what details includes (e.g., all fields, nested objects), or whether it's read-only (implied but not explicit). No mention of permissions, rate limits, or side effects.

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 description is a single, front-loaded sentence that efficiently states the tool's purpose. It is concise but could be slightly expanded without loss of clarity.

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

Completeness2/5

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

Given no output schema, the description should hint at return structure. It does not mention what 'details' entails. Sibling tool differentiation is absent. For a simple get tool, more completeness is expected.

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 baseline is 3. The tool description does not add meaning beyond the schema's parameter description 'Name of the experiment to retrieve'.

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 'Get details of a specific experiment' clearly states the action (get) and resource (experiment details), distinguishing it from sibling tools like list_experiments or create_experiment.

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?

No guidance on when to use this tool vs alternatives. It does not mention that get_experiment is for retrieving a single experiment while list_experiments lists all, nor does it provide any prerequisites or exclusions.

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

get_model_infoC

Get detailed information about a trained model including metadata and performance

ParametersJSON Schema
NameRequiredDescriptionDefault
model_pathYesPath to the trained model file
include_feature_importanceNoInclude feature importance analysis

TDQS

C2.9/5.0
Behavior2/5

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

Without annotations, the description bears full responsibility for behavioral disclosure. It only states that the tool gets info, but does not mention that it is a read-only operation, whether it requires the model to be loaded, or any side effects. This omission is significant for a tool that accesses model internals.

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 description is concisely written in a single sentence without waste. However, it could be more informative while remaining concise, e.g., by noting that the output includes model architecture or training metrics.

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

Completeness2/5

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

Given the tool returns detailed information and has no output schema, the description should provide more context about the structure of the returned data. It is incomplete, leaving the agent guessing about the format or contents of the output.

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 coverage is 100%, so the schema already documents both parameters. The description adds no additional meaning beyond the schema, such as explaining what 'metadata' or 'performance' includes. Baseline is 3.

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 clearly states the tool retrieves detailed information about a trained model, including metadata and performance. It distinguishes itself from siblings like evaluate_model or compare_models through the specific verb 'get' and resource 'info', but does not explicitly differentiate.

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 provides no guidance on when to use this tool versus alternatives. It lacks context about prerequisites, such as requiring a trained model, or when to prefer this over get_dataset_info or list_runs.

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

list_algorithmsB

List all available machine learning algorithms with descriptions

ParametersJSON Schema
NameRequiredDescriptionDefault
model_typeNoFilter algorithms by model typeall

TDQS

B3.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It implies a safe read operation but does not explicitly state non-destructiveness or other behavioral traits. For a simple list operation, this is adequate but not enhanced.

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 description is a single concise sentence that efficiently conveys the core purpose. It is front-loaded but could be slightly improved by incorporating the filter option.

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?

Given no output schema and only one parameter, the description is adequate but incomplete. It does not clarify the return format or that the filter defaults to 'all', leaving some ambiguity for the agent.

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 coverage is 100% with a description for the model_type parameter. The tool description adds no further meaning beyond what the schema already provides, meeting the baseline expectation.

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 clearly states the tool lists machine learning algorithms with descriptions, using a specific verb and resource. It distinguishes from sibling tools like list_datasets and list_experiments, but misses mentioning the filtering capability via the model_type parameter.

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?

No guidance is provided on when to use this tool versus alternatives like get_model_info for detailed algorithm information. The description does not explain the optional filter parameter's role in narrowing results.

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

list_datasetsB

List all loaded datasets with their metadata

ParametersJSON Schema
NameRequiredDescriptionDefault
include_detailsNoInclude detailed information about each dataset

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations provided, the description does not disclose behavioral traits such as read-only nature, potential performance impact, or side effects. The word 'list' implies safety, but explicit disclosure is missing.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no unnecessary words. Every element earns its place.

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?

Given the tool's low complexity (one optional boolean parameter, no output schema), the description is minimally adequate, though it could benefit from clarifying what 'metadata' includes or the return format.

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 coverage is 100% as the single parameter is described in the schema. The description does not add any extra meaning beyond the schema's parameter description, so baseline 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 clearly states the verb 'List', resource 'datasets', and scope 'all loaded' with 'their metadata', effectively distinguishing it from sibling tools that operate on individual datasets or perform other actions.

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 provides no guidance on when to use this tool versus alternatives like get_dataset_info or profile_dataset. No exclusions or context about typical use cases are given.

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

list_experimentsC

List all experiments

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of experiments to return

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations and a terse description, the tool fails to disclose behavioral traits such as pagination, sorting, or limits. The existence of a 'limit' parameter is not mentioned, nor are any side effects or rate limits.

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 description is extremely concise at three words, with no fluff. However, it sacrifices informative content for brevity, missing key details that would aid agent decision-making.

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

Completeness2/5

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

For a simple listing tool, the description omits return format, pagination behavior, and error handling. Without an output schema or additional context, the agent lacks sufficient information to use the tool confidently.

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?

The input schema already fully describes the single 'limit' parameter (type, range, default). The description adds no additional meaning beyond the schema, meeting the baseline for high schema coverage.

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 'List all experiments' clearly states the action (list) and resource (experiments), distinguishing it from sibling tools like create_experiment or get_experiment. However, it lacks specificity about scope or filtering, which would elevate it to a 5.

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?

No guidance is provided on when to use this tool versus alternatives like get_experiment or list_runs. The description does not mention context, prerequisites, or scenarios where this tool is appropriate.

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

list_runsC

List runs from an experiment

ParametersJSON Schema
NameRequiredDescriptionDefault
experiment_nameYesName of the experiment
limitNoMaximum number of runs to return

TDQS

C2.9/5.0
Behavior2/5

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

Without annotations, the description carries the full burden. It only says 'list,' implying a read operation, but provides no details on default behavior (e.g., ordering, pagination, whether all runs are returned). This is insufficient for a tool with no annotations.

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 description is extremely concise at one sentence. It is appropriately front-loaded but could benefit from slightly more context without becoming verbose.

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 simple list tool with a clear schema, the description is minimally complete. However, given the large number of sibling tools, additional context about typical usage or result ordering would improve completeness.

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 coverage is 100% with descriptions for both parameters. The tool description adds no extra meaning beyond the schema, achieving the baseline score of 3.

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 clearly states the verb 'List' and resource 'runs', and the context 'from an experiment' distinguishes it from sibling tools like list_experiments. However, it lacks additional specificity about the scope or ordering.

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?

No guidance is provided on when to use this tool versus alternatives like list_experiments or compare_runs. There is no mention of prerequisites or context for selection.

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

load_datasetB

Load a dataset from various sources: uploaded files (full path), data directory (filename), URLs, or sklearn datasets

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceYesPath to dataset file (full path for uploaded files, filename for data directory), URL for remote datasets, or sklearn dataset name
formatYesDataset format
nameYesName to assign to the loaded dataset
optionsNoAdditional loading options

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations provided, the description must carry full behavioral disclosure. It does not mention side effects (e.g., overwriting existing data), permissions, size limits, or whether data is cached. The transparency is limited.

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?

Single sentence that front-loads the purpose with specific source types. No wasted words, though slightly more structure (e.g., bullet points) could improve readability.

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

Completeness2/5

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

Given no output schema, the description should explain return values or outcomes, but it does not. It also lacks details on error handling, validation, or assumptions for different source types. The description is too minimal for a tool with nested options and multiple sources.

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 coverage is 100%, so baseline is 3. The description adds context about source types and formats, but this mostly mirrors the schema. It provides a helpful summary but no deep elaboration beyond the schema.

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 clearly states the verb 'load' and resource 'dataset', and specifies multiple source types (uploaded files, data directory, URLs, sklearn datasets), distinguishing it from sibling tools that process, clean, or compare datasets.

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 implies usage by listing sources but does not explicitly state when to use this tool versus alternatives like batch_process_datasets or profile_dataset. It lacks guidance on prerequisites or exclusions.

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

log_artifactB

Log an artifact (file) to the current run

ParametersJSON Schema
NameRequiredDescriptionDefault
artifact_pathYesPath to the artifact file to log
artifact_nameNoOptional name for the artifact

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits like idempotency, file size limits, or whether it copies or moves the file. A simple 'log' implies mutation but lacks detail.

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?

One short sentence with no unnecessary words. However, it may be too minimal given the lack of other documentation, but still efficient.

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 simple tool with 2 parameters and no output schema, the description is bare minimum. It covers the basic action but omits workflow context like requiring an active run or artifact naming conventions.

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 coverage is 100%, and the description adds no extra meaning beyond the parameter names and types in the schema. Baseline 3 is appropriate as the schema already documents parameters.

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?

Description clearly states the verb (log), resource (artifact), and context (to the current run). It distinguishes from sibling tools like log_metrics or log_params, which log different types of data.

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 provides no guidance on when to use this tool, prerequisites (e.g., an active run), or when alternatives should be considered. Agent must infer usage context.

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

log_metricsC

Log metrics to the current run

ParametersJSON Schema
NameRequiredDescriptionDefault
metricsYesMetrics as key-value pairs
stepNoOptional step number for tracking metrics over time

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only states the action without disclosing side effects, prerequisites (e.g., whether a run must be started first), or behavior on multiple calls (append vs replace). This is insufficient for a mutation tool.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no redundant words. Every word serves a purpose, and it is appropriately concise for a simple tool.

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

Completeness2/5

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

Given the lack of annotations and output schema, the description should provide more context about return behavior, error conditions, and prerequisites. It does not mention the need for an active run or what happens when metrics are logged, making it incomplete for an agent to use confidently.

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%, with both 'metrics' and 'step' described adequately in the schema. The tool description adds no additional meaning beyond what the schema provides. Baseline is 3, and no extra value is added.

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 states 'Log metrics to the current run', which clearly specifies the action (log), the resource (metrics), and the context (current run). It distinguishes from siblings like log_params and log_artifact. However, it does not elaborate on the format or scope, leaving minor ambiguity.

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 provides no guidance on when to use this tool versus alternatives like log_params. It does not mention prerequisites (e.g., an active run) or exclusion criteria, leaving the agent to infer context from the sibling list.

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

log_paramsC

Log parameters to the current run

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYesParameters as key-value pairs

TDQS

C2.8/5.0
Behavior2/5

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

Without annotations, the description carries full burden but only states 'Log parameters to the current run' without explaining effects like overwriting, appending, or whether parameters are persisted across runs. No behavioral traits are disclosed.

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 description is very concise (6 words), but the brevity sacrifices informativeness. It is not front-loaded with critical details; it serves as a minimal label rather than a helpful explanation.

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

Completeness2/5

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

Given the tool's simplicity (1 param, no output schema), the description lacks completeness. It fails to mention that a run must be active, whether params are appended or replaced, or any side effects. Important context is missing.

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 coverage is 100% and describes 'params' as key-value pairs with acceptable types. The description adds no extra meaning beyond the schema, so it meets the baseline of 3 for high coverage.

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 clearly states the action ('Log') and resource ('parameters') with destination ('current run'), making the purpose identifiable. However, it does not explicitly differentiate from sibling tools like log_metrics or log_artifact, which could cause confusion.

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?

No guidance is provided on when to use this tool versus alternatives like log_metrics or log_artifact. There is no mention of prerequisites (e.g., must have an active run) or context for proper use.

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

preprocess_datasetC

Apply preprocessing transformations to dataset

ParametersJSON Schema
NameRequiredDescriptionDefault
dataset_nameYesName of the dataset to preprocess
target_columnNoTarget column name for supervised learning
preprocessing_configNoPreprocessing configuration
output_nameYesName for the preprocessed dataset

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must disclose behaviors. It states 'apply preprocessing transformations' but does not indicate whether the dataset is modified in-place, if a new dataset is created, or any side effects. The output_name parameter suggests a new dataset, but this is not stated.

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 description is a single, clear sentence (4 words), making it very concise. However, it lacks structure and could benefit from additional context without losing conciseness.

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

Completeness2/5

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

Given the tool's complexity (4 parameters, nested object, many enum options) and no output schema, the description is too minimal. It does not explain the overall preprocessing pipeline or return value, leaving significant gaps for effective use.

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 coverage is 100%, so the schema itself documents parameters. The description adds no extra semantics beyond what the schema already provides (e.g., no explanation of when to use specific scaling or encoding methods). Baseline score of 3 is appropriate.

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 clearly states the verb 'apply' and the resource 'preprocessing transformations to dataset', which distinguishes it from sibling tools like 'clean_dataset' and 'batch_process_datasets'. However, it could specify what types of transformations are included.

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?

No guidance on when to use this tool versus its many siblings (e.g., 'clean_dataset', 'validate_dataset'). The description does not mention prerequisites, alternatives, or context for selection.

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

profile_datasetB

Generate comprehensive data profile and statistics

ParametersJSON Schema
NameRequiredDescriptionDefault
dataset_nameYesName of the dataset to profile
include_correlationsNoInclude correlation analysis
include_distributionsNoInclude distribution analysis
correlation_thresholdNoCorrelation threshold for reporting

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are present, so the description carries full behavioral disclosure burden. It only states 'Generate comprehensive data profile and statistics', without explaining whether it's a read-only operation, computational cost, or any side effects. This is insufficient for transparency.

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 description is extremely concise (four words), with no redundant or unnecessary content. However, it is slightly under-specified for a profiling tool; a bit more detail would improve it without losing conciseness.

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

Completeness2/5

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

Given the complexity of profiling (with 4 parameters including correlation and distribution options), the description is too minimal. It does not describe output or behavior, and there is no output schema to compensate. Important context like the nature of statistics generated is missing.

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 parameters are well-documented in the schema. The description adds no additional meaning beyond the schema; thus 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 'Generate comprehensive data profile and statistics' clearly states a specific verb ('generate') and resource ('data profile and statistics'), distinguishing it from sibling tools like 'get_dataset_info' or 'sample_dataset'. It effectively communicates the tool's purpose.

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?

No usage guidelines are provided; the description does not indicate when to use this tool vs alternatives like 'get_dataset_info' or 'validate_dataset'. There is no when-to-use or when-not-to-use guidance.

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

remove_datasetA

Remove a dataset from memory and optionally delete files

ParametersJSON Schema
NameRequiredDescriptionDefault
dataset_nameYesName of the dataset to remove
delete_filesNoAlso delete the original data files

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 discloses that the tool removes the dataset from memory and can optionally delete files, but lacks details on side effects (e.g., irreversibility of file deletion), error behavior for nonexistent datasets, or impact on other tools. This is adequate but not thorough.

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

Conciseness5/5

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

The description is a single sentence with 10 words, directly front-loaded with the core action. Every word serves a purpose, with no extraneous information, making it highly efficient for an agent to parse.

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?

Given the tool's simplicity (2 parameters, no output schema, no annotations), the description covers the basic action but omission of conditions (e.g., dataset must exist, file deletion refers to original data files) and potential effects on other tools leaves it somewhat incomplete for an agent to anticipate outcomes.

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 coverage is 100%, providing clear parameter descriptions ('Name of the dataset to remove', 'Also delete the original data files'). The tool description essentially restates these points without adding new semantics, meeting the baseline but not exceeding it.

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 clearly states the tool removes a dataset from memory and optionally deletes files, specifying the verb 'remove' and the resource 'dataset'. It distinguishes from siblings like clear_all_data (which removes all datasets) and clean_dataset (which might clean data without removing).

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 provides no guidance on when to use this tool over alternatives like clean_dataset or clear_all_data. It does not specify prerequisites, such as whether the dataset must be loaded or if it is currently in use, leaving the agent without contextual decision support.

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

sample_datasetB

Create a sample from a dataset

ParametersJSON Schema
NameRequiredDescriptionDefault
dataset_nameYesName of the dataset to sample
sample_methodNoSampling methodrandom
sample_sizeNoSample size (as fraction if <1, as count if >=1)
target_columnNoTarget column for stratified sampling
output_nameYesName for the sampled dataset
random_stateNoRandom seed for reproducibility

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, so description bears full burden. It only says 'Create a sample' without disclosing side effects, safety, or whether the original dataset is modified.

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?

Single sentence is concise and front-loaded, but it could be slightly more informative without becoming verbose.

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

Completeness2/5

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

With 6 parameters (2 required) and no output schema or annotations, the description lacks context on output format, use cases, and impact on original data. Incomplete for the complexity.

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 coverage is 100% with detailed parameter descriptions. The description adds no extra meaning beyond the schema, meeting baseline for high coverage.

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?

Description clearly states 'Create a sample from a dataset' with a specific verb and resource, and distinguishes from sibling tools like split_dataset or profile_dataset.

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?

No explicit guidance on when to use versus alternatives like split_dataset or profile_dataset. Usage is implied but not clarified.

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

split_datasetC

Split dataset into train/validation/test sets

ParametersJSON Schema
NameRequiredDescriptionDefault
dataset_nameYesName of the dataset to split
split_methodYesMethod for splitting the dataset
test_sizeNoProportion of data for test set
val_sizeNoProportion of data for validation set (creates 70/20/10 split by default)
target_columnNoTarget column for stratified splitting
time_columnNoTime column for time-series splitting
group_columnNoGroup column for group-based splitting
random_stateNoRandom seed for reproducibility

TDQS

C2.9/5.0
Behavior2/5

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

Without annotations, the description carries the full burden but only states the action. It does not disclose whether the original dataset is modified or copied, or any side effects or return values.

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 description is a single concise sentence that front-loads the purpose. While efficient, it may be too terse given the tool's complexity with 8 parameters.

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

Completeness2/5

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

Given the tool's complexity (8 parameters, no output schema, no annotations), the description is insufficient. It does not explain split methods or parameter interplay, leaving the agent with gaps.

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 coverage is 100%, so the baseline is 3. The description adds no additional parameter context beyond the schema, which already describes each parameter.

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 clearly states the tool splits a dataset into train/validation/test sets, which distinguishes it from sibling tools like clean_dataset or preprocess_dataset. However, it could be more explicit about the splitting methods or whether it modifies the original dataset.

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?

No guidance is provided on when to use this tool versus alternatives, such as before training or after preprocessing. There are no prerequisites or exclusions mentioned.

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

start_runB

Start a new run within an experiment

ParametersJSON Schema
NameRequiredDescriptionDefault
experiment_nameYesName of the experiment to run in
run_nameNoOptional name for the run
descriptionNoOptional description of the run
tagsNoOptional tags as key-value pairs

TDQS

B3.1/5.0
Behavior2/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 not disclose if starting a run is a state change, if it creates a resource, any side effects, or required permissions. The description is too brief to convey behavioral traits beyond the obvious.

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 description is a single, clear sentence with no wasted words. It effectively communicates the primary action. However, it could be slightly more structured to include additional context without losing conciseness.

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

Completeness2/5

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

Given the tool's role in experiment lifecycle, the description is too minimal. It lacks details about what happens after starting, how to log data, or the relationship with 'end_run'. The presence of 4 parameters and no output schema or annotations makes this description insufficient for full context.

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?

The input schema has 100% description coverage for all 4 parameters, so the description adds no additional meaning. Baseline 3 is appropriate as the schema already explains the parameters adequately, though the description reinforces the role of 'experiment_name'.

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 uses a specific verb ('Start') and resource ('a new run') with a clear context ('within an experiment'). It distinguishes the tool from siblings like 'end_run' and 'create_experiment' by focusing on the run initiation action.

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?

No guidance is provided on when to use this tool vs alternatives, no prerequisites (e.g., experiment must exist), and no exclusions or context about its typical use case. The description lacks any 'when to use' or 'when not to use' information.

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

train_modelB

Train a machine learning model with configurable persistence (memory-only, filesystem, or hybrid storage)

ParametersJSON Schema
NameRequiredDescriptionDefault
dataset_nameNoName of the loaded dataset (use list_datasets to see available datasets)
dataset_pathNoPath to the dataset file (CSV, JSON, Parquet) - alternative to dataset_name
target_columnYesName of the target/label column
algorithmNoMachine learning algorithm to userandom_forest
model_typeNoType of machine learning problemauto
test_sizeNoProportion of data to use for testing
enable_tuningNoEnable hyperparameter tuning
cv_foldsNoNumber of cross-validation folds
random_stateNoRandom state for reproducibility
feature_columnsNoSpecific feature columns to use (optional)
output_nameNoName for the trained model (optional)
persistence_modeNoHow to store artifacts: memory_only (in-memory, MCP-friendly), filesystem (traditional files), hybrid (both)memory_only
validation_sizeNoProportion of training data to use for validation
stratifyNoUse stratified sampling for train/test split
tuning_methodNoHyperparameter tuning method (used when enable_tuning=true)grid_search
tuning_cvNoNumber of CV folds for hyperparameter tuning
tuning_scoringNoScoring metric for hyperparameter tuning (optional)
max_iterNoMaximum iterations for iterative algorithms
enable_cross_validationNoEnable cross-validation during training
scoring_metricsNoList of scoring metrics for evaluation
save_modelNoSave the trained model
save_metricsNoSave training metrics
save_predictionsNoSave model predictions

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It mentions persistence modes but omits critical details such as failure modes, computational cost, side effects on system state, or what the tool returns. The agent lacks insight into runtime behavior.

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 description is a single sentence that efficiently conveys the primary purpose and a key differentiator (persistence). It is front-loaded and contains no unnecessary words, though it could be slightly expanded to include essential usage context.

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

Completeness2/5

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

Given the complexity of the tool (23 parameters, no output schema), the description is insufficiently complete. It does not explain return values, error handling, or how the trained model can be used subsequently. The agent would need to rely solely on the schema, which lacks behavioral context.

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 adds no additional meaning beyond what the schema already provides for each parameter. While the schema is comprehensive, the description does not enhance understanding of parameter interactions or usage patterns.

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 clearly states the tool's purpose: training a machine learning model. It specifies a key differentiator—configurable persistence (memory-only, filesystem, or hybrid)—which distinguishes it from sibling tools like evaluate_model or tune_hyperparameters.

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 provides no explicit guidance on when to use this tool versus siblings. It does not mention prerequisites (e.g., a loaded dataset) or context-specific recommendations, leaving the agent to infer usage from the schema and tool name alone.

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

tune_hyperparametersB

Perform comprehensive hyperparameter tuning for a model with various search strategies

ParametersJSON Schema
NameRequiredDescriptionDefault
dataset_nameNoName of the loaded dataset for hyperparameter tuning
dataset_pathNoPath to the dataset file - alternative to dataset_name
target_columnYesName of the target/label column
algorithmYesMachine learning algorithm to tune
tuning_methodNoHyperparameter search methodgrid_search
cv_foldsNoNumber of cross-validation folds for tuning
scoringNoScoring metric for optimization (optional)
test_sizeNoProportion of data to hold out for final evaluation
custom_param_gridNoCustom parameter grid (optional)

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It only mentions 'perform comprehensive hyperparameter tuning' without detailing side effects, return values, or whether it modifies state (e.g., datasets, experiments). The behavioral traits required for safe invocation are largely missing.

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

Conciseness5/5

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

The description is a single sentence with no unnecessary words. It front-loads the primary purpose, making it immediately clear what the tool does. Every part is relevant and concise.

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

Completeness2/5

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

Given the complexity (9 parameters, no output schema, no annotations), the description is insufficient. It does not explain what happens after tuning (e.g., output, logging), how errors are handled, or what state changes occur. This leaves significant gaps for an AI agent to safely invoke the tool.

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 schema already documents all parameters. The description adds no additional meaning beyond the schema, such as relationships between parameters or usage patterns. Baseline 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 clearly states that the tool performs hyperparameter tuning for a model using various search strategies. It uses a specific verb ('tune') and resource ('hyperparameters'), and the purpose is distinct from sibling tools like 'train_model' and 'evaluate_model'.

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 implies that this tool should be used for hyperparameter tuning rather than model training, but it does not explicitly state when to use it vs alternatives or provide guidance on when not to use it. No context on prerequisites or configurations is given.

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

validate_datasetC

Validate dataset quality and check for issues

ParametersJSON Schema
NameRequiredDescriptionDefault
dataset_nameYesName of the dataset to validate
validation_rulesNoCustom validation rules

TDQS

C2.8/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It only says 'validate' and 'check for issues' without revealing side effects, read-only nature, required permissions, or specific behavioral details. This is insufficient for a tool that could potentially modify or lock datasets.

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?

Single sentence is concise but lacks structure and detail. It is front-loaded with the verb but could be more informative without becoming verbose.

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

Completeness2/5

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

Given the tool has a nested parameter and many sibling tools, the description is too sparse. It does not explain what validation issues are checked, the output format, or how it relates to similar tools. The absence of output schema increases the need for description clarity.

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%, with each parameter having a clear description. The tool description adds no extra meaning beyond the schema, so baseline of 3 is appropriate.

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?

Description clearly states it validates dataset quality and checks for issues, meeting the verb+resource criterion. However, it does not differentiate from sibling tools like profile_dataset or clean_dataset, which have overlapping purposes.

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?

No guidance on when to use this tool versus alternatives such as profile_dataset or clean_dataset. The description lacks any when-to-use or when-not-to-use context.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 30 tool updatesv0.3.0
    • First observedbatch_process_datasets
    • First observedclean_dataset
    • First observedclear_all_data
    • First observedcompare_datasets
    • First observedcompare_models
    • First observedcompare_runs
    • First observedcreate_experiment
    • First observedend_run
    • First observedevaluate_model
    • First observedexport_dataset
    • First observedget_dataset_info
    • First observedget_experiment
    • First observedget_model_info
    • First observedlist_algorithms
    • First observedlist_datasets
    • First observedlist_experiments
    • First observedlist_runs
    • First observedload_dataset
    • First observedlog_artifact
    • First observedlog_metrics
    • First observedlog_params
    • First observedpreprocess_dataset
    • First observedprofile_dataset
    • First observedremove_dataset
    • First observedsample_dataset
    • First observedsplit_dataset
    • First observedstart_run
    • First observedtrain_model
    • First observedtune_hyperparameters
    • First observedvalidate_dataset

TDQS

B3.1/5.0
Disambiguation4/5

Most tools have clearly distinct purposes, but 'compare_runs' is vague compared to more specific comparisons like 'compare_models' and 'compare_datasets', and 'preprocess_dataset' could overlap slightly with 'clean_dataset' and 'validate_dataset' though descriptions help differentiate.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with snake_case (e.g., clean_dataset, train_model, log_metrics), making the set predictable and easy to navigate.

Tool Count3/5

With 30 tools, the set is on the heavy side but each tool addresses a specific aspect of data science workflows (data ops, modeling, experiment tracking). While some tools could be consolidated, the count is still reasonable for a comprehensive toolkit.

Completeness3/5

The tool set covers major lifecycle steps from data loading to model evaluation and experiment tracking, but lacks a delete_model tool and explicit feature engineering or data merging capabilities, leaving minor but notable gaps.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that enables AI agents to observe and interact with trackio experiment tracking, providing tools for managing ML experiments through natural language.
    3
    MIT
  • F
    license
    B
    quality
    D
    maintenance
    An MCP server that provides data visualization and machine learning tools, featuring automated intent-based pipeline routing for data cleaning and model training. It enables LLMs to process CSV or JSON data to generate visual charts, perform regressions, or execute clustering analysis.
    16
    -
  • A
    license
    A
    quality
    C
    maintenance
    An MCP server that enables AI assistants to query databases, execute SQL, and manage Metabase resources like dashboards, cards, and collections through natural language.
    22
    MIT
  • -
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that bridges AI assistants with SQL databases, enabling natural language querying across multiple database types with built-in optimization and security.
    3
    -

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/Yasserelhaddar/MCP-DS-Toolkit-Server'

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