Skip to main content
Glama
khanarmaghanrasheed-18

Dataset Explorer MCP Server

Dataset Explorer MCP — Version 2

A lightweight Model Context Protocol (MCP) project for exploring CSV datasets through natural-language questions.

Version 1 focused on building the MCP server and testing its tools through MCP Inspector. Version 2 adds a custom MCP client with Google Gemini, allowing the LLM to dynamically choose and use dataset-analysis tools.

Certified Badge

M8ven Score

Related MCP server: Vibe Preprocessing and Analysis MCP Server

What It Does

The user selects a CSV dataset at runtime and asks questions in natural language. Gemini sees the tools exposed by the MCP server, decides which tool is appropriate, the custom client executes it, and the result is returned to Gemini for a readable answer.

The client also maintains in-memory conversation context for follow-up questions and includes safeguards to reduce unnecessary or repeated tool calls.

Architecture

User
  ↓
Google Gemini
  ↓  chooses tool
Custom MCP Client
  ↓  MCP
Dataset Explorer Server
  ↓
Python / Pandas
  ↓
CSV Dataset
  ↓
Tool Result → Gemini → User

The key idea is separation of responsibilities: Gemini handles reasoning and tool selection, the MCP client handles orchestration, and the MCP server provides deterministic dataset capabilities.

MCP Tools

Tool

What it does

get_dataset_overview

Returns feature names, data types, missing-value counts, and numerical/categorical columns.

dataset_shape

Returns the number of rows and columns.

dataset_statistical_summary

Calculates basic statistics such as mean, median, and mode.

inspect_Column

Summarizes one feature including data type, missing values, unique values, min/max/mean or common categorical values.

analyze_target

Analyzes a target variable and heuristically identifies classification or regression.

duplicate_finder

Finds duplicate observations in the dataset.

analyze_missing_values

Reports missing-value counts, percentages, affected rows, and basic suggestions.

find_correlations

Finds strongly correlated numerical feature pairs above a configurable threshold.

detect_outliers

Detects numerical outliers using the IQR method.

Dynamic Tool Selection

The client discovers tools from the MCP server and converts their schemas into Gemini-compatible function declarations.

There are no hardcoded rules such as:

if "outlier" in question:
    call_detect_outliers()

Instead, Gemini decides which available tool best answers the user's question.

"How many rows are there?"
        ↓
Gemini chooses dataset_shape
        ↓
MCP client executes it
        ↓
Server returns structured result
        ↓
Gemini produces the final answer

Conversation Context

Conversation history is maintained in memory during the session, allowing follow-up questions such as "Can this column be used for a machine-learning model?" to refer to a column discussed previously.

The client also limits repeated and unnecessary tool calls so simple questions generally require only the minimum analysis needed.

Project Structure

MCP-Dataset-Explorer/
├── mcp_server.py
├── mcp_client.py
├── README.md
├── pyproject.toml
├── uv.lock
└── .gitignore

Running the Project

Install the project dependencies and run:

python mcp_client.py

The client starts the MCP server through stdio, asks for a CSV dataset path, and opens the interactive natural-language query loop.

Tech Stack

Python · Pandas · Model Context Protocol (MCP) · FastMCP · Google Gemini · Google GenAI SDK · uv · MCP Inspector

Current Limitations

The project currently supports CSV datasets and focuses on exploratory analysis rather than training or modifying machine-learning models.

Future Improvements

  • Add visualizations generated from dataset analysis.

  • Build a simple web interface on top of the MCP client.

Purpose

This project was built to understand MCP beyond the server side by implementing the complete flow from LLM reasoning → MCP client orchestration → MCP server tools → external data.

Version 1 taught me how to expose capabilities through MCP. Version 2 helped me understand how an LLM-powered application can dynamically discover and use those capabilities.

Available Tools

9 tools
analyze_missing_valuesC

Reports columns with missing values in the dataset.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of disclosing behavior. However, it only states that it 'Reports columns with missing values' without specifying whether the tool is read-only, what the output format is, or any side effects. This lack of detail makes it insufficiently transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that immediately communicates the core function. It is perfectly sized for a simple tool with no unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of output schema and annotations, the description should provide more context about what 'missing values' means, what the report looks like (e.g., column names, counts), and how the parameter is used. The current description is too sparse to be fully complete for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one parameter 'path' with no description, and the tool description does not explain what 'path' refers to. Since schema coverage is 0%, the description should compensate, but it adds no meaning to the parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Reports columns with missing values in the dataset.' The verb 'Reports' combined with the resource 'columns with missing values' is specific and distinguishes it from sibling tools like dataset_shape or detect_outliers, which focus on other aspects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 does not mention any scenarios, prerequisites, or exclusions, and there is no reference to sibling tools, leaving the user to infer usage 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.

analyze_targetC

Gives a detailed summary of the target column.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
target_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It only states that the tool outputs a summary but does not reveal whether it is read-only, what side effects occur, or what the summary actually includes beyond a vague 'detailed summary'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with no wasted words, front-loading the core purpose. While it is brief, it could easily include more detail without losing conciseness, making it appropriately but not exceptionally structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Even with an output schema present, the description lacks essential context: what 'detailed summary' entails, how it differs from sibling summary tools, and any usage conditions. This is insufficient for an agent to correctly invoke the tool in a broader analysis workflow.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for parameter explanations. The phrase 'target column' hints that target_name refers to a column, but path is completely unexplained, and no further parameter meaning is added beyond the schema names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Gives a detailed summary of the target column' clearly states the tool's action (gives summary) and the resource (target column). However, it lacks specificity to distinguish from sibling tools like 'dataset_statistical_summary' or 'inspect_Column', which might also provide summaries.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. The description neither mentions context nor excludes other tools, leaving the agent without direction on selecting this tool over siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dataset_shapeB

Returns the number of rows and columns in a CSV dataset.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description provides no behavioral details beyond the return values. It does not say whether the operation is read-only, how errors are handled (e.g., missing file), or any performance implications. With no annotations provided, the description carries the full burden of transparency but fails to address these aspects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no unnecessary words. It is front-loaded with the core functionality and is appropriately sized for a tool of this simplicity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool that simply returns row/column counts and has an output schema, the description covers the essential purpose. The main gap is the lack of usage guidance, but the simplicity of the tool and the presence of an output schema reduce the need for extensive explanation. It is complete enough for an agent to understand the tool's role.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds some context by specifying that the dataset is a CSV, implying the 'path' parameter points to a CSV file. However, it does not explain the expected format of the path (local, URL, etc.) or provide examples. Since schema description coverage is 0%, the description partially compensates but remains minimal.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: returning the number of rows and columns for a CSV dataset. The verb 'Returns' paired with the resource 'CSV dataset' makes it distinct from sibling tools like dataset_statistical_summary or get_dataset_overview, which imply more comprehensive analyses.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 its siblings. There is no mention of alternatives, exclusions, or prerequisites. While the name 'dataset_shape' implies its use for dimensions, the description lacks explicit context to help an agent choose it over related tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dataset_statistical_summaryA

Returns the mean and median of every numerical feature.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries full responsibility. It adds the behavioral detail that only numerical features are included, but it does not disclose handling of non-numerical columns, missing values, or error cases.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that directly states the tool's function with no unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, output schema provided), the description covers the core functionality adequately. However, it lacks usage guidance and edge-case behavior, though the output schema fills in return value details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema's only parameter 'path' has no description, and schema description coverage is 0%. The description does not explain what 'path' refers to or provide any additional meaning beyond the parameter name.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it 'Returns the mean and median of every numerical feature,' specifying the exact output and resource. This distinguishes it from sibling tools like dataset_shape or get_dataset_overview, 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.

Usage Guidelines2/5

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 only states what it does, without mentioning use cases, exclusions, or comparisons to siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

detect_outliersC

Detects Outliers in the dataset.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It only says 'Detects', which implies a read-only analysis, but does not disclose the outlier detection method, whether the detection modifies the dataset, or what the return format looks like. This minimal information is insufficient for an agent to anticipate side effects or outputs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no fluff, which is concise, but it is so terse that it sacrifices meaningful content. It earns its place structurally but fails to convey necessary details, making it less effective as a specification.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple input schema (one parameter) and lack of output schema/annotations, the description is still inadequate. It does not explain return values, the nature of the outlier detection (statistical method), or any edge cases. This is barely more informative than naming the tool itself.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. The only parameter 'path' is not elaborated; the description says 'in the dataset' but does not clarify what 'path' refers to (file path, DataFrame path, etc.). No additional semantics are added over the bare schema definition.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Detects') and resource ('Outliers'), clearly indicating the tool's function. It distinguishes from sibling tools which are focused on overviews, summaries, and missing values, not outlier detection. However, it is somewhat generic and does not specify the method or output.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool versus alternatives. It neither specifies a scenario nor excludes any. The description implies usage for outlier detection but offers no context about prerequisite steps, dataset expectations, or how this fits into the analysis flow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

duplicate_finderC

Reports duplicate rows in the dataset.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'Reports duplicate rows' without specifying whether the operation is read-only, how duplicates are defined, or what the report format is. This is a significant gap for a data analysis tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no unnecessary words. It is appropriately sized and front-loaded, though it sacrifices important details in favor of brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite the existence of an output schema, the description remains vague about what 'reports' means—whether it returns a boolean mask, a list of indices, a DataFrame, or a summary. The description is too sparse to provide complete context for using the tool correctly, especially with no annotations to supplement it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, yet the description does not mention the 'path' parameter at all. The agent is left to infer what 'path' means, even though it is likely the dataset location. The description adds no semantic value beyond the schema's bare parameter name.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool reports duplicate rows, using a specific verb and resource. This distinguishes it from sibling tools like detect_outliers or find_correlations, which perform different analyses.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. The description only states the tool's function, leaving the agent to infer usage context on its own.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_correlationsA

Finds strongly correlated numerical feature pairs above a specified absolute threshold.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
thresholdNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

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 an absolute threshold is used and that it finds pairs, but does not mention whether the operation is read-only, how missing values are handled, or the exact nature of the output. It adds some behavior (absolute threshold) but lacks depth expected for an unannotated tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of twelve words, front-loaded with the action verb. Every word contributes meaning, with no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple analysis tool with an output schema, the description provides adequate core context. The main gap is the ambiguous 'path' parameter, but overall the tool's simplicity and output schema reduce the burden on the description. The threshold behavior is clearly disclosed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It clarifies that 'threshold' is an absolute threshold on correlation strength, but 'path' is left unexplained (likely a dataset path, but not stated). Only one of two parameters receives any semantic enhancement.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Finds strongly correlated numerical feature pairs above a specified absolute threshold' uses a specific verb ('finds') and resource ('correlated numerical feature pairs'), with a clear scope condition. It clearly distinguishes from sibling tools like dataset_shape or detect_outliers, which address different analysis tasks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for correlation analysis but provides no explicit guidance on when to use this tool versus alternatives, or any exclusions (e.g., non-numerical data). The context from sibling names suggests a data analysis suite, but no clear when-to-use/when-not-to-use is stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_dataset_overviewB

Returns dataset features, missing-value counts, categorical columns, numerical columns, and data types.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full transparency burden. It correctly implies a read-only operation via 'Returns' and lists the computed outputs, but it omits error behavior, path requirements, or any safety/performance notes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that is front-loaded with the primary verb and compactly lists all output elements. Every word earns its place with no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The output schema covers return values, but the path parameter is entirely unexplained and no usage guidance is offered. For a one-parameter tool, the description is incomplete and would leave an agent guessing about the required input.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides only the property name 'path' with no description, and the tool description never explains what 'path' refers to (file path, dataset identifier, etc.). With 0% schema description coverage, the description fails to compensate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Returns' and enumerates the exact resource contents (dataset features, missing-value counts, categorical columns, numerical columns, data types). This clearly distinguishes it from sibling tools like dataset_shape or analyze_missing_values, which focus on narrower aspects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or alternative guidance is provided. The use case is only implied by the descriptive output list; an agent would infer this is for a high-level overview but is not told when to prefer it over siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

inspect_ColumnC

Gives a detailed summary of a specific column/feature.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
col_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It only states the basic action of giving a summary, without mentioning error cases, side effects, or what the output format will be. This leaves the agent without enough information about what to expect.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, simple sentence with no wasted words. It is efficiently written, though it sacrifices completeness for brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with two parameters and no annotations, the description is too minimal. It doesn't explain what the detailed summary contains (e.g., data type, missing values) or what the output schema provides, making it incomplete for reliable tool selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has two parameters (path, col_name) with 0% description coverage. The description vaguely references 'specific column/feature' but does not explicitly explain that path is the dataset location and col_name is the column to inspect, which is insufficient for a low-coverage schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action ('Gives a detailed summary') and resource ('specific column/feature'), distinguishing it from sibling tools like get_dataset_overview and dataset_shape which operate at the dataset level. However, it lacks specificity about what the summary includes, leaving some ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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, such as get_dataset_overview or analyze_target. It does not mention prerequisites like the column needing to exist or the path referencing a dataset.

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.

  1. 9 tool updatesv0.1.0
    • First observedanalyze_missing_values
    • First observedanalyze_target
    • First observeddataset_shape
    • First observeddataset_statistical_summary
    • First observeddetect_outliers
    • First observedduplicate_finder
    • First observedfind_correlations
    • First observedget_dataset_overview
    • First observedinspect_Column

TDQS

B3/5.0
Disambiguation3/5

Some overlap exists between get_dataset_overview and analyze_missing_values, as both report missing-value counts. Additionally, inspect_Column and analyze_target are similar in nature, though they target different columns. Most other tools are clearly distinct.

Naming Consistency2/5

Naming is inconsistent: some tools use verb_noun format (get_dataset_overview, analyze_target, find_correlations) while others use noun phrases (dataset_shape, duplicate_finder). The tool inspect_Column mixes snake_case with camelCase.

Tool Count5/5

Nine tools is well-scoped for a dataset exploration server, covering essential analysis tasks without redundancy.

Completeness4/5

The tool set covers a broad range of dataset exploration needs including shape, stats, missing values, duplicates, correlations, and outliers. A data preview or column value counts would be a minor addition, but no critical gaps are apparent.

Maintenance

ActivityMaintained
ResponsivenessSyncing

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

Related MCP Servers

Latest Blog Posts

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/khanarmaghanrasheed-18/MCP-Dataset-Explorer'

If you have feedback or need assistance with the MCP directory API, please join our Discord server