Skip to main content
Glama
Giorgio089

dataframe-detective-mcp

by Giorgio089

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
DDMCP_ROOTNoOnly files below this directory can be loaded (symlinks are resolved).current directory
DDMCP_MAX_FILE_MBNoMaximum 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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
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.

df, pd and np are preloaded. Do not import anything. Put the answer, as a string, in a variable called result. Use f-strings (str.format is blocked). Example: result = df.groupby('channel')['revenue'].sum().sort_values(ascending=False).head(5).to_string()

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.3/5.0

Scored across 6 tools

Disambiguation4/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness4/5

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.

Maintenance

ActivityMaintained
ResponsivenessNo issues