MCP server for AI-augmented AutoML platform providing tools for preprocessing, feature engineering, and model training workflows
20 tools with significant structural gaps. All tools have descriptions (10-200 chars, mostly adequate), but input schemas are present but incomplete: most parameters lack type definitions or descriptions. Tool naming follows verb_noun convention (execute_, validate_, propose_, materialize_, register_, checkpoint_, list_, set_, profile_, detect_, reconcile_, commit_) which is good. However, 6 tools (validate_step_result, commit_transformation_step, list_checkpoints, list_project_datasets, detect_step_divergence, profile_active_dataset) have empty or near-empty input schemas with no parameters documented. Output schemas are not documented anywhere. Error handling and recovery guidance are absent. No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Composition is reasonable, tools chain logically (propose → materialize → execute → validate → register), but missing output field documentation breaks downstream chaining.
create a checkpoint of the current dataset state
snapshot the current feature set and persist it.
commit a validated transformation step to the run
detect when notebook cells have diverged from their recorded state in the run
run the materialized feature code in Docker and persist actual execution results. Falls back to LLM-reported results only when Docker is unavailable.
execute a transformation step in notebook cells and record the result
list all checkpoints for the current run
list all datasets in the project
Six tools have empty or near-empty input schemas (list_project_datasets, list_checkpoints, validate_step_result, commit_transformation_step, detect_step_divergence, profile_active_dataset).
Output schemas are not documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., featureId, stepId) for chaining. Agents will fail to compose tools.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | 2026-07-28+ | v2 |
attach executable Python code to a proposed feature. Persists the code and updates the feature status when a run is available.
attach executable code to a proposed transformation step
profile the active dataset to understand its structure and statistics
declare a feature intent with rationale, method, and parameters. Persists the proposal as a FeatureStepRecord when a run is available.
propose a new data transformation step with title, rationale, and intent type
reconcile a diverged step by absorbing edits or creating a linked step
register a derived dataset in the project
commit a validated feature to the pipeline registry. Persists registration status when a run is available.
restore or replay a checkpoint to a target dataset
set the active dataset for the preprocessing run
check null rate, correlation, leakage risk, and distribution. Persists validation metrics when a run is available.
validate the results of a transformation step execution
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) present. Agents cannot distinguish safe reads from destructive writes. execute_feature, register_feature, checkpoint_feature_pipeline, set_active_dataset, checkpoint_dataset, register_derived_dataset, restore_checkpoint, reconcile_diverged_step, materialize_step_code, execute_transformation_step, commit_transformation_step should be marked destructive.
No error handling or recovery guidance. Tools lack descriptions of failure modes, retryability, or next steps. E.g., execute_feature may fail if Docker is unavailable, this should be documented with fallback guidance.
Parameter descriptions are present but often generic. E.g., 'featureId' is described as 'unique identifier for the feature', does not explain format, constraints, or how to obtain it. Descriptions should include format hints and dependency guidance.