dataframe-detective-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DDMCP_ROOT | No | Only files below this directory can be loaded (symlinks are resolved). | current directory |
| DDMCP_MAX_FILE_MB | No | Maximum file size in MB. | 50 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| load_datasetB | Load a CSV/TSV/Excel/JSON/Parquet file under the allowed root and keep it in memory. With clean_numbers=True, columns such as "1.234,50 €" or "12%" are converted to numbers. Returns the dataset name and its schema. |
| list_datasetsA | List the datasets currently loaded in memory. |
| unload_datasetC | Remove a dataset from memory. |
| describe_datasetC | Schema, dtypes, value ranges and first rows of a loaded dataset. |
| profile_datasetC | Rule-based findings: missing values, duplicates, outliers, strong correlations, skew, top/bottom categories. |
| query_datasetA | Run pandas code against a dataset in a restricted subprocess.
|
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Each tool has a fairly distinct role: load/unload/list manage dataset lifecycle, describe vs profile inspect content, and query runs arbitrary code. The main ambiguity is between describe_dataset and profile_dataset, which both summarize a dataset, though the descriptions differentiate schema/stats from rule-based findings.
All tools follow a strict verb_noun snake_case pattern (load_dataset, list_datasets, unload_dataset, describe_dataset, profile_dataset, query_dataset). The naming is predictable and the resource (dataset) is constant across tools.
Six tools is well-scoped for an in-memory dataframe analysis server. Each tool covers a distinct lifecycle or inspection action with no obvious redundancy or bloat.
The surface covers the full load/list/describe/profile/query/unload lifecycle and query_dataset acts as an escape hatch for arbitrary analysis. Minor gaps exist around exporting/saving results or persisting derived datasets, but core workflows are covered.