""" MCP tools for dataset discovery, inspection, and contrast validation. These tools give the LLM agent a structured way to: 1. Discover what datasets are registered (dataset_list_available) 2. Understand a dataset before loading it (dataset_describe) 3. Survey a loaded metadata file for usable grouping columns (dataset_list_valid_sample_groups) 4. Validate a DE contrast before running analysis (dataset_validate_contrast) Design rules ------------ - All dataset-specific knowledge lives in YAML manifests under src/datasets/manifests/. These tools read those manifests; they do not hard-code any dataset logic. - Workflow logic (group usability, contrast validation) lives in src/workflows/metadata_validation.py, not here. - All return values are JSON-serialisable dicts. - Tool docstrings are written for the LLM agent, not for human readers. They explain WHEN to call the tool and what to do next. """ # ruff: noqa: F401, F403 from ._base import * from ._base import ( _build_loading_plan, _classify_metadata_values, _col_semantics, _detect_intent, _flatten_single_column_summary, _load_metadata_df, _workflow_for_intent, ) from .catalog import * from .metadata import *