MCP DS Toolkit Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP DS Toolkit ServerLoad the iris dataset and train a random forest classifier"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
š 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!
šÆ 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 uvWindows
# Install uv first (if not installed)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# uvx comes bundled with uvAlternative: Using pip
If you prefer not to use uvx, you can install directly with pip:
pip install mcp-ds-toolkit-serverThen 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-server2. 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 ENOENTerrors, use the full path touvxinstead. Find it withwhich uvxand 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-server2. 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 ENOENTerrors, use the full path touvxinstead. Find it withwhich uvxand 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 data from CSV, JSON, Excel, sklearn datasets | "Load the iris dataset" |
| Check data quality and integrity | "Validate my dataset for missing values" |
| Generate comprehensive statistics | "Profile the dataset and show correlations" |
| Apply scaling, encoding, feature selection | "Preprocess data with standard scaling" |
| Handle missing values and outliers | "Clean the dataset and remove outliers" |
| Create train/test/validation splits | "Split data 80/20 for training" |
| Show all loaded datasets | "What datasets are available?" |
| Get detailed dataset information | "Show info about the sales dataset" |
| Compare multiple datasets | "Compare train and test distributions" |
| Process multiple datasets at once | "Apply same preprocessing to all datasets" |
| Create dataset samples | "Sample 1000 rows from the dataset" |
| Export to various formats | "Export cleaned data to CSV" |
| Remove dataset from memory | "Remove the temporary dataset" |
| Clear all loaded data | "Clear all datasets from memory" |
š¤ Model Training Tools (6 tools)
Tool | Description | Example Usage |
| Train ML models with 14+ algorithms | "Train a random forest classifier" |
| Evaluate model performance | "Evaluate the model on test data" |
| Compare multiple models | "Compare RF, SVM, and XGBoost" |
| Optimize model parameters | "Tune hyperparameters using grid search" |
| Get model details and parameters | "Show model configuration" |
| List available algorithms | "What algorithms can I use?" |
š Experiment Tracking Tools (10 tools)
Tool | Description | Example Usage |
| Create new experiment | "Create experiment 'customer_churn_v1'" |
| Start tracking run | "Start a new training run" |
| Log hyperparameters | "Log the model parameters" |
| Log performance metrics | "Log accuracy and F1 score" |
| Save artifacts (plots, models) | "Save the confusion matrix plot" |
| Complete current run | "End the current run" |
| Show all experiments | "List all my experiments" |
| Get experiment details | "Show details of the latest experiment" |
| List experiment runs | "Show all runs for this experiment" |
| 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 --> GStorage 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 filesTechnology 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-serveruvx 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:
Find your uvx path:
which uvx # Example output: /Users/username/.pyenv/shims/uvxUpdate 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
Check configuration file location:
Claude:
~/Library/Application Support/Claude/claude_desktop_config.jsonCursor:
.cursor/mcp.jsonor~/.cursor/mcp.json
Verify JSON syntax:
{ "mcpServers": { "ds-toolkit": { "command": "uvx", "args": ["mcp-ds-toolkit-server"] } } }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-serverMemory Issues with Large Datasets
Use
sample_datasetto work with smaller subsetsClear unused datasets with
remove_datasetorclear_all_dataIncrease Python memory limit if needed
Getting Help
Issues: Report bugs on GitHub Issues
š¤ 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:
Model Context Protocol by Anthropic
scikit-learn for ML algorithms
SQLite for local tracking
Transform your AI assistant into a complete Data Science toolkit!
Available Tools
30 toolsbatch_process_datasetsB
Apply the same operation to multiple datasets
| Name | Required | Description | Default |
|---|---|---|---|
| dataset_names | Yes | List of dataset names to process | |
| operation | Yes | Operation to apply to all datasets | |
| operation_config | No | Configuration for the operation | |
| output_prefix | No | Prefix for output dataset names | batch_ |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| dataset_name | Yes | Name of the dataset to clean | |
| missing_strategy | No | Strategy for handling missing values (supports both full names and short aliases) | |
| outlier_strategy | No | Strategy for handling outliers | cap |
| outlier_method | No | Method for outlier detection (supports both full names and short aliases) | iqr |
| missing_constant_value | No | Value to use when missing_strategy is fill_constant | |
| missing_drop_threshold | No | Proportion of missing values above which to drop columns/rows | |
| missing_knn_neighbors | No | Number of neighbors for KNN imputation | |
| missing_max_iter | No | Maximum iterations for iterative imputation | |
| missing_random_state | No | Random seed for reproducible imputation | |
| outlier_z_threshold | No | Z-score threshold for outlier detection | |
| outlier_iqr_multiplier | No | IQR multiplier for outlier detection | |
| outlier_contamination | No | Expected contamination ratio for isolation forest and LOF | |
| outlier_percentile_lower | No | Lower percentile bound for percentile-based outlier detection | |
| outlier_percentile_upper | No | Upper percentile bound for percentile-based outlier detection | |
| outlier_dbscan_eps | No | DBSCAN epsilon parameter | |
| outlier_dbscan_min_samples | No | DBSCAN minimum samples parameter | |
| handle_missing_first | No | Handle missing values before outlier detection | |
| preserve_original | No | Preserve original dataset alongside cleaned version | |
| output_name | Yes | Name for the cleaned dataset |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | Yes | Confirm you want to clear all data |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| dataset1_name | Yes | Name of the first dataset | |
| dataset2_name | Yes | Name of the second dataset | |
| comparison_type | No | Type of comparison to perform | full |
| include_samples | No | Include sample data in comparison |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| model_paths | Yes | Dictionary mapping model names to file paths | |
| dataset_name | No | Name of the loaded dataset for model comparison | |
| dataset_path | No | Path to the evaluation dataset file - alternative to dataset_name | |
| target_column | Yes | Name of the target/label column | |
| cv_folds | No | Number of cross-validation folds | |
| enable_statistical_tests | No | Perform statistical significance tests | |
| significance_level | No | Significance level for statistical tests | |
| scoring_metrics | No | List of scoring metrics for model comparison | |
| generate_learning_curves | No | Generate learning curves | |
| learning_curve_train_sizes | No | Training sizes for learning curves | |
| detailed_metrics | No | Calculate detailed metrics and reports | |
| save_results | No | Save comparison results |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| run_ids | Yes | List of run IDs to compare | |
| metrics | No | Specific metrics to compare (optional) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the experiment | |
| description | No | Optional description of the experiment | |
| tags | No | Optional tags as key-value pairs | |
| artifact_location | No | Optional custom artifact location |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Status of the run completion | FINISHED |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| model_path | Yes | Path to the trained model file (.pkl) | |
| dataset_name | No | Name of the loaded dataset for evaluation | |
| dataset_path | No | Path to the evaluation dataset file - alternative to dataset_name | |
| target_column | Yes | Name of the target/label column | |
| cv_folds | No | Number of cross-validation folds | |
| enable_statistical_tests | No | Perform statistical significance tests | |
| significance_level | No | Significance level for statistical tests | |
| generate_learning_curves | No | Generate learning curves | |
| detailed_metrics | No | Calculate detailed metrics and reports | |
| scoring_metrics | No | List of scoring metrics for evaluation | |
| learning_curve_train_sizes | No | Training sizes for learning curves | |
| save_results | No | Save evaluation results |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| dataset_name | Yes | Name of the dataset to export | |
| output_path | Yes | Output file path | |
| format | Yes | Export format | |
| options | No | Export options | |
| persistence_mode | No | How to store exported data: memory_only (in-memory), filesystem (traditional files), hybrid (both) | filesystem |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| dataset_name | Yes | Name of the dataset | |
| include_sample | No | Include sample data | |
| sample_size | No | Number of sample rows to include |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| experiment_name | Yes | Name of the experiment to retrieve |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| model_path | Yes | Path to the trained model file | |
| include_feature_importance | No | Include feature importance analysis |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| model_type | No | Filter algorithms by model type | all |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| include_details | No | Include detailed information about each dataset |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of experiments to return |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| experiment_name | Yes | Name of the experiment | |
| limit | No | Maximum number of runs to return |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| source | Yes | Path to dataset file (full path for uploaded files, filename for data directory), URL for remote datasets, or sklearn dataset name | |
| format | Yes | Dataset format | |
| name | Yes | Name to assign to the loaded dataset | |
| options | No | Additional loading options |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| artifact_path | Yes | Path to the artifact file to log | |
| artifact_name | No | Optional name for the artifact |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| metrics | Yes | Metrics as key-value pairs | |
| step | No | Optional step number for tracking metrics over time |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| params | Yes | Parameters as key-value pairs |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| dataset_name | Yes | Name of the dataset to preprocess | |
| target_column | No | Target column name for supervised learning | |
| preprocessing_config | No | Preprocessing configuration | |
| output_name | Yes | Name for the preprocessed dataset |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| dataset_name | Yes | Name of the dataset to profile | |
| include_correlations | No | Include correlation analysis | |
| include_distributions | No | Include distribution analysis | |
| correlation_threshold | No | Correlation threshold for reporting |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| dataset_name | Yes | Name of the dataset to remove | |
| delete_files | No | Also delete the original data files |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| dataset_name | Yes | Name of the dataset to sample | |
| sample_method | No | Sampling method | random |
| sample_size | No | Sample size (as fraction if <1, as count if >=1) | |
| target_column | No | Target column for stratified sampling | |
| output_name | Yes | Name for the sampled dataset | |
| random_state | No | Random seed for reproducibility |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| dataset_name | Yes | Name of the dataset to split | |
| split_method | Yes | Method for splitting the dataset | |
| test_size | No | Proportion of data for test set | |
| val_size | No | Proportion of data for validation set (creates 70/20/10 split by default) | |
| target_column | No | Target column for stratified splitting | |
| time_column | No | Time column for time-series splitting | |
| group_column | No | Group column for group-based splitting | |
| random_state | No | Random seed for reproducibility |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| experiment_name | Yes | Name of the experiment to run in | |
| run_name | No | Optional name for the run | |
| description | No | Optional description of the run | |
| tags | No | Optional tags as key-value pairs |
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| dataset_name | No | Name of the loaded dataset (use list_datasets to see available datasets) | |
| dataset_path | No | Path to the dataset file (CSV, JSON, Parquet) - alternative to dataset_name | |
| target_column | Yes | Name of the target/label column | |
| algorithm | No | Machine learning algorithm to use | random_forest |
| model_type | No | Type of machine learning problem | auto |
| test_size | No | Proportion of data to use for testing | |
| enable_tuning | No | Enable hyperparameter tuning | |
| cv_folds | No | Number of cross-validation folds | |
| random_state | No | Random state for reproducibility | |
| feature_columns | No | Specific feature columns to use (optional) | |
| output_name | No | Name for the trained model (optional) | |
| persistence_mode | No | How to store artifacts: memory_only (in-memory, MCP-friendly), filesystem (traditional files), hybrid (both) | memory_only |
| validation_size | No | Proportion of training data to use for validation | |
| stratify | No | Use stratified sampling for train/test split | |
| tuning_method | No | Hyperparameter tuning method (used when enable_tuning=true) | grid_search |
| tuning_cv | No | Number of CV folds for hyperparameter tuning | |
| tuning_scoring | No | Scoring metric for hyperparameter tuning (optional) | |
| max_iter | No | Maximum iterations for iterative algorithms | |
| enable_cross_validation | No | Enable cross-validation during training | |
| scoring_metrics | No | List of scoring metrics for evaluation | |
| save_model | No | Save the trained model | |
| save_metrics | No | Save training metrics | |
| save_predictions | No | Save model predictions |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| dataset_name | No | Name of the loaded dataset for hyperparameter tuning | |
| dataset_path | No | Path to the dataset file - alternative to dataset_name | |
| target_column | Yes | Name of the target/label column | |
| algorithm | Yes | Machine learning algorithm to tune | |
| tuning_method | No | Hyperparameter search method | grid_search |
| cv_folds | No | Number of cross-validation folds for tuning | |
| scoring | No | Scoring metric for optimization (optional) | |
| test_size | No | Proportion of data to hold out for final evaluation | |
| custom_param_grid | No | Custom parameter grid (optional) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| dataset_name | Yes | Name of the dataset to validate | |
| validation_rules | No | Custom validation rules |
TDQS
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.
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.
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.
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.
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.
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.
30 tool updates
v0.3.0- First observed
batch_process_datasets - First observed
clean_dataset - First observed
clear_all_data - First observed
compare_datasets - First observed
compare_models - First observed
compare_runs - First observed
create_experiment - First observed
end_run - First observed
evaluate_model - First observed
export_dataset - First observed
get_dataset_info - First observed
get_experiment - First observed
get_model_info - First observed
list_algorithms - First observed
list_datasets - First observed
list_experiments - First observed
list_runs - First observed
load_dataset - First observed
log_artifact - First observed
log_metrics - First observed
log_params - First observed
preprocess_dataset - First observed
profile_dataset - First observed
remove_dataset - First observed
sample_dataset - First observed
split_dataset - First observed
start_run - First observed
train_model - First observed
tune_hyperparameters - First observed
validate_dataset
TDQS
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.
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.
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.
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
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
MCP server for building and testing AI agents with multi-model experimentation and insights.
MCP server that lets AI assistants use all OneSchema features exposed via the public API.
- ZapierOAuthcom.zapier
Hosted MCP server connecting AI assistants to 9,000+ apps and 40,000+ actions via Zapier.
- mcpOAuthcom.gibsonai
GibsonAI MCP server: manage your databases with natural language
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceAn MCP server that enables AI agents to observe and interact with trackio experiment tracking, providing tools for managing ML experiments through natural language.3MIT
- FlicenseBqualityDmaintenanceAn 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-
- AlicenseAqualityCmaintenanceAn MCP server that enables AI assistants to query databases, execute SQL, and manage Metabase resources like dashboards, cards, and collections through natural language.22MIT
- -licenseNot gradedqualityCmaintenanceAn MCP server that bridges AI assistants with SQL databases, enabling natural language querying across multiple database types with built-in optimization and security.3-
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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